Step 1 / API key
Connect Codex to Tekiz.
Create an API key in about 60 seconds. No credit card required.
Already have an account? Recover API key.Step 2
Add the Codex profile.
Replace the placeholder with the sk_sage_* key from
your account. The profile starts with
sage-router/auto.
export SAGE_ROUTER_API_KEY=sk_sage_your_key_here
mkdir -p ~/.codex
cat > ~/.codex/sage-router-hosted.config.toml <<'TOML'
model_provider = "sage-router-hosted"
model = "sage-router/auto"
[model_providers.sage-router-hosted]
name = "Tekiz Hosted"
base_url = "https://api.tekiz.ai/v1/"
env_key = "SAGE_ROUTER_API_KEY"
wire_api = "responses"
TOML
codex --profile sage-router-hosted
Step 3
Verify before starting Codex.
A successful model-list response confirms that the endpoint and key are valid.
curl https://api.tekiz.ai/v1/models \
-H "Authorization: Bearer $SAGE_ROUTER_API_KEY"
codex --profile sage-router-hosted
Use a local or Tailnet Tekiz instead
Local profile
Connect through port 8790.
export SAGE_ROUTER_API_KEY=local
mkdir -p ~/.codex
cat > ~/.codex/sage-router-local-frontier.config.toml <<'TOML'
[model_providers.sage-router-local]
name = "Tekiz Local"
base_url = "http://127.0.0.1:8790/v1/"
env_key = "SAGE_ROUTER_API_KEY"
wire_api = "responses"
model_provider = "sage-router-local"
model = "sage-router/frontier"
TOML
codex --profile sage-router-local-frontier
Tailnet profile
Connect to a private host.
export SAGE_ROUTER_API_KEY=local
mkdir -p ~/.codex
cat > ~/.codex/sage-router-tailnet-frontier.config.toml <<'TOML'
[model_providers.sage-router-tailnet]
name = "Tekiz Tailnet"
base_url = "http://<tailnet-host>:8790/v1/"
env_key = "SAGE_ROUTER_API_KEY"
wire_api = "responses"
model_provider = "sage-router-tailnet"
model = "sage-router/frontier"
TOML
codex --profile sage-router-tailnet-frontier
| Status | Likely cause | Next action |
|---|---|---|
| 401 | The Codex environment variable is missing, revoked, or not the key expected by the selected provider. |
Check env_key, regenerate a hosted
sk_sage_* key, or set the local router token.
|
| 402 | The hosted account plan, quota, or billing state blocks model traffic. | Finish checkout, choose a plan, or review usage on the account page. |
| 429 | The account or router is rate limited. | Reduce Codex concurrency, retry later, or upgrade the hosted plan limit. |
| 503 | No authorized healthy backend route is currently available. | Check public status, local provider credentials, router health, and fallback policy. |
For response headers, safe curl probes, and no-secret support context, use the hosted API troubleshooting page.
Support boundary
Keep prompts and secrets out of support requests.
Do not paste prompts, provider credentials, OAuth tokens, generated API keys, private keys, session cookies, raw provider responses, or customer data into public support channels. Safe troubleshooting context is limited to account email, plan, timestamp, request id, HTTP status, safe error class, and non-secret key prefix.