{
"id": "place.pod.show",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"title",
"description",
"createdAt"
],
"properties": {
"title": {
"type": "string",
"maxLength": 100,
"description": "The display name of the podcast show. Keep under 100 characters for directory compatibility."
},
"author": {
"type": "string",
"maxLength": 100,
"description": "Name of the show's author or primary creator."
},
"locked": {
"type": "boolean",
"description": "Whether the show record is locked from edits. Defaults to false."
},
"people": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"description": "List of people involved in the show (hosts, producers, editors, etc.)."
},
"website": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Official website URL for the show. Should use HTTPS."
},
"explicit": {
"type": "boolean",
"description": "Whether the show typically contains explicit content. Defaults to false if omitted."
},
"language": {
"type": "string",
"maxLength": 10,
"description": "Primary language of the show content, formatted as an IETF language tag (e.g. en-US)."
},
"copyright": {
"type": "string",
"maxLength": 500,
"description": "Copyright notice or license identifier."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "ISO 8601 timestamp of when the show record was created."
},
"ownerName": {
"type": "string",
"maxLength": 200,
"description": "Legal or business owner name. Useful for copyright and licensing."
},
"categories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 50
},
"description": "List of content categories or genres. Use standard values where possible."
},
"ownerEmail": {
"type": "string",
"maxLength": 320,
"description": "Contact email for the show owner."
},
"description": {
"type": "string",
"description": "A short summary describing the show's content, format, and purpose.",
"maxGraphemes": 2000
},
"episodeType": {
"type": "string",
"maxLength": 20,
"description": "Default episode type for the show. Common values: full, trailer, bonus.",
"knownValues": [
"full",
"trailer",
"bonus"
]
},
"coverImageUrl": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "URL of the show's primary cover artwork. Should be square and at least 1400x1400px."
}
}
},
"description": "A podcast show or channel."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "A podcast show or channel."
}