Skip to content
Rush Commerce
Software & Dev3 min read

OpenAI API: pick a processing region per request

OpenAI now lets you select regional processing on individual API requests with a prefixed domain, instead of standing up a separate project per region.

If you have one customer in Frankfurt and the rest in Phoenix, data residency used to mean running two OpenAI projects, two sets of keys, and a branch in your code deciding which client to instantiate. OpenAI just collapsed that: you can now choose the processing region on a single request.

What actually happened

Per the OpenAI API changelog on August 21, you can select regional processing for an individual request by calling a prefixed domain with an API key from a project set to Global geography. The data controls guide documents the prefix per region.

The fine print matters more than the feature:

  • Existing eligibility, retention-control, endpoint, and model-support requirements still apply. A region you can name is not automatically a region every model and endpoint serves.
  • Residency and processing are different guarantees. Data residency stores your content at rest in the region for endpoints that persist data. Regional processing means inference also runs there. Where a region doesn't support regional processing, OpenAI may process and temporarily store content outside it.
  • Residency is currently offered across Europe, the UK, the US, Canada, Japan, South Korea, Singapore, India, Australia, and the UAE.

Why per-request data residency matters for your business

You delete an entire class of infrastructure. One project, one key, one client. The region becomes a parameter instead of a deployment topology. If you were putting off an EU customer because it meant a parallel stack, that reason is gone.

The routing decision moved into your code, which means it's now yours to prove. A per-project setup was auditable by configuration — someone could read the console and see it. A per-request setup is auditable only if you log it. Record the chosen region on every call, next to the request ID, before you turn this on. When a customer's compliance team asks where their data was processed, "we set a header" is not an answer; a queryable log is.

Default deliberately. A Global-geography project that forgets the prefix processes globally and returns 200. Make the region an explicit, required argument in your internal wrapper, with no default. Silent fallback is the failure mode here, and it fails quietly.

Check model support per region before you promise anything. The regions list is not the model matrix. Verify that the specific model you depend on is served where you need it — and have a documented answer for what your app does when it isn't.

Key takeaways

  • OpenAI now supports per-request regional processing via a prefixed domain and a Global-geography API key (August 21)
  • This replaces standing up a separate region-scoped project and key set per jurisdiction
  • Data residency (storage) and regional processing (inference) are distinct — not every region supports both
  • Log the region on every request; per-request routing is only auditable if you record it
  • Require the region explicitly in your API wrapper — an omitted prefix silently processes globally

Compliance you can show, not just claim. We build AI integrations with the region, the model, and the cost logged per call, so audits are a query instead of a fire drill. Talk to us.

Sources: OpenAI API changelog, OpenAI data controls guide.

  • #openai
  • #data-residency
  • #api
  • #compliance
  • #architecture
TR

Tommy Rush — Founder, Rush Commerce

Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More

Get The Rush Report weekly — one email, zero fluff.