---
search:
  tags:
    - Episodes
    - POST
seo:
  description: >-
    Export saved episode content. Reference for the POST
    /v1/episodes/{episode_id}/export endpoint in the Jellypod API.
sidebar:
  label: Export saved episode content
  badge: POST
title: Export saved episode content
type: openapi-operation
---
`POST /v1/episodes/{episode_id}/export`

**Request body** (`application/json`, required)

- `outputs` (string[], required)

Request body example:

```json
{
  "outputs": [
    "audio"
  ]
}
```

**Responses**

- `202` — Requested files are available or being prepared from saved content. Poll the episode for readiness.
- `400` — Validation failed or malformed request.
- `401` — Missing or invalid API key.
- `403` — Authenticated, but this API key does not have access to this resource.
- `404` — Resource not found.
- `409` — The content is generating, already usable, or failed in a way another attempt cannot fix. Nothing was started; the message says what to do instead.
- `415` — Request \`Content-Type\` is not supported for this endpoint.
- `422` — Request was well-formed but the resource is in a state that does not allow this operation (e.g. publishing an episode that has not finished rendering).
- `429` — Rate limit exceeded. Wait \`Retry-After\` seconds before retrying; \`RateLimit-Limit\`, \`RateLimit-Remaining\`, and \`RateLimit-Reset\` describe the window.
- `500` — Internal server error.
- `502` — The API could not enqueue the downstream asynchronous workflow.

Response example, 202:

```json
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "outputs": {
      "audio": {
        "current": true,
        "download_url": "http://example.com",
        "error": "string",
        "status": "not_requested"
      },
      "video": {
        "current": true,
        "download_url": "http://example.com",
        "error": "string",
        "status": "not_requested"
      }
    },
    "progress": {
      "error": "string",
      "needs_attention": {
        "missing_visuals": 0,
        "skipped_sources": 0,
        "unvoiced_lines": 0
      },
      "phase": "string",
      "poll_after_seconds": 0,
      "render_required": true,
      "status": "idle"
    }
  }
}
```
