> ## 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.

# Quickstart

> Ingest your first video in five minutes.

## 1. Set your API key

<CodeGroup>
  ```bash macOS / Linux theme={null}
  export EDEN_API_KEY="eden_live_xxxxxxxxxxxxxxxxxxxxxxxx_yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
  ```

  ```powershell Windows theme={null}
  $env:EDEN_API_KEY = "eden_live_xxxxxxxxxxxxxxxxxxxxxxxx_yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
  ```
</CodeGroup>

<Warning>
  Treat your API key like a password. Never embed it in client code or commit
  it to source control.
</Warning>

## 2. Submit a video

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.myeden.me/v1/videos \
    -H "Authorization: Bearer $EDEN_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "source_url": "https://cdn.example.com/highlights/game-7.mp4",
      "title": "Game 7 — Final Two Minutes",
      "tags": ["nba", "playoffs"],
      "sport": "basketball"
    }'
  ```

  ```javascript Node.js theme={null}
  const res = await fetch('https://api.myeden.me/v1/videos', {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.EDEN_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      source_url: 'https://cdn.example.com/highlights/game-7.mp4',
      title: 'Game 7 — Final Two Minutes',
      tags: ['nba', 'playoffs'],
      sport: 'basketball',
    }),
  });
  const { id } = await res.json();
  console.log('Ingested', id);
  ```

  ```python Python theme={null}
  import os, requests

  res = requests.post(
      "https://api.myeden.me/v1/videos",
      headers={"Authorization": f"Bearer {os.environ['EDEN_API_KEY']}"},
      json={
          "source_url": "https://cdn.example.com/highlights/game-7.mp4",
          "title": "Game 7 — Final Two Minutes",
          "tags": ["nba", "playoffs"],
          "sport": "basketball",
      },
  )
  print(res.json())
  ```
</CodeGroup>

Response:

```json theme={null}
{
  "id": "vid_a7Kp9mNqR2vXyB4dH6jL8s",
  "status": "processing",
  "resource_url": "/v1/videos/vid_a7Kp9mNqR2vXyB4dH6jL8s",
  "message": "Video accepted. It typically takes 2–5 minutes to become available."
}
```

**Save the `id`.** You'll use it to check status, archive, republish, or
delete this video. Store it in your CMS alongside the source URL.

## 3. Check status

```bash theme={null}
curl https://api.myeden.me/v1/videos/vid_a7Kp9m... \
  -H "Authorization: Bearer $EDEN_API_KEY"
```

While processing:

```json theme={null}
{
  "id": "vid_a7Kp9mNqR2vXyB4dH6jL8s",
  "status": "processing",
  "is_available": false,
  "title": "Game 7 — Final Two Minutes",
  "tags": ["nba", "playoffs"],
  "playback": null,
  "created_at": "2026-05-22T14:30:00Z"
}
```

When ready:

```json theme={null}
{
  "id": "vid_a7Kp9mNqR2vXyB4dH6jL8s",
  "status": "ready",
  "is_available": true,
  "title": "Game 7 — Final Two Minutes",
  "duration_seconds": 124,
  "playback": {
    "playback_id": "abc123XYZ",
    "hls_url": "https://stream.mux.com/abc123XYZ.m3u8",
    "thumbnail_url": "https://image.mux.com/abc123XYZ/thumbnail.jpg"
  },
  "created_at": "2026-05-22T14:30:00Z",
  "updated_at": "2026-05-22T14:33:12Z"
}
```

The video is now live on Eden across iOS, tvOS, Android, and web.

<Note>
  Playback URLs require a signed token to play. The Eden apps handle this
  automatically. If you need to embed playback elsewhere, contact Eden for
  details on the token-signing flow.
</Note>
