GPT Image 2.5 is live — OpenAI's newest image model, targeted edits that leave the rest of the frame alone
unsupported_country_region_territory
2026/10/23

unsupported_country_region_territory

What the OpenAI region error means, how to separate API rejection from Codex sign-in failure, and the official checks for supported locations and account access.

unsupported_country_region_territory is a region-access rejection, not a token-price or context-window problem. OpenAI's API error guide describes 403 — Country, region, or territory not supported as access from an unsupported location and directs users to its supported-country list[1]. If the same detail appears during Codex token exchange, identify it as a sign-in failure before trying model or streaming settings.

The useful first step is to locate the failed operation: API inference, ChatGPT browser access, or Codex authentication. This guide uses official documentation and a fixed Codex source revision, checked October 23, 2026. It explains the supported troubleshooting path without treating a different endpoint, another model or a new API key as a way around a provider's regional access rules.

  • Match the message, not just 403. Preserve the structured error and the service that returned it. The region explanation applies when the error actually names country, region or territory[1].
  • Use the correct list. OpenAI publishes an API country list and a ChatGPT web/mobile list[2][3].
  • Separate login from inference. A rejected Codex /oauth/token exchange happens in authentication, before that flow can supply usable credentials[4].
  • Use the supported-location recovery steps only in their stated situation. OpenAI documents browser cleanup for people who have returned to a supported region and still see an incorrect location error[5].

403 unsupported_country_region_territory

The API guide's 403 region entry is separate from its authentication, rate-limit and server-error entries[1]. That distinction matters because changing an unrelated setting can obscure the original evidence without resolving the rejected condition.

What the observed response saysWhat to check first
Country, region or territory not supportedThe supported locations for that service and the location from which the request is made
Invalid authentication or incorrect API keyThe credentials and organization used by that request
Rate limit or exhausted credit balanceThe precise error code, limiting dimension or balance condition
No HTTP response, with a connection failureThe network failure and the host being contacted

The table is a diagnostic separation, not a claim that the same HTTP status means the same thing on every provider. OpenAI's documented categories support the first checks; a third-party gateway can have its own error mapping[1].

For an API workload, identify the process that actually sends the request. A local CLI, a remote development machine and a deployment runner are separate execution environments. Record which one failed. Opening a website successfully on your laptop does not test an API request made by a remote process. This is an operational check to locate the request, not a suggestion to relocate it to evade an access restriction.

Read the official list for the relevant service. Do not infer support from an account's creation date, a model name or a subscription receipt. OpenAI warns that accessing or offering its services outside its listed countries and territories can lead to an account being blocked or suspended[2]. If the actual location is unsupported, stop retries aimed at the same rejected access and use the provider's support process for account questions.

When the location is supported but the error persists, preserve enough detail for support to identify the request: the service, operation, approximate time and time zone, client version, exact status and error text, and request ID when available. Describe the actual environment accurately. Do not post credentials, session cookies, authorization codes or private prompt content in a public issue.

unsupported_country_region_territory codex

A Codex message that includes Token exchange failed and a token-endpoint 403 concerns a different stage from a failed model response. In the inspected source revision, exchange_code_for_tokens sends an authorization-code exchange to the issuer's /oauth/token endpoint. A rejected exchange becomes a login error. The rejection formatter includes the returned status, sanitized error detail and a request ID when one is available[4][6].

Those details explain why the complete message matters. Token exchange failed names the stage; 403 names the status; the following country/region detail describes the rejection. A generic token-exchange failure without that detail is not enough to diagnose a region restriction.

If sign-in has not completed, investigate the sign-in rejection. Changing reasoning_effort, choosing a smaller model or increasing an SSE idle timeout addresses settings on a later model request. Those changes do not resolve the rejected token exchange described by this source path. Avoid repeatedly rewriting a working model configuration while the authentication stage remains the problem.

If sign-in completed and a model request then failed, retain that request's own error and host. Do not assume a browser login proves that a separately configured API provider accepted its credentials. Codex's official authentication documentation distinguishes ChatGPT sign-in for subscription access from API-key sign-in for usage-based access, and describes different account and workspace controls for those paths[7].

For a managed environment, a useful support report identifies the sign-in method and workspace without including the credential itself. State whether the failure was in the browser callback, token exchange or subsequent API request. This keeps the support conversation about the component that rejected access, rather than asking an administrator to change model access before login has succeeded.

The source references here are pinned to revision c2d5ea52e1b7ab11ee2d71dc44ea1ef00f9c8eb3. They explain that implementation's error path; they do not establish that every client release formats its message identically. Keep your installed client version in the report so the maintainer can compare the correct implementation.

If the failure instead mentions a closed response stream, use the Codex stream-disconnection guide. If a model-discovery step fails after authentication, the GPT-6 Astra migration guide separates model IDs, request protocols and tool requirements. These are different troubleshooting branches, not alternative treatments for a confirmed regional restriction.

ChatGPT unsupported country, region territory

ChatGPT browser access has its own supported-country reference. Consult that page rather than treating an API model catalog as a list of countries where the ChatGPT app is available[3].

OpenAI documents a particular recovery case: someone visits an unsupported region, connects there with a device, returns to a supported region, and still sees an unsupported-country error. In that situation, its guidance is to clear browser cache and cookies, then try another browser or an incognito window; if the issue persists, contact support. The same article says people traveling in an unsupported region may have trouble accessing their existing account[5].

The condition is essential. Browser cleanup is a way to investigate an incorrect error after returning to a supported location. It does not change the provider's list of supported locations. A subscription also does not remove those location conditions. OpenAI's guidance directs people who can no longer use the service to support, including help with subscription cancellation[5].

Keep the browser problem and API configuration separate while checking them. After a browser change, note whether the same sign-in attempt now succeeds and whether the original error remains. If you then run a CLI or server process, evaluate its result independently. A cleared browser session is not evidence that an API key, a remote runner or a model route has changed.

A different API provider is a separate service with its own eligibility, billing and protocol requirements. It does not repair an OpenAI login or grant permission to ignore OpenAI's access conditions. In particular, the current Codex provider configuration documents only responses for wire_api; reAPI's published Chat Completions contract is not that protocol. This guide therefore does not offer switching Codex to reAPI as a fix[8][9].

Why is my ChatGPT country or region not supported?

Check the current ChatGPT supported-country list and your actual access location. If you have returned to a supported location but still see the error, follow OpenAI's browser-cleanup and support steps described above. The error alone does not establish whether your case is an unsupported location or a persisting location error; support can investigate the account-specific case[3][5].

Which country cannot use ChatGPT?

Use OpenAI's current positive list of supported countries and territories rather than an uncited list of “banned countries.” Its page describes service availability, not a finding about each country's laws[3]. This article deliberately does not duplicate a country table that could become stale. When reporting unsupported_country_region_territory, include the exact service and failed operation so the relevant support team can apply the correct access rules.

References

  1. OpenAI. API error codes. Checked October 23, 2026. developers.openai.com/api/docs/guides/error-codes
  2. OpenAI. API supported countries and territories. Checked October 23, 2026. developers.openai.com/api/docs/supported-countries
  3. OpenAI. ChatGPT supported countries. Checked October 23, 2026. help.openai.com/en/articles/7947663
  4. OpenAI. Codex login authorization-code exchange, revision c2d5ea52. Source inspected October 23, 2026. login/src/server.rs
  5. OpenAI. ChatGPT and API services in unsupported countries and territories. Checked October 23, 2026. help.openai.com/en/articles/9131992
  6. OpenAI. Codex token rejection errors, revision c2d5ea52. Source inspected October 23, 2026. login/src/oauth/error.rs
  7. OpenAI. Authentication. Checked October 23, 2026. learn.chatgpt.com/docs/auth
  8. OpenAI. Configuration reference. Checked October 23, 2026. learn.chatgpt.com/docs/config-file/config-reference
  9. reAPI. GPT-6 Astra public request contract. Checked October 23, 2026. reapi.ai/docs/gpt-6-astra