A single podcast episode.
tid
Timestamp-based ID
Properties
alternateEnclosures
array
of
string
Optional
Optional Podcasting 2.0 alternate media files with technical metadata.
audioMimeType
string
Required
MIME type for the RSS enclosure, such as audio/mpeg or audio/mp4.
maxLength: 100 bytesaudioSizeBytes
integer
Required
Audio file size in bytes for the RSS enclosure length attribute.
minimum: 0audioUrl
string
uri
Required
Direct URL to the audio file. Must be publicly accessible and use HTTPS.
maxLength: 2048 byteschaptersMimeType
string
Optional
MIME type for chaptersUrl; required when exporting podcast:chapters.
maxLength: 100 byteschaptersUrl
string
uri
Optional
URL to a chapters file.
maxLength: 2048 bytescreatedAt
string
datetime
Required
ISO 8601 timestamp of when the episode record was created.
description
string
Optional
Summary or show notes for the episode. May contain basic formatting.
maxGraphemes: 4000 graphemesdurationSeconds
integer
Optional
Length of the episode in whole seconds. Strongly recommended for player UX.
minimum: 0episodeNumber
integer
Optional
Episode number within the season or series.
episodeType
string
Optional
Apple episode type. Full is the default when omitted.
maxLength: 20 bytesfull, trailer, bonusexplicit
boolean
Optional
Whether this specific episode contains explicit content.
guid
string
Required
Globally unique, immutable episode identifier required by Apple and PSP.
maxLength: 255 bytesimageUrl
string
uri
Optional
Episode-specific artwork URL. Falls back to show cover if omitted.
maxLength: 2048 byteslink
string
uri
Optional
Public webpage for the episode, corresponding to the RSS item link.
maxLength: 2048 bytespeople
array
of
string
Optional
Structured episode credits such as hosts, guests, and producers.
publishedAt
string
datetime
Optional
ISO 8601 timestamp when the episode was published. May differ from createdAt.
seasonNumber
integer
Optional
Season number the episode belongs to.
showUri
string
uri
Required
AT Protocol URI of the parent place.pod.show record.
soundbites
array
of
string
Optional
Optional Podcasting 2.0 highlights with start times and durations.
title
string
Required
Title of the episode.
maxLength: 200 bytestranscriptMimeType
string
Optional
MIME type for transcriptUrl; required when exporting podcast:transcript.
maxLength: 100 bytestranscriptUrl
string
uri
Optional
URL to a transcript file.
maxLength: 2048 bytesView raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"showUri",
"title",
"audioUrl",
"createdAt",
"guid",
"audioMimeType",
"audioSizeBytes"
],
"properties": {
"guid": {
"type": "string",
"maxLength": 255,
"description": "Globally unique, immutable episode identifier required by Apple and PSP."
},
"link": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Public webpage for the episode, corresponding to the RSS item link."
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Title of the episode."
},
"people": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"description": "Structured episode credits such as hosts, guests, and producers."
},
"showUri": {
"type": "string",
"format": "uri",
"description": "AT Protocol URI of the parent place.pod.show record."
},
"audioUrl": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Direct URL to the audio file. Must be publicly accessible and use HTTPS."
},
"explicit": {
"type": "boolean",
"description": "Whether this specific episode contains explicit content."
},
"imageUrl": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Episode-specific artwork URL. Falls back to show cover if omitted."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "ISO 8601 timestamp of when the episode record was created."
},
"soundbites": {
"type": "array",
"items": {
"type": "string",
"maxLength": 255
},
"description": "Optional Podcasting 2.0 highlights with start times and durations."
},
"chaptersUrl": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "URL to a chapters file."
},
"description": {
"type": "string",
"description": "Summary or show notes for the episode. May contain basic formatting.",
"maxGraphemes": 4000
},
"episodeType": {
"type": "string",
"maxLength": 20,
"description": "Apple episode type. Full is the default when omitted.",
"knownValues": [
"full",
"trailer",
"bonus"
]
},
"publishedAt": {
"type": "string",
"format": "datetime",
"description": "ISO 8601 timestamp when the episode was published. May differ from createdAt."
},
"seasonNumber": {
"type": "integer",
"description": "Season number the episode belongs to."
},
"audioMimeType": {
"type": "string",
"maxLength": 100,
"description": "MIME type for the RSS enclosure, such as audio/mpeg or audio/mp4."
},
"episodeNumber": {
"type": "integer",
"description": "Episode number within the season or series."
},
"transcriptUrl": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "URL to a transcript file."
},
"audioSizeBytes": {
"type": "integer",
"minimum": 0,
"description": "Audio file size in bytes for the RSS enclosure length attribute."
},
"durationSeconds": {
"type": "integer",
"minimum": 0,
"description": "Length of the episode in whole seconds. Strongly recommended for player UX."
},
"chaptersMimeType": {
"type": "string",
"maxLength": 100,
"description": "MIME type for chaptersUrl; required when exporting podcast:chapters."
},
"transcriptMimeType": {
"type": "string",
"maxLength": 100,
"description": "MIME type for transcriptUrl; required when exporting podcast:transcript."
},
"alternateEnclosures": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2048
},
"description": "Optional Podcasting 2.0 alternate media files with technical metadata."
}
}
},
"description": "A single podcast episode."
}