> For the complete documentation index, see [llms.txt](https://docs.podigee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podigee.com/documentation/start-here/ai-agents/mcp-tools/get-episode-distribution.md).

# get\_episode\_distribution

Reference for the \`get\_episode\_distribution\` MCP tool.

Whether one episode actually reached the platforms Podigee delivers to per episode, such as Spotify Video, with the failure reason and time when it did not. Use this to answer "why is episode 12 not on Spotify" after get\_distribution\_status has confirmed the show itself is set up. An empty deliveries list is normal: it means this episode reaches directories through the RSS feed rather than being pushed individually.

## Contract

| Property                     | Value               |
| ---------------------------- | ------------------- |
| Required scopes              | `mcp:podcasts:read` |
| Read-only                    | `true`              |
| Destructive                  | `false`             |
| Idempotent                   | `true`              |
| May interact outside Podigee | `false`             |

The MCP annotations describe client behavior. The server still applies authorization, validation, preview, confirmation, ownership, and account boundaries at execution time.

## Example request

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_episode_distribution",
    "arguments": {
      "episode_id": 314
    }
  }
}
```

The example uses placeholder IDs. Replace them with IDs returned for the connected account.

## Input schema

The structural schema below omits prose `description` fields so each line remains readable. The complete public descriptions follow the schema.

```json
{
  "type": "object",
  "required": [
    "episode_id"
  ],
  "additionalProperties": false,
  "properties": {
    "episode_id": {
      "type": "integer"
    }
  }
}
```

### Input field descriptions

No additional field descriptions are defined.

### Key constraints

* `request` requires: `episode_id`.

## Output schema

The `structuredContent` object in a successful tool result matches this schema.

The structural schema below omits prose `description` fields. The complete public descriptions follow the schema.

```json
{
  "type": "object",
  "required": [
    "episode_id",
    "podcast_id",
    "deliveries",
    "summary"
  ],
  "additionalProperties": false,
  "properties": {
    "episode_id": {
      "type": "integer"
    },
    "podcast_id": {
      "type": "integer"
    },
    "deliveries": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "state",
          "delivered"
        ],
        "additionalProperties": false,
        "properties": {
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "type": "string"
          },
          "delivered": {
            "type": "boolean"
          },
          "media_type": {
            "type": "string"
          },
          "remote_url": {
            "type": "string"
          },
          "last_synced_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_error": {
            "type": "string"
          },
          "last_error_at": {
            "type": "string",
            "format": "date-time"
          },
          "retry_note": {
            "type": "string"
          }
        }
      }
    },
    "summary": {
      "type": "object",
      "required": [
        "delivered",
        "pending",
        "failed",
        "feed_only"
      ],
      "additionalProperties": false,
      "properties": {
        "delivered": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pending": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "failed": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "feed_only": {
          "type": "boolean"
        }
      }
    }
  }
}
```

### Output field descriptions

### `deliveries[].retry_note`

Whether Podigee retries this state on its own. When it does, wait rather than republishing the episode.

### `summary.feed_only`

True when this episode is not delivered to any platform individually and reaches directories through the RSS feed. This is the normal case and not a fault.

## Safety and retries

This tool is read-only. It does not change Podigee data.

Do not retry validation, authorization, plan, or ownership errors unchanged. Retry transient errors only when the response marks them as retryable. For durable work, use the returned operation ID instead of starting the same action again.

## Related guides

* [Check delivery for one episode](/documentation/start-here/ai-agents/distribute-a-podcast/check-delivery-for-one-episode.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.podigee.com/documentation/start-here/ai-agents/mcp-tools/get-episode-distribution.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
