Skip to content

OpenAI API errors

OpenAI error 500: The server had an error while processing your request

OpenAI defines this as its own failure: the request reached the API and something went wrong while it was being handled.

What the error says

HTTP status 500, type server_error, with the message:

The server had an error while processing your request. Sorry about that!

Is the OpenAI API down right now?

OpenAI's own status page

OpenAI reports an incident on its status page: ChatGPT Issues.

Impact: minor. Since 2026-11-05 15:25 UTC.

Latest update, 2026-11-05 15:30 UTC: We’re investigating a potential issue for the listed services and checking how it affects users. We’ll share an update when we know more.

OpenAI's status page

Checks passingOur checks of the OpenAI API

As of Nov 5, 2026, 3:42 PM UTC, RealUptime's checks of OpenAI passed in all 10 regions that returned a reading.

Our checks of the OpenAI API pass right now. They send a few small requests, so they cannot see load on the model you call: a 500 can still come from OpenAI while they pass. Compare with OpenAI's own status.

Every region, response time and incident history for OpenAI

What it means

OpenAI returns 500 when its servers fail while handling a request that was otherwise valid. Single 500s happen at normal times and usually clear on a retry; a run of them across requests is the sign to check OpenAI's status and our reading below.

Is it you or them? Usually OpenAI's: it uses this code for failures or load on its own side.

Common causes

  • A transient failure on OpenAI's servers.
  • An incident affecting the model or endpoint you call.
  • Rarely, a request shape that trips a server bug: if one request fails every time while others pass, change it and report it to OpenAI.

How to fix it

  1. Retry with exponential backoff, as in the snippet below.
  2. If the errors continue, compare the time with our reading and OpenAI's status below.
  3. Fall back to another model, or queue the work, while an incident is open.
  4. If one request fails every time while everything else passes, contact OpenAI with the request id from the response headers.

Retry with backoff

A retry loop that waits as long as OpenAI asks, else doubles the wait with random jitter so many clients do not retry in step:

// Retry OpenAI 500 errors with backoff and jitter.
const RETRYABLE = new Set([429, 500, 502, 503, 504, 529]);

async function withRetry(call: () => Promise<Response>, maxAttempts = 5): Promise<Response> {
  for (let attempt = 1; ; attempt++) {
    const response = await call();
    if (!RETRYABLE.has(response.status) || attempt === maxAttempts) return response;
    // Wait as long as the provider asks, else 1s, 2s, 4s... with full jitter.
    const retryAfter = Number(response.headers.get("retry-after"));
    const delayMs = retryAfter > 0 ? retryAfter * 1000 : Math.random() * 1000 * 2 ** (attempt - 1);
    await new Promise((resolve) => setTimeout(resolve, delayMs));
  }
}

See these errors grouped, and know when the API is down

RealUptime Errors takes errors from any Sentry SDK. Tag each failed call with the provider, status and model, and errors from the same code group into one issue with its count and first and last time seen, so a run of 500s shows up as one rising issue instead of a flood:

import * as Sentry from "@sentry/node";

// The DSN from your RealUptime Errors project settings.
Sentry.init({ dsn: process.env.REALUPTIME_ERRORS_DSN });

if (!response.ok) {
  Sentry.captureException(new Error(`OpenAI ${response.status}`), {
    tags: { ai_provider: "openai", ai_status: response.status, ai_model: model },
    fingerprint: ["openai", String(response.status)],
  });
}

RealUptime Monitor can check an API endpoint from several regions every minute and alert you when it fails, and the OpenAI outage page can alert you when OpenAI reports an incident. Both are free to start.

Start Errors free

Related errors

OpenAI's own reference: platform.openai.com/docs/guides/error-codes. How our checks work: methodology.