---
search:
  tags:
    - Episodes
    - POST
seo:
  description: >-
    Publish or schedule an episode. Reference for the POST
    /v1/episodes/{episode_id}/publish endpoint in the Jellypod API.
sidebar:
  label: Publish or schedule an episode
  badge: POST
title: Publish or schedule an episode
type: openapi-operation
---
`POST /v1/episodes/{episode_id}/publish`

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

- `scheduled_time` (string<date-time>)

Request body example:

```json
{
  "scheduled_time": "2019-08-24T14:15:22Z"
}
```

**Responses**

- `200` — Episode published or scheduled
- `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.
- `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.

Response example, 200:

```json
{
  "data": {
    "id": "string",
    "scheduled_time": "string",
    "status": "published"
  }
}
```
