OpenAI chat list of error codes and types

Sorry😞for the delay in my response Omar. While the OpenAI API may not provide error responses in the exact format you mentioned, error types

  • APIError 2: This error indicates an issue on the OpenAI side.
  • Timeout: It occurs when a request timed out.
  • APIConnectionError: This error is caused by issues connecting to our services.
  • InvalidRequestError: It occurs when your request was malformed or missing some required parameters.
  • AuthenticationError: This error is caused by an invalid, expired, or revoked API key or token.
  • PermissionError: It happens when your API key or token lacks the required permissions.
  • RateLimitError: This error is triggered when you’ve hit your assigned rate limit.
  • ServiceUnavailableError: This error is caused by issues on our servers.

error codes in your PHP integration, you can use the below mappings:

$errorMappings = [
    'invalid_request_error' => [
        'code' => '400',
        'description' => 'Your request was malformed or missing some required parameters.',
    ],
    'rate_limit_error' => [
        'code' => '429',
        'description' => 'You have hit your assigned rate limit.',
    ],
    'tokens_exceeded_error' => [
        'code' => '403',
        'description' => 'You have exceeded the allowed number of tokens in your request.',
    ],
    'authentication_error' => [
        'code' => '401',
        'description' => 'Your API key or token was invalid, expired, or revoked.',
    ],
    'not_found_error' => [
        'code' => '404',
        'description' => 'The requested resource was not found.',
    ],
    'server_error' => [
        'code' => '500',
        'description' => 'An issue occurred on the OpenAI server side.',
    ],
    'permission_error' => [
        'code' => '403',
        'description' => 'Your API key or token lacks the required permissions for the requested action.',
    ],
];

// You can access the error details hhere:
$errorType = 'rate_limit_error';
$errorCode = $errorMappings[$errorType]['code'];
$errorDescription = $errorMappings[$errorType]['description'];

Omar, I hope this helps!

2 Likes