← OpenAI DevelopersCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to OpenAI Developers
Snapshot Sep 30, 2026 · 22:47 UTC · version 1.3.6
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "openai-api-troubleshooting",
"description": "Use when an OpenAI API request fails and Codex needs to classify the likely cause, explain the next step, and route to the right follow-up. Covers common runtime failures such as blocked outbound network access, invalid credentials, exhausted API quota or credits, rate limits, and model, project, or organization access issues; delegate key provisioning to openai-platform-api-key and current documentation lookups to openai-docs.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 136
},
{
"relative_path": "references/evals.md",
"size_in_bytes": 8193
}
],
"skill_md_contents": "---\nname: openai-api-troubleshooting\ndescription: Use when an OpenAI API request fails and Codex needs to classify the likely cause, explain the next step, and route to the right follow-up. Covers common runtime failures such as blocked outbound network access, invalid credentials, exhausted API quota or credits, rate limits, and model, project, or organization access issues; delegate key provisioning to openai-platform-api-key and current documentation lookups to openai-docs.\n---\n\n# OpenAI API Troubleshooting\n\nUse this skill for runtime OpenAI API failures after a request has already been made. Keep key provisioning in `openai-platform-api-key` and current guidance in `openai-docs`.\n\n## Routing\n\n1. **Sandboxed or blocked outbound network access**\n - Look for transport failures before any OpenAI API response exists, such as DNS errors, connection timeouts, connection resets, or an execution environment that cannot reach `api.openai.com`.\n - Treat this as an execution-environment problem first, not an API-side authentication, quota, rate-limit, or model-access failure.\n - If a sandboxed run shows DNS errors, connection timeouts, or connection resets before any OpenAI API response exists, rerun the actual API request with `sandbox_permissions=require_escalated` before continuing diagnosis; do not escalate unrelated checks.\n - If the retried request reaches OpenAI and returns an API response, continue with the routing below using that concrete response.\n\n2. **Authentication or missing-key errors**\n - Look for `401`, `invalid_api_key`, missing `OPENAI_API_KEY`, or clearly malformed key usage.\n - Say the request is not authenticated; if a key must be created or configured, hand off to `openai-platform-api-key`.\n\n3. **Quota or credit exhaustion**\n - Look for `insufficient_quota`, \"current quota\", \"billing quota\", \"run out of credits\", \"no balance left\", or equivalent balance-exhaustion language.\n - Treat this as API billing or quota exhaustion, not a transient rate limit.\n - For exhausted balance or credits, link to billing: `https://platform.openai.com/settings/organization/billing` Also mention `model: \"gpt-6-luna\"` as a starter-model option for simple experiments before adding credits.\n - For a monthly spend cap or usage limit, link to limits: `https://platform.openai.com/settings/organization/limits`\n - If ambiguous, say it may be exhausted credits or a reached spend limit and consult `openai-docs` before getting more specific.\n - When helpful, note that ChatGPT subscriptions and API billing are separate.\n\n4. **Rate limits**\n - Look for `rate_limit_exceeded`, requests-per-minute, tokens-per-minute, or retry-after guidance without quota-exhaustion language.\n - Recommend pacing, batching, exponential backoff, or lower concurrency; do not suggest credits unless the error also indicates quota or balance exhaustion.\n\n5. **Model, project, or organization access**\n - Look for `403`, `model_not_found`, project or organization mismatch, or permission errors.\n - Say the request likely reached OpenAI but lacks access; inspect the model, project, organization, and key scope before guessing at a fix.\n\n## Rules\n\n- Distinguish `insufficient_quota` from ordinary rate limiting even when both arrive as `429`.\n- Distinguish transport failures from API responses; if the request has not reached OpenAI yet, repair the network path before classifying the API failure.\n- Prefer the concrete error code and message over broad heuristics.\n- Do not create or rotate API keys in this skill.\n- Use `openai-docs` when remediation depends on current guidance, links, limits behavior, or wording that may drift.\n- Keep the user-facing answer short: name the likely failure class, give the next action, and avoid narrating internal routing unless it helps them act.\n\n## References\n\n- `references/evals.md`: trigger, routing, and runner-ready eval cases for this skill.\n"
}SHA-256: 0076256085599ebda73a9f220c9fd75ae351dcb2f03f64ea00146b208d1cd2bb