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

# Errors

> Error envelope, status codes, and how to debug.

All errors share the same envelope:

```json theme={null}
{
  "error": {
    "code": "invalid_input",
    "message": "source_url must be an HTTPS URL",
    "request_id": "req_a1b2c3d4e5f6"
  }
}
```

Include the `request_id` (also returned in the `x-request-id` response
header) when contacting support.

## Status codes

| Status | When you'll see it |
| - | - |
| `400 invalid_input` | Body validation failed. |
| `401 missing_credentials` | No `Authorization` header. |
| `401 invalid_credentials` | Key is malformed, unknown, or revoked. |
| `403 insufficient_scope` | Key doesn't have the required scope. |
| `404 not_found` | Video doesn't exist or belongs to another organization. |
| `429 rate_limited` | RPM exceeded. Wait `retry-after` seconds. |
| `429 daily_ingest_limit` | Daily ingest budget exhausted. |
| `500 internal_error` | Eden-side problem. Retry with backoff. |

<Note>
  404 vs 403: we return 404 when a video belongs to a different organization
  so we don't reveal the existence of other partners' content.
</Note>

## Retry strategy

| Code | Retry? |
| - | - |
| 4xx | No — fix the request first. |
| 429 | Yes — after `retry-after` seconds. |
| 5xx | Yes — exponential backoff with jitter, \~5 attempts. |

Reasonable backoff: 1s, 2s, 4s, 8s, 16s (each with ±25% jitter).


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