> ## Documentation Index
> Fetch the complete documentation index at: https://api-doc.xmenu.it/llms.txt
> Use this file to discover all available pages before exploring further.

# General error codes

> Error codes common to all API requests

Possible error codes common to all requests returned via the `error` property when a request fails.

<Note>
  When using **OAuth 2.0 authentication**, errors with HTTP status 400, 401, or 403 follow a different format. See the [Error responses with OAuth](/docs/en/overview/authentication#error-responses-with-oauth) section in Authentication.
</Note>

### Authentication and authorization errors

These errors include the appropriate HTTP status code in the response:

<ResponseField name="RESTAURANT_NOT_FOUND" type="error">
  **HTTP 401** - The restaurant was not found
</ResponseField>

<ResponseField name="INVALID_KEY" type="error">
  **HTTP 401** - The provided API key is not valid
</ResponseField>

<ResponseField name="INVALID_AUTH" type="error">
  **HTTP 401** - Client Id/Secret authentication failed
</ResponseField>

<ResponseField name="API_DISABLED" type="error">
  **HTTP 403** - API access is not enabled for the restaurant
</ResponseField>

<ResponseField name="INSUFFICIENT_SCOPE" type="error">
  **HTTP 403** - Permissions do not cover the required scope for the operation. Additional details are provided in the message field
</ResponseField>

<ResponseField name="UNAUTHORIZED" type="error">
  **HTTP 403** - The API client cannot access the specified resource
</ResponseField>

### Other errors

These errors return **HTTP 200** with error details in the response body:

<ResponseField name="INVALID_ACTION" type="error">
  The requested action is not valid
</ResponseField>

<ResponseField name="VALIDATION_ERROR" type="error">
  The data did not pass validation. Details are provided in the message field
</ResponseField>

<ResponseField name="MISSING_PARAMETER" type="error">
  Required parameters are missing
</ResponseField>

<ResponseField name="RATE_LIMIT_EXCEEDED" type="error">
  Exceeded the per-minute call limit
</ResponseField>

<ResponseField name="INTERNAL_ERROR" type="error">
  A server-side error occurred. Details are provided in the message field
</ResponseField>
