> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nova.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

> Error codes the Nova API returns, and how to handle them.

Errors from `/v1` endpoints return an `Error` object. The token endpoint,
`/oauth/token`, returns OAuth 2.0 errors (`error` and `error_description`)
instead. A request body that is over 10 MB or can't be read gets a plain
`4xx` response without an `Error` object.

Its `code` identifies the error and `doc_url` links to the page for that code
below.

When a validation error is about specific parameters, `invalid-params` lists
them.

With an `Idempotency-Key`, most `4xx` responses are stored and replayed for
at least 24 hours. After fixing the request, send it with a new key.

```json theme={null}
{
  "object": "error",
  "type": "invalid_request_error",
  "code": "parameter_invalid_integer",
  "message": "One or more fields failed validation.",
  "status": 400,
  "doc_url": "https://docs.nova.net/errors/parameter_invalid_integer",
  "request_id": "1234567890",
  "invalid-params": [
    {
      "code": "parameter_invalid_integer",
      "name": "query.limit",
      "value": 200,
      "reason": "Too big: expected number to be <=100"
    }
  ]
}
```

Include `request_id` when you contact support.

| Code | Status | Type | Meaning |
| - | - | - | - |
| [`parameter_missing`](https://docs.nova.net/errors/parameter_missing) | `400` | `invalid_request_error` | A required parameter is missing. |
| [`parameter_unknown`](https://docs.nova.net/errors/parameter_unknown) | `400` | `invalid_request_error` | The request contains an unrecognized field. |
| [`parameter_invalid`](https://docs.nova.net/errors/parameter_invalid) | `400` | `invalid_request_error` | A parameter has an invalid value. |
| [`parameter_invalid_string`](https://docs.nova.net/errors/parameter_invalid_string) | `400` | `invalid_request_error` | A string parameter has an invalid format or length. |
| [`parameter_invalid_string_empty`](https://docs.nova.net/errors/parameter_invalid_string_empty) | `400` | `invalid_request_error` | A string parameter is empty. |
| [`parameter_invalid_integer`](https://docs.nova.net/errors/parameter_invalid_integer) | `400` | `invalid_request_error` | A numeric parameter is invalid or out of range. |
| [`validation_error`](https://docs.nova.net/errors/validation_error) | `400` | `invalid_request_error` | The request is invalid for a reason that has no more specific code. |
| [`unauthorized`](https://docs.nova.net/errors/unauthorized) | `401` | `authentication_error` | The access token is missing, invalid, or expired. |
| [`forbidden`](https://docs.nova.net/errors/forbidden) | `403` | `permission_error` | The token lacks the required scope or organization access. |
| [`resource_not_found`](https://docs.nova.net/errors/resource_not_found) | `404` | `not_found_error` | The resource does not exist. |
| [`request_timeout`](https://docs.nova.net/errors/request_timeout) | `408` | `request_timeout_error` | The request timed out before it completed. |
| [`conflict`](https://docs.nova.net/errors/conflict) | `409` | `conflict_error` | The request conflicts with the current state of a resource. |
| [`idempotency_mismatch`](https://docs.nova.net/errors/idempotency_mismatch) | `422` | `unprocessable_entity_error` | An Idempotency-Key was reused with a different request. |
| [`rate_limit_exceeded`](https://docs.nova.net/errors/rate_limit_exceeded) | `429` | `rate_limit_error` | Too many requests were sent. |
| [`internal_error`](https://docs.nova.net/errors/internal_error) | `500` | `api_error` | An unexpected error occurred on the server. |
| [`not_implemented`](https://docs.nova.net/errors/not_implemented) | `501` | `api_error` | The operation is not supported yet. |
| [`bad_gateway`](https://docs.nova.net/errors/bad_gateway) | `502` | `api_error` | An upstream service failed. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.