Files
codex-oauth-plus-onboarding…/skill/codex-oauth-plus-onboarding/references/openai-phone-free-country-vietnam-sms-success-codex2api-region-block-2026-05-10.md

3.1 KiB

Free-country phone verification run: first SMS success (2026-05-10)

Request

BOSS asked to remove country restrictions and let the runner choose countries freely:

No fixed region limit
At most 2 attempts per region
20 total attempts if needed

Runner

Scripts:

/tmp/phone_verify_free_country_2each_total20.py
/tmp/phone_verify_free_country_2each_total20_part2.py

Logs:

/tmp/phone_verify_free_country_2each_total20.log
/tmp/phone_verify_free_country_2each_total20_part2.log

Policy:

- strict OpenAI country/area-code gate before buying
- only real 5sim activations count toward the budget
- max 2 real attempts per country
- skip `no free phones` without counting
- probe resend channel; cancel if WhatsApp under SMS-only policy

Result summary

Real 5sim activations before success:

19

Country distribution of real activations:

{
  "vietnam": 2,
  "argentina": 2,
  "netherlands": 2,
  "italy": 2,
  "poland": 2,
  "spain": 2,
  "germany": 2,
  "romania": 2,
  "indonesia": 1,
  "england": 1,
  "portugal": 1
}

Countries skipped because 5sim returned no free phones:

philippines, malaysia, thailand, india, brazil, mexico, colombia, peru,
chile, turkey, southafrica, kenya, nigeria, ghana, egypt, france,
croatia, serbia, bulgaria, ukraine, georgia, kazakhstan, pakistan,
bangladesh, srilanka, cambodia, laos

SMS success:

{
  "country": "vietnam",
  "attempt": 19,
  "activation_id": 1006871765,
  "status": "FINISHED"
}

The runner received the 5sim SMS on poll round 1, submitted the code, and OpenAI advanced from phone verification to the profile/about-you page. The profile page was then completed and the flow reached the Codex OAuth consent page.

OAuth/Codex2API status

OpenAI/Codex authorization consent succeeded and produced a localhost callback URL:

http://localhost:1455/auth/callback?code=[REDACTED]&state=[REDACTED]

Submitting that callback to Codex2API failed during token exchange:

unsupported_country_region_territory
Country, region, or territory not supported

Codex2API accounts remained empty:

{"accounts":[]}

The Codex2API admin settings initially had:

{"proxy_url":""}

The agent set proxy_url to the 1085 proxy and generated a fresh OAuth callback, but token exchange still returned the same OpenAI 403. This means either:

  1. Codex2API's OAuth token exchange path does not use proxy_url, or
  2. the Codex2API host cannot use/reach that proxy for OpenAI token exchange, or
  3. the chosen proxy/egress is still considered unsupported for server-side token exchange.

Conclusion

The phone-verification problem is solved at least once under free country selection:

Vietnam 5sim openai SMS activation succeeded.

The remaining blocker is no longer SMS/phone verification. It is Codex2API server-side OAuth token exchange being rejected by OpenAI as unsupported region. Fix Codex2API's outbound proxy for token exchange, then redo the final OAuth callback using the already phone-verified account/session or a fresh OAuth URL.