Data residency per request
⚠️
Preview — this feature is being built; the design below is the spec.
An organization sets a default processing region in its residency settings. A request can also name a region itself with the region field, for example to keep an EU customer’s request in the EU while the rest of your traffic uses the default.
Request
{
"model": "Amara S1.2",
"region": "eu",
"messages": [{ "role": "user", "content": "Fasse diese Beschwerde zusammen: …" }]
}| Value | Processing happens in |
|---|---|
us | United States |
eu | European Union |
global | Any region with capacity. The lowest latency and the highest availability. |
Without region, the workspace’s region applies, then the organization default.
Rules
- The region must be in the organization’s
allowed_regions. Otherwise:403 region_mismatch. - A workspace whose region is
lockedrefuses any other value with403 region_mismatch. - Files, batches, memory stores and agent sessions are stored in the region they were created in. A request in
euthat references a file stored inusis refused with400 cross_region_resource, so data is never moved between regions silently. - Not every model is offered in every region.
GET /v1/models?region=eulists the models available there.
Response
The response header syntic-region names the region that processed the request. Log it if you must prove residency to customers or auditors.
Price
Proposed — not offered. Whether pinning us or eu costs more than global is an owner-level commercial decision that has not been made; no surcharge is offered or set. The cost report design includes region as a grouping so any difference would be visible.
Related
Was this page helpful?