{
"id": "org.atpodcasting.podcast",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"title",
"description",
"artwork",
"language",
"feedUrl",
"categories",
"guid",
"createdAt"
],
"properties": {
"guid": {
"type": "string",
"maxLength": 36,
"description": "Podcasting 2.0 UUIDv5 GUID of the podcast. Must match the record key."
},
"link": {
"type": "string",
"format": "uri",
"description": "URL of the podcast's homepage or companion website."
},
"title": {
"type": "string",
"maxLength": 500,
"description": "The name of the podcast."
},
"artwork": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg"
],
"maxSize": 5000000,
"description": "Cover artwork for the podcast. Recommended: 1400x1400 to 3000x3000 pixels, square, no alpha channel."
},
"feedUrl": {
"type": "string",
"format": "uri",
"description": "URL of the podcast's RSS feed."
},
"movedTo": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the new canonical podcast record after an ownership transfer. When set, consumers should follow this reference to the current record."
},
"explicit": {
"type": "boolean",
"description": "Whether the podcast contains explicit content. Defaults to false."
},
"language": {
"type": "string",
"format": "language",
"description": "Primary language of the podcast (ISO 639-1 two-letter code, e.g. 'en', 'es', 'pt')."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When the podcast record was created."
},
"categories": {
"type": "array",
"items": {
"refs": [
"org.atpodcasting.defs#appleCategory"
],
"type": "union"
},
"maxLength": 3,
"description": "Podcast categories (max 3)."
},
"description": {
"type": "string",
"maxLength": 4000,
"description": "A description of the podcast."
}
}
},
"description": "A podcast feed/show. Record key is the podcast's Podcasting 2.0 UUIDv5 GUID, enabling direct lookup from RSS feed metadata."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}