openapi: 3.0.3 info: title: 'podcaster.de API Documentation' description: 'Through the podcaster API you can access your media files, podcast feeds and episodes.' version: 1.0.0 servers: - url: 'https://app.podcaster.de' tags: - name: Episodes description: '' - name: Media description: '' - name: Podcasts description: '' - name: User description: '' paths: /api/shows: get: summary: 'List episodes' operationId: listEpisodes description: 'Returns a list of episodes belonging to a podcast channel. Accessible with scopes: shows,shows-read-only' parameters: - in: query name: channel_id description: 'UUId des Podcasts.' example: 123e4567-e89b-12d3-a456-426655440000 required: false schema: type: string description: 'UUId des Podcasts.' example: 123e4567-e89b-12d3-a456-426655440000 - in: query name: page description: '' example: null required: false schema: type: object description: '' example: null properties: { } - in: query name: page.number description: 'value muss mindestens 1 sein.' example: 22 required: false schema: type: number description: 'value muss mindestens 1 sein.' example: 22 nullable: true - in: query name: page.size description: 'value muss mindestens 1 sein. value darf maximal 500 sein.' example: 7 required: false schema: type: number description: 'value muss mindestens 1 sein. value darf maximal 500 sein.' example: 7 nullable: true - in: query name: filter description: 'Suche in Titel und Beschreibung nach bestimmten Episoden.' example: Kurzfilm required: false schema: type: string description: 'Suche in Titel und Beschreibung nach bestimmten Episoden.' example: Kurzfilm nullable: true - in: query name: sortBy description: 'You can either sort by published_at or status' example: published_at required: false schema: type: string description: 'You can either sort by published_at or status' example: published_at nullable: true - in: query name: sortDesc description: 'Sort order.' example: desc required: false schema: type: string description: 'Sort order.' example: desc nullable: true - in: query name: 'page[number]' description: 'Used for pagination. The page number.' example: 1 required: false schema: type: integer description: 'Used for pagination. The page number.' example: 1 - in: query name: 'page[size]' description: 'Used for pagination. The page size.' example: 10 required: false schema: type: integer description: 'Used for pagination. The page size.' example: 10 responses: 200: description: '' content: application/json: schema: type: object example: data: - type: show id: pod-5ea2082c6bc37297937508 feed_id: Der_Podcast links: self: 'https://api.podcaster.sattoaster/api/shows/pod-5ea2082c6bc37297937508?feedId=Der_Podcast' web: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' logo: '' media: '' attributes: title: 'Beispiel #013' description: 'Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de' author: 'beispiel@kundendomain.me (Fabio Bacigalupo)' link: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' copyright: podcaster.de logo: '' guid: pod-5ea2082c6bc37297937508 publish_date: '1587677228' publish_date_formatted: '23.04.2020, 23:27 Uhr' status: '2' file: '' enclosure_url: '' itunes: title: 'Nur als Entwurf' subtitle: '' logo: '1587677200' summary: '' episodeType: full author: 'Fabio Bacigalupo' duration: '00:05:08' season: '' episode: '' type: unknown duration_formatted: '5m 8s' relationships: - entry - type: show id: pod-5cc21955598f7405476263 feed_id: Der_Podcast links: self: 'https://api.podcaster.sattoaster/api/shows/pod-5cc21955598f7405476263?feedId=Der_Podcast' web: 'https://beispiel.podcaster.de/der_podcast/beispiel-folge-xyz-011/' logo: '' media: '' attributes: title: '#012 Beispiel-Folge' description: "
Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de
\n\nIn der Folge wird erklärt, was ein Podcast ist." author: 'beispiel@kundendomain.me (Fabio Bacigalupo)' link: 'https://beispiel.podcaster.de/der_podcast/beispiel-folge-xyz-011/' copyright: podcaster.de logo: '' guid: pod-5cc21955598f7405476263 publish_date: '1557908895' publish_date_formatted: '15.05.2019, 10:28 Uhr' status: 4 file: '' enclosure_url: '' itunes: title: 'Beispiel-Folge xyz' subtitle: 'xyz sagt alles' logo: '1555322159' summary: '' episodeType: full author: 'Fabio Bacigalupo' duration: '00:05:08' season: '1' episode: '10' type: unknown duration_formatted: '5m 8s' relationships: - entry properties: data: type: array example: - type: show id: pod-5ea2082c6bc37297937508 feed_id: Der_Podcast links: self: 'https://api.podcaster.sattoaster/api/shows/pod-5ea2082c6bc37297937508?feedId=Der_Podcast' web: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' logo: '' media: '' attributes: title: 'Beispiel #013' description: 'Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de' author: 'beispiel@kundendomain.me (Fabio Bacigalupo)' link: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' copyright: podcaster.de logo: '' guid: pod-5ea2082c6bc37297937508 publish_date: '1587677228' publish_date_formatted: '23.04.2020, 23:27 Uhr' status: '2' file: '' enclosure_url: '' itunes: title: 'Nur als Entwurf' subtitle: '' logo: '1587677200' summary: '' episodeType: full author: 'Fabio Bacigalupo' duration: '00:05:08' season: '' episode: '' type: unknown duration_formatted: '5m 8s' relationships: - entry - type: show id: pod-5cc21955598f7405476263 feed_id: Der_Podcast links: self: 'https://api.podcaster.sattoaster/api/shows/pod-5cc21955598f7405476263?feedId=Der_Podcast' web: 'https://beispiel.podcaster.de/der_podcast/beispiel-folge-xyz-011/' logo: '' media: '' attributes: title: '#012 Beispiel-Folge' description: "
Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de
\n\nIn der Folge wird erklärt, was ein Podcast ist." author: 'beispiel@kundendomain.me (Fabio Bacigalupo)' link: 'https://beispiel.podcaster.de/der_podcast/beispiel-folge-xyz-011/' copyright: podcaster.de logo: '' guid: pod-5cc21955598f7405476263 publish_date: '1557908895' publish_date_formatted: '15.05.2019, 10:28 Uhr' status: 4 file: '' enclosure_url: '' itunes: title: 'Beispiel-Folge xyz' subtitle: 'xyz sagt alles' logo: '1555322159' summary: '' episodeType: full author: 'Fabio Bacigalupo' duration: '00:05:08' season: '1' episode: '10' type: unknown duration_formatted: '5m 8s' relationships: - entry items: type: object properties: type: type: string example: show id: type: string example: pod-5ea2082c6bc37297937508 feed_id: type: string example: Der_Podcast links: type: object properties: self: type: string example: 'https://api.podcaster.sattoaster/api/shows/pod-5ea2082c6bc37297937508?feedId=Der_Podcast' web: type: string example: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' logo: type: string example: '' media: type: string example: '' attributes: type: object properties: title: type: string example: 'Beispiel #013' description: type: string example: 'Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de' author: type: string example: 'beispiel@kundendomain.me (Fabio Bacigalupo)' link: type: string example: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' copyright: type: string example: podcaster.de logo: type: string example: '' guid: type: string example: pod-5ea2082c6bc37297937508 publish_date: type: string example: '1587677228' publish_date_formatted: type: string example: '23.04.2020, 23:27 Uhr' status: type: string example: '2' file: type: string example: '' enclosure_url: type: string example: '' itunes: type: object properties: title: type: string example: 'Nur als Entwurf' subtitle: type: string example: '' logo: type: string example: '1587677200' summary: type: string example: '' episodeType: type: string example: full author: type: string example: 'Fabio Bacigalupo' duration: type: string example: '00:05:08' season: type: string example: '' episode: type: string example: '' type: type: string example: unknown duration_formatted: type: string example: '5m 8s' relationships: type: array example: - entry items: type: string tags: - Episodes security: [] post: summary: 'Create episode' operationId: createEpisode description: 'Adds a new episode. Accessible with scope: shows' parameters: [] responses: { } tags: - Episodes requestBody: required: true content: multipart/form-data: schema: type: object properties: channel_id: type: string description: 'UUId des Podcasts.' example: 123e4567-e89b-12d3-a456-426655440000 status: type: string description: 'Status der Episode: DRAFT (Entwurf), PUBLISHED (Veröffentlicht)' example: PUBLISHED title: type: string description: 'Titel der Episode. value darf maximal 255 Zeichen haben.' example: 'Dies ist eine Episode.' description: type: string description: 'Beschreibung der Episde. value darf maximal 4000 Zeichen haben.' example: '' author: type: string description: 'Autor der Episode. value darf maximal 255 Zeichen haben.' example: 'Maxima Musterfrau' copyright: type: string description: 'Angabe zu Nutzerrechten. value darf maximal 255 Zeichen haben.' example: 'Podcast-Team MM' nullable: true link: type: string description: 'Must be a valid URL.' example: '' nullable: true guid: type: string description: 'value darf maximal 255 Zeichen haben.' example: g nullable: true file_id: type: string description: 'ID einer Medien-Datei.' example: '1554927456' nullable: true itunes: type: object description: '' example: [] properties: title: type: string description: 'Apple Podcast-spezifischer Titel der Episode. value darf maximal 255 Zeichen haben.' example: '' nullable: true subtitle: type: string description: 'Apple Podcast-spezifischer Untertitel der Episode. value darf maximal 255 Zeichen haben.' example: '' nullable: true summary: type: string description: 'Apple Podcast-spezifische Zusammenfassung der Episode (ohne HTML). value darf maximal 4000 Zeichen haben.' example: '' nullable: true episode: type: integer description: '' example: 0 nullable: true episodeType: type: string description: '' example: '' enum: - full - trailer - bonus season: type: integer description: '' example: 0 nullable: true logo: type: string description: '' example: '' nullable: true explicit: type: boolean description: '' example: false nullable: true block: type: boolean description: '' example: true nullable: true author: type: string description: 'value darf maximal 255 Zeichen haben.' example: '' nullable: true required: - episodeType publishing_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2021-08-26' publishing_time: type: string description: 'Must be a valid date in the format H:i:s.' example: '12:10:59' media: type: string format: binary description: 'Must be a file.' podcastindex: type: object description: '' example: [] properties: episode_node_value: type: number description: '' example: 4326.41688 nullable: true episode_display: type: string description: 'value darf maximal 255 Zeichen haben.' example: m nullable: true chapter_url: type: string description: 'value darf maximal 255 Zeichen haben.' example: 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt' nullable: true chapter_type: type: string description: 'value darf maximal 50 Zeichen haben.' example: w nullable: true image_srcset: type: string description: '' example: architecto nullable: true license_node_value: type: string description: 'value darf maximal 255 Zeichen haben.' example: 'n' nullable: true license_url: type: string description: 'value darf maximal 255 Zeichen haben.' example: 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium' nullable: true location_node_value: type: string description: 'value darf maximal 255 Zeichen haben.' example: 'n' nullable: true location_geo_latitude: type: number description: '' example: 4326.41688 nullable: true location_geo_longitude: type: number description: '' example: 4326.41688 nullable: true location_osm: type: string description: 'value darf maximal 255 Zeichen haben.' example: m nullable: true season_node_value: type: integer description: '' example: 16 nullable: true season_name: type: string description: 'value darf maximal 255 Zeichen haben.' example: 'n' nullable: true transcript: type: string description: '' example: null nullable: true write_metadata: type: boolean description: '' example: false nullable: true required: - title - description - author - publishing_date - publishing_time security: [] '/api/shows/{uuid}': get: summary: 'Get episode' operationId: getEpisode description: 'Gets details of an episode. Accessible with scopes: shows,shows-read-only' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: type: show id: pod-5ea2082c6bc37297937508 feed_id: Der_Podcast attributes: title: 'Beispiel #013' subtitle: '' link: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' description: 'Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de' author: 'beispiel@kundendomain.me (Fabio Bacigalupo)' email: '' copyright: podcaster.de itunes: title: 'Nur als Entwurf' subtitle: '' logo: '1587677200' summary: '' episodeType: full author: 'Fabio Bacigalupo' duration: '00:05:08' season: '' episode: '' properties: data: type: object properties: type: type: string example: show id: type: string example: pod-5ea2082c6bc37297937508 feed_id: type: string example: Der_Podcast attributes: type: object properties: title: type: string example: 'Beispiel #013' subtitle: type: string example: '' link: type: string example: 'https://beispiel.podcaster.de/der_podcast/beispiel-013/' description: type: string example: 'Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de' author: type: string example: 'beispiel@kundendomain.me (Fabio Bacigalupo)' email: type: string example: '' copyright: type: string example: podcaster.de itunes: type: object properties: title: type: string example: 'Nur als Entwurf' subtitle: type: string example: '' logo: type: string example: '1587677200' summary: type: string example: '' episodeType: type: string example: full author: type: string example: 'Fabio Bacigalupo' duration: type: string example: '00:05:08' season: type: string example: '' episode: type: string example: '' tags: - Episodes security: [] delete: summary: 'Delete episode' operationId: deleteEpisode description: 'Removes an episode from a podcast channel. Accessible with scope: shows' parameters: [] responses: { } tags: - Episodes security: [] parameters: - in: path name: uuid description: 'UUID einer Episode.' example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed required: true schema: type: string '/api/show/{uuid}/copy': post: summary: 'Copy episode' operationId: copyEpisode description: "Creates a copy of a show. You can create a duplicate within the same podcast or copy the show to another podcast.\nThe copy is always saved with status `draft`.\nAccessible with scope: shows" parameters: [] responses: { } tags: - Episodes requestBody: required: false content: application/json: schema: type: object properties: channel_uuid_to: type: string description: 'The uuid of an existing record in the App\Models\Channel table.' example: null nullable: true security: [] parameters: - in: path name: uuid description: 'GUID of the episode' example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed required: true schema: type: string /api/media: get: summary: 'List files' operationId: listFiles description: 'Gets a list of the user´s uploaded (media) files. Accessible with scopes: media,media-read-only' parameters: - in: query name: sort_by description: "Sort criterium (Allowed values: 'name', 'size', 'created'. Default: 'name')." example: name required: false schema: type: string description: "Sort criterium (Allowed values: 'name', 'size', 'created'. Default: 'name')." example: name nullable: true - in: query name: sort_dir description: "Sort order ('asc', 'desc'. Default: 'desc')." example: desc required: false schema: type: string description: "Sort order ('asc', 'desc'. Default: 'desc')." example: desc nullable: true - in: query name: filter description: 'Search for a file (name).' example: '"kreativ"' required: false schema: type: string description: 'Search for a file (name).' example: '"kreativ"' nullable: true - in: query name: strict description: 'Used to limit search results to exact matches. (Default: 0)' example: 1 required: false schema: type: integer description: 'Used to limit search results to exact matches. (Default: 0)' example: 1 nullable: true - in: query name: page description: '' example: [] required: false schema: type: object description: '' example: [] properties: { } - in: query name: page.number description: 'Used for pagination. The page number.' example: 1 required: false schema: type: integer description: 'Used for pagination. The page number.' example: 1 nullable: true - in: query name: page.size description: 'Used for pagination. The page size.' example: 10 required: false schema: type: integer description: 'Used for pagination. The page size.' example: 10 nullable: true responses: 200: description: '' content: application/json: schema: type: object example: count: 7 items: - id: '1600240053' name: 1400x1400.png byte: 14644 created: '16.09.2020 09:07:33' size: '14.3 KB' last: '09:07:33 16.09.2020' cat: _default_ url: 'https://beispiel.podcaster.de/download/1400x1400.png' extension: png mimetype: image/png type: image created_date: 16.09.2020 created_time: '09:09' - id: '1593720040' name: 3000x3000.png byte: 93132 created: '02.07.2020 22:00:40' size: '90.95 KB' last: '22:00:40 02.07.2020' cat: logos url: 'https://beispiel.podcaster.de/download/3000x3000.png' extension: png mimetype: image/png type: image created_date: 02.07.2020 created_time: '22:10' properties: count: type: integer example: 7 items: type: array example: - id: '1600240053' name: 1400x1400.png byte: 14644 created: '16.09.2020 09:07:33' size: '14.3 KB' last: '09:07:33 16.09.2020' cat: _default_ url: 'https://beispiel.podcaster.de/download/1400x1400.png' extension: png mimetype: image/png type: image created_date: 16.09.2020 created_time: '09:09' - id: '1593720040' name: 3000x3000.png byte: 93132 created: '02.07.2020 22:00:40' size: '90.95 KB' last: '22:00:40 02.07.2020' cat: logos url: 'https://beispiel.podcaster.de/download/3000x3000.png' extension: png mimetype: image/png type: image created_date: 02.07.2020 created_time: '22:10' items: type: object properties: id: type: string example: '1600240053' name: type: string example: 1400x1400.png byte: type: integer example: 14644 created: type: string example: '16.09.2020 09:07:33' size: type: string example: '14.3 KB' last: type: string example: '09:07:33 16.09.2020' cat: type: string example: _default_ url: type: string example: 'https://beispiel.podcaster.de/download/1400x1400.png' extension: type: string example: png mimetype: type: string example: image/png type: type: string example: image created_date: type: string example: 16.09.2020 created_time: type: string example: '09:09' tags: - Media security: [] post: summary: 'Upload file' operationId: uploadFile description: 'Stores a file in the media manager.' parameters: [] responses: { } tags: - Media requestBody: required: true content: multipart/form-data: schema: type: object properties: media: type: string format: binary description: 'The media file to upload.' required: - media security: [] '/api/media/{media_id}': get: summary: 'Get file' operationId: getFile description: 'Gets details for a media file.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: 1600240053 name: 1400x1400.png byte: 14644 size: '14.3 KB' time: '16.09.2020 09:07:33' last: '16.09.2020 09:07:33' cat: null mimetype: image/png type: image info: 'PNG image data, 1400 x 1400, 8-bit/color RGBA, non-interlaced' mime: image/png properties: id: type: integer example: 1600240053 name: type: string example: 1400x1400.png byte: type: integer example: 14644 size: type: string example: '14.3 KB' time: type: string example: '16.09.2020 09:07:33' last: type: string example: '16.09.2020 09:07:33' cat: type: string example: null nullable: true mimetype: type: string example: image/png type: type: string example: image info: type: string example: 'PNG image data, 1400 x 1400, 8-bit/color RGBA, non-interlaced' mime: type: string example: image/png tags: - Media security: [] delete: summary: 'Delete file' operationId: deleteFile description: 'Remove a file from the media manager.' parameters: [] responses: { } tags: - Media security: [] parameters: - in: path name: media_id description: 'ID of the media file.' example: 0 required: true schema: type: integer '/api/media/{id}/metadata': get: summary: 'Get metadata' operationId: getMetadata description: 'Retrieves the metadata of a mediafile' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Media requestBody: required: true content: application/json: schema: type: object properties: id: type: string description: 'value muss ein UUID sein. The uuid of an existing record in the media table.' example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed type: type: string description: '' example: null nullable: true required: - id security: [] put: summary: 'Update metadata' operationId: updateMetadata description: "Change a mediafile's metadata" parameters: [] responses: { } tags: - Media requestBody: required: false content: application/json: schema: type: object properties: adbreak: type: object description: '' example: null properties: { } fields: type: object description: '' example: null properties: { } nullable: true image: type: number description: '' example: 4326.41688 nullable: true security: [] parameters: - in: path name: id description: 'The ID of the medium.' example: architecto required: true schema: type: string - in: path name: media_id description: 'ID of the media file.' example: 123456789 required: true schema: type: integer /api/feeds: get: summary: 'List podcasts (legacy)' operationId: listPodcastslegacy description: "Do not use this endpoint anymore. Use /api/channels instead.\n\nReturns a list of podcasts. Accessible with scopes: feeds,feeds-read-only\n\nChanges since deprecation: `type` has changed from 'feed' to 'channel', new fields for Podcast Index added" parameters: - in: query name: 'page[number]' description: 'Used for pagination. The page number.' example: 1 required: false schema: type: integer description: 'Used for pagination. The page number.' example: 1 - in: query name: 'page[size]' description: 'Used for pagination. The page size.' example: 10 required: false schema: type: integer description: 'Used for pagination. The page size.' example: 10 responses: 200: description: '' content: application/json: schema: type: object example: data: - type: channel id: 1719738d-cf4a-43c6-8c3b-cb5fe31664a0 links: self: 'https://app.podcaster.de/api/channels/1719738d-cf4a-43c6-8c3b-cb5fe31664a0' rss: 'https://toowha.podcaster.de/Tz1b8S6rzDWWrQXxGDKD.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: voluptatem subtitle: 'Voluptatem quidem.' description: 'Quas accusamus vero optio autem facilis. Quo quo quasi doloribus officiis. Ab tenetur est voluptatum molestias et.' copyright: 'Aut in.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: qSYnDIMnCVmTsvwRRSr7 medium: culpa podping: true license: identifier: 'Aut doloremque.' url: 'http://schroder.com/praesentium-eum-facere-molestiae-qui-eligendi-labore' locked: value: 'no' owner: astrid.ruf@marx.de update_frequency: description: Täglich complete: true dtstart: '2026-02-13T14:26:34.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 - type: channel id: 69a17db7-2c59-4383-9ebd-b2563082ce6f links: self: 'https://app.podcaster.de/api/channels/69a17db7-2c59-4383-9ebd-b2563082ce6f' rss: 'https://0cfmix.podcaster.de/vRwxCMjJEl8g1OycXI1I.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: veniam subtitle: Consequatur. description: 'Nam ut eos ad cupiditate et laboriosam incidunt. Repellendus laborum doloribus vero exercitationem neque omnis. Porro provident asperiores quidem facilis quae nisi et.' copyright: Omnis. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: a7MRj3uqEgVIeLvICNXe medium: porro podping: true license: identifier: 'Ut eum itaque.' url: 'http://www.bock.com/aut-quaerat-enim-voluptatibus-expedita-itaque-vitae' locked: value: 'no' owner: mathias93@gmail.com update_frequency: description: Täglich complete: false dtstart: '2026-02-13T14:26:35.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 properties: data: type: array example: - type: channel id: 1719738d-cf4a-43c6-8c3b-cb5fe31664a0 links: self: 'https://app.podcaster.de/api/channels/1719738d-cf4a-43c6-8c3b-cb5fe31664a0' rss: 'https://toowha.podcaster.de/Tz1b8S6rzDWWrQXxGDKD.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: voluptatem subtitle: 'Voluptatem quidem.' description: 'Quas accusamus vero optio autem facilis. Quo quo quasi doloribus officiis. Ab tenetur est voluptatum molestias et.' copyright: 'Aut in.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: qSYnDIMnCVmTsvwRRSr7 medium: culpa podping: true license: identifier: 'Aut doloremque.' url: 'http://schroder.com/praesentium-eum-facere-molestiae-qui-eligendi-labore' locked: value: 'no' owner: astrid.ruf@marx.de update_frequency: description: Täglich complete: true dtstart: '2026-02-13T14:26:34.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 - type: channel id: 69a17db7-2c59-4383-9ebd-b2563082ce6f links: self: 'https://app.podcaster.de/api/channels/69a17db7-2c59-4383-9ebd-b2563082ce6f' rss: 'https://0cfmix.podcaster.de/vRwxCMjJEl8g1OycXI1I.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: veniam subtitle: Consequatur. description: 'Nam ut eos ad cupiditate et laboriosam incidunt. Repellendus laborum doloribus vero exercitationem neque omnis. Porro provident asperiores quidem facilis quae nisi et.' copyright: Omnis. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: a7MRj3uqEgVIeLvICNXe medium: porro podping: true license: identifier: 'Ut eum itaque.' url: 'http://www.bock.com/aut-quaerat-enim-voluptatibus-expedita-itaque-vitae' locked: value: 'no' owner: mathias93@gmail.com update_frequency: description: Täglich complete: false dtstart: '2026-02-13T14:26:35.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 items: type: object properties: type: type: string example: channel id: type: string example: 1719738d-cf4a-43c6-8c3b-cb5fe31664a0 links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/1719738d-cf4a-43c6-8c3b-cb5fe31664a0' rss: type: string example: 'https://toowha.podcaster.de/Tz1b8S6rzDWWrQXxGDKD.rss' web: type: string example: '' logo: type: string example: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: type: object properties: rss: type: object properties: title: type: string example: voluptatem subtitle: type: string example: 'Voluptatem quidem.' description: type: string example: 'Quas accusamus vero optio autem facilis. Quo quo quasi doloribus officiis. Ab tenetur est voluptatum molestias et.' copyright: type: string example: 'Aut in.' logo: type: string example: null nullable: true is_explicit: type: boolean example: false is_protected: type: string example: null nullable: true imported: type: string example: null nullable: true podcastindex: type: object properties: guid: type: string example: qSYnDIMnCVmTsvwRRSr7 medium: type: string example: culpa podping: type: boolean example: true license: type: object properties: identifier: type: string example: 'Aut doloremque.' url: type: string example: 'http://schroder.com/praesentium-eum-facere-molestiae-qui-eligendi-labore' locked: type: object properties: value: type: string example: 'no' owner: type: string example: astrid.ruf@marx.de update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: true dtstart: type: string example: '2026-02-13T14:26:34.000000Z' rrule: type: string example: FREQ=DAILY chat: type: array example: [] trailer: type: array example: [] blocks: type: array example: [] fundings: type: array example: [] images: type: array example: [] locations: type: array example: [] persons: type: array example: [] txts: type: array example: [] social_interacts: type: array example: [] remote_items: type: array example: [] podrolls: type: array example: [] publisher: type: array example: [] live_items: type: array example: [] values: type: array example: [] shows_count: type: integer example: 0 tags: - Podcasts security: [] '/api/feeds/{feed_id}': get: summary: 'Get podcast (legacy)' operationId: getPodcastlegacy description: 'Returns information about a podcast (feed). Accessible with scopes: feeds,feeds-read-only' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: type: channel id: cec4af6a-96f5-489e-a2e9-a10060c58664 feed_id: olI1Rc0iR3IaU4Sg8Ema attributes: rss: title: doloremque description: 'Numquam ea facilis rerum a accusantium impedit labore voluptatum. Dolorum sed at libero iste veritatis quia. Sunt molestiae explicabo est necessitatibus aspernatur aut.' copyright: Libero. subtitle: 'Ex assumenda ea.' link: 'https://jager.org/adipisci-ut-quam-error-qui-minus.html' author: 'Birgit Wolf' email: jensuwe98@neumann.com language: sn category: voluptates itunes: title: null subtitle: 'Ex assumenda ea.' summary: 'Similique nobis.' author: null type: serial block: 'yes' explicit: true complete: false new_feed_url: 'http://www.popp.de/fugit-totam-dicta-consequatur-animi-culpa-corporis-voluptatibus' category: [] logo: null podcastindex: guid: t24dNumlfRxVSMODwT4D medium: voluptas podping: false license: identifier: 'Ut voluptatem saepe.' url: 'http://hauser.com/' locked: value: 'no' owner: fschramm@ott.org update_frequency: description: Täglich complete: true dtstart: '2026-02-13T14:26:36.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' links: self: 'https://app.podcaster.de/api/channels/olI1Rc0iR3IaU4Sg8Ema' rss: 'https://cu9ild.podcaster.de/olI1Rc0iR3IaU4Sg8Ema.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' remove_sync: false shows_count: 0 imported: null properties: data: type: object properties: type: type: string example: channel id: type: string example: cec4af6a-96f5-489e-a2e9-a10060c58664 feed_id: type: string example: olI1Rc0iR3IaU4Sg8Ema attributes: type: object properties: rss: type: object properties: title: type: string example: doloremque description: type: string example: 'Numquam ea facilis rerum a accusantium impedit labore voluptatum. Dolorum sed at libero iste veritatis quia. Sunt molestiae explicabo est necessitatibus aspernatur aut.' copyright: type: string example: Libero. subtitle: type: string example: 'Ex assumenda ea.' link: type: string example: 'https://jager.org/adipisci-ut-quam-error-qui-minus.html' author: type: string example: 'Birgit Wolf' email: type: string example: jensuwe98@neumann.com language: type: string example: sn category: type: string example: voluptates itunes: type: object properties: title: type: string example: null nullable: true subtitle: type: string example: 'Ex assumenda ea.' summary: type: string example: 'Similique nobis.' author: type: string example: null nullable: true type: type: string example: serial block: type: string example: 'yes' explicit: type: boolean example: true complete: type: boolean example: false new_feed_url: type: string example: 'http://www.popp.de/fugit-totam-dicta-consequatur-animi-culpa-corporis-voluptatibus' category: type: array example: [] logo: type: string example: null nullable: true podcastindex: type: object properties: guid: type: string example: t24dNumlfRxVSMODwT4D medium: type: string example: voluptas podping: type: boolean example: false license: type: object properties: identifier: type: string example: 'Ut voluptatem saepe.' url: type: string example: 'http://hauser.com/' locked: type: object properties: value: type: string example: 'no' owner: type: string example: fschramm@ott.org update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: true dtstart: type: string example: '2026-02-13T14:26:36.000000Z' rrule: type: string example: FREQ=DAILY chat: type: array example: [] trailer: type: array example: [] blocks: type: array example: [] fundings: type: array example: [] images: type: array example: [] locations: type: array example: [] persons: type: array example: [] txts: type: array example: [] social_interacts: type: array example: [] remote_items: type: array example: [] podrolls: type: array example: [] publisher: type: array example: [] live_items: type: array example: [] values: type: array example: [] logo: type: string example: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/olI1Rc0iR3IaU4Sg8Ema' rss: type: string example: 'https://cu9ild.podcaster.de/olI1Rc0iR3IaU4Sg8Ema.rss' web: type: string example: '' logo: type: string example: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' remove_sync: type: boolean example: false shows_count: type: integer example: 0 imported: type: string example: null nullable: true tags: - Podcasts security: [] parameters: - in: path name: feed_id description: 'ID of the podcast (feed).' example: beispiel required: true schema: type: string /api/channels: get: summary: 'List podcasts' operationId: listPodcasts description: 'Returns a list of podcasts. Accessible with scopes: feeds,feeds-read-only' parameters: - in: query name: 'page[number]' description: 'Used for pagination. The page number.' example: 1 required: false schema: type: integer description: 'Used for pagination. The page number.' example: 1 - in: query name: 'page[size]' description: 'Used for pagination. The page size.' example: 10 required: false schema: type: integer description: 'Used for pagination. The page size.' example: 10 responses: 200: description: '' content: application/json: schema: type: object example: data: - type: channel id: 36993b41-bd65-4c47-853b-c6d84b401cff links: self: 'https://app.podcaster.de/api/channels/36993b41-bd65-4c47-853b-c6d84b401cff' rss: 'https://beah6b.podcaster.de/zxb50Kbz2okLweOYYBgl.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: sequi subtitle: 'Eum deleniti.' description: 'Optio labore illum non occaecati voluptas est qui. Recusandae sapiente et tenetur quasi fugit dolorem amet. Ratione at minima ut.' copyright: Ex. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: iLoXpLOtQOMZ2spAHrGx medium: porro podping: true license: identifier: Molestias. url: 'https://meister.com/provident-dignissimos-est-voluptate-molestiae-distinctio-necessitatibus-illo-molestiae.html' locked: value: 'yes' owner: magdalene.burkhardt@web.de update_frequency: description: Täglich complete: false dtstart: '2026-02-13T14:26:37.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 - type: channel id: 631e1a60-184c-43a5-9637-26eebab8dc5f links: self: 'https://app.podcaster.de/api/channels/631e1a60-184c-43a5-9637-26eebab8dc5f' rss: 'https://4tge2d.podcaster.de/Ywwv1eJPZ7oe8RAvZKH2.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: a subtitle: 'Omnis veritatis et.' description: 'A possimus ut distinctio et voluptatum. Repudiandae veritatis voluptatem omnis ut inventore qui. Mollitia saepe omnis eaque minima et. Eum neque tempore tempora placeat voluptatem.' copyright: Ullam. logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: MjUMYkb2A4QsOX10av3K medium: enim podping: false license: identifier: 'Libero nihil.' url: 'http://www.schumann.de/sunt-atque-nobis-est-in.html' locked: value: 'no' owner: nbertram@klein.com update_frequency: description: Täglich complete: false dtstart: '2026-02-13T14:26:38.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 properties: data: type: array example: - type: channel id: 36993b41-bd65-4c47-853b-c6d84b401cff links: self: 'https://app.podcaster.de/api/channels/36993b41-bd65-4c47-853b-c6d84b401cff' rss: 'https://beah6b.podcaster.de/zxb50Kbz2okLweOYYBgl.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: sequi subtitle: 'Eum deleniti.' description: 'Optio labore illum non occaecati voluptas est qui. Recusandae sapiente et tenetur quasi fugit dolorem amet. Ratione at minima ut.' copyright: Ex. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: iLoXpLOtQOMZ2spAHrGx medium: porro podping: true license: identifier: Molestias. url: 'https://meister.com/provident-dignissimos-est-voluptate-molestiae-distinctio-necessitatibus-illo-molestiae.html' locked: value: 'yes' owner: magdalene.burkhardt@web.de update_frequency: description: Täglich complete: false dtstart: '2026-02-13T14:26:37.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 - type: channel id: 631e1a60-184c-43a5-9637-26eebab8dc5f links: self: 'https://app.podcaster.de/api/channels/631e1a60-184c-43a5-9637-26eebab8dc5f' rss: 'https://4tge2d.podcaster.de/Ywwv1eJPZ7oe8RAvZKH2.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: a subtitle: 'Omnis veritatis et.' description: 'A possimus ut distinctio et voluptatum. Repudiandae veritatis voluptatem omnis ut inventore qui. Mollitia saepe omnis eaque minima et. Eum neque tempore tempora placeat voluptatem.' copyright: Ullam. logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: MjUMYkb2A4QsOX10av3K medium: enim podping: false license: identifier: 'Libero nihil.' url: 'http://www.schumann.de/sunt-atque-nobis-est-in.html' locked: value: 'no' owner: nbertram@klein.com update_frequency: description: Täglich complete: false dtstart: '2026-02-13T14:26:38.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] shows_count: 0 items: type: object properties: type: type: string example: channel id: type: string example: 36993b41-bd65-4c47-853b-c6d84b401cff links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/36993b41-bd65-4c47-853b-c6d84b401cff' rss: type: string example: 'https://beah6b.podcaster.de/zxb50Kbz2okLweOYYBgl.rss' web: type: string example: '' logo: type: string example: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: type: object properties: rss: type: object properties: title: type: string example: sequi subtitle: type: string example: 'Eum deleniti.' description: type: string example: 'Optio labore illum non occaecati voluptas est qui. Recusandae sapiente et tenetur quasi fugit dolorem amet. Ratione at minima ut.' copyright: type: string example: Ex. logo: type: string example: null nullable: true is_explicit: type: boolean example: true is_protected: type: string example: null nullable: true imported: type: string example: null nullable: true podcastindex: type: object properties: guid: type: string example: iLoXpLOtQOMZ2spAHrGx medium: type: string example: porro podping: type: boolean example: true license: type: object properties: identifier: type: string example: Molestias. url: type: string example: 'https://meister.com/provident-dignissimos-est-voluptate-molestiae-distinctio-necessitatibus-illo-molestiae.html' locked: type: object properties: value: type: string example: 'yes' owner: type: string example: magdalene.burkhardt@web.de update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: false dtstart: type: string example: '2026-02-13T14:26:37.000000Z' rrule: type: string example: FREQ=DAILY chat: type: array example: [] trailer: type: array example: [] blocks: type: array example: [] fundings: type: array example: [] images: type: array example: [] locations: type: array example: [] persons: type: array example: [] txts: type: array example: [] social_interacts: type: array example: [] remote_items: type: array example: [] podrolls: type: array example: [] publisher: type: array example: [] live_items: type: array example: [] values: type: array example: [] shows_count: type: integer example: 0 tags: - Podcasts security: [] post: summary: 'Create podcast' operationId: createPodcast description: 'Creates a new podcast. Accessible with scope: feeds' parameters: - in: query name: channel description: Object example: architecto required: false schema: type: string description: Object example: architecto responses: { } tags: - Podcasts requestBody: required: true content: application/json: schema: type: object properties: feed_id: type: string description: 'ID (Bezeichner) für den Podcast(-Feed). value darf maximal 100 Zeichen haben.' example: neuer-podcast feed_url: type: string description: 'This field is required when feed_id is not present. Must be a valid URL.' example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html' nullable: true title: type: string description: 'Titel des Podcasts. value darf maximal 255 Zeichen haben.' example: 'Dies ist ein Podcast.' author: type: string description: 'Autor des Podcasts. value darf maximal 255 Zeichen haben.' example: Fabio description: type: string description: 'Beschreibung des Podcasts. value darf maximal 4000 Zeichen haben.' example: 'Diese Episode ist über das podcaster API.' copyright: type: string description: 'Angabe zu Nutzerrechten. value darf maximal 255 Zeichen haben.' example: 'Free to use' link: type: string description: 'Link zur Webseite des Podcasts. Must be a valid URL.' example: 'https://beispiel.podcast.de' nullable: true email: type: string description: 'value muss eine gültige E-Mail-Adresse sein.' example: cecil42@example.com language: type: string description: 'The id of an existing record in the languages table. value darf maximal 3 Zeichen haben.' example: 'y' category: type: string description: 'value darf maximal 255 Zeichen haben.' example: k nullable: true apple_podcasts_title: type: string description: 'value darf maximal 255 Zeichen haben.' example: c nullable: true apple_podcasts_subtitle: type: string description: 'Untertitel. value darf maximal 255 Zeichen haben.' example: 'Das ist der Untertitel' nullable: true apple_podcasts_summary: type: string description: 'value darf maximal 4000 Zeichen haben.' example: m nullable: true apple_podcasts_explicit: type: string description: 'Inhalt nur für Erwachsene geeignet.' example: '' enum: - 'no' - 'yes' - 'true' - 'false' nullable: true apple_podcasts_block: type: string description: '' example: 'no' enum: - 'no' - 'yes' - 'true' - 'false' nullable: true apple_podcasts_complete: type: string description: 'Beendet/Vollständig .' example: 'yes' enum: - 'no' - 'yes' - 'true' - 'false' nullable: true apple_podcasts_author: type: string description: 'value darf maximal 255 Zeichen haben.' example: 'y' nullable: true apple_podcasts_type: type: string description: Podcast-Typ. example: episodic enum: - episodic - serial nullable: true channel_apple_podcasts_category: type: object description: 'value muss mindestens 1 Elemente haben. value darf nicht mehr als 3 Elemente haben.' example: [] properties: { } channel_domain: type: object description: '' example: [] properties: protocol: type: string description: '' example: https enum: - http - https nullable: true domain: type: string description: 'value darf maximal 100 Zeichen haben.' example: b nullable: true subdomain: type: string description: 'Must match the regex /^([A-Za-z0-9](?:[A-Za-z0-9\.\-]{0,61}[A-Za-z0-9])?$)/u. value darf maximal 100 Zeichen haben.' example: 'n' required: - subdomain image_id: type: string description: '' example: architecto nullable: true podcast_index_guid: type: string description: '' example: architecto nullable: true podcast_index_medium: type: string description: 'value darf maximal 32 Zeichen haben.' example: 'n' nullable: true podcast_index_uses_podping: type: boolean description: '' example: true nullable: true podcast_index_license_node_value: type: string description: 'value darf maximal 128 Zeichen haben.' example: g nullable: true podcast_index_license_url: type: string description: 'Must be a valid URL.' example: 'http://www.okuneva.com/fugiat-sunt-nihil-accusantium-harum-mollitia.html' nullable: true podcast_index_locked_node_value: type: string description: 'value darf maximal 3 Zeichen haben.' example: k nullable: true podcast_index_locked_owner: type: string description: 'value muss eine gültige E-Mail-Adresse sein.' example: aschuster@example.com nullable: true podcast_index_update_frequency_node_value: type: string description: 'value darf maximal 128 Zeichen haben.' example: k nullable: true podcast_index_update_frequency_complete: type: boolean description: '' example: true nullable: true podcast_index_update_frequency_dt_start: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-02-13T15:26:38' nullable: true podcast_index_update_frequency_rrule: type: string description: '' example: architecto nullable: true podcast_index_trailer: type: object description: '' example: [] properties: node_value: type: string description: 'value darf maximal 128 Zeichen haben.' example: 'n' nullable: true url: type: string description: 'Must be a valid URL.' example: 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium' nullable: true pubdate: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-02-13T15:26:38' nullable: true type: type: string description: 'value darf maximal 50 Zeichen haben.' example: 'n' nullable: true season: type: number description: '' example: 4326.41688 nullable: true podcast_index_chat: type: object description: '' example: [] properties: server: type: string description: '' example: architecto nullable: true protocol: type: string description: '' example: architecto nullable: true accountId: type: string description: '' example: architecto nullable: true space: type: string description: '' example: architecto nullable: true podcast_index_blocks: type: array description: '' example: - [] items: type: object properties: node_value: type: string description: 'value darf maximal 3 Zeichen haben.' example: 'n' nullable: true service_id: type: string description: 'value darf maximal 32 Zeichen haben.' example: g nullable: true podcast_index_fundings: type: array description: '' example: - [] items: type: object properties: node_value: type: string description: 'value darf maximal 128 Zeichen haben.' example: z nullable: true url: type: string description: 'Must be a valid URL.' example: 'http://rempel.com/sunt-nihil-accusantium-harum-mollitia' nullable: true podcast_index_txts: type: array description: '' example: - [] items: type: object properties: node_value: type: string description: 'value darf maximal 4000 Zeichen haben.' example: k nullable: true purpose: type: string description: 'value darf maximal 128 Zeichen haben.' example: h nullable: true podcast_index_images: type: array description: '' example: - [] items: type: object properties: href: type: string description: 'Must be a valid URL.' example: 'http://www.dubuque.net/quo-omnis-nostrum-aut-adipisci' nullable: true alt: type: string description: '' example: architecto nullable: true aspect_ratio: type: string description: 'value darf maximal 16 Zeichen haben.' example: ngzmiyvdljnikhwa nullable: true width: type: number description: '' example: 4326.41688 nullable: true height: type: number description: '' example: 4326.41688 nullable: true type: type: string description: '' example: architecto nullable: true purpose: type: string description: 'value darf maximal 128 Zeichen haben.' example: 'n' nullable: true podcast_index_locations: type: array description: '' example: - [] items: type: object properties: node_value: type: string description: 'value darf maximal 128 Zeichen haben.' example: g nullable: true rel: type: string description: 'value darf maximal 30 Zeichen haben.' example: z nullable: true geo_latitude: type: number description: '' example: 4326.41688 nullable: true geo_longitude: type: number description: '' example: 4326.41688 nullable: true osm: type: string description: 'value darf maximal 128 Zeichen haben.' example: m nullable: true country: type: string description: 'value darf maximal 2 Zeichen haben.' example: iy nullable: true podcast_index_persons: type: array description: '' example: - [] items: type: object properties: node_value: type: string description: 'value darf maximal 128 Zeichen haben.' example: v nullable: true role: type: string description: 'value darf maximal 50 Zeichen haben.' example: d nullable: true group: type: string description: 'value darf maximal 50 Zeichen haben.' example: l nullable: true img: type: string description: 'value darf maximal 255 Zeichen haben.' example: j nullable: true href: type: string description: 'Must be a valid URL.' example: 'http://tillman.com/' nullable: true podcast_index_social_interacts: type: array description: '' example: - [] items: type: object properties: uri: type: string description: '' example: architecto nullable: true protocol: type: string description: 'value darf maximal 32 Zeichen haben.' example: 'n' nullable: true account_id: type: string description: '' example: architecto nullable: true account_url: type: string description: '' example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html' nullable: true priority: type: number description: '' example: 4326.41688 nullable: true podcast_index_remote_items: type: array description: '' example: - [] items: type: object properties: feed_guid: type: string description: 'value darf maximal 255 Zeichen haben.' example: m nullable: true feed_url: type: string description: 'Must be a valid URL.' example: 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt' nullable: true item_guid: type: string description: 'value darf maximal 255 Zeichen haben.' example: w nullable: true medium: type: string description: 'value darf maximal 32 Zeichen haben.' example: a nullable: true title: type: string description: 'value darf maximal 128 Zeichen haben.' example: 'y' nullable: true podcast_index_values: type: array description: '' example: - [] items: type: object properties: type: type: string description: 'value darf maximal 50 Zeichen haben.' example: k nullable: true method: type: string description: 'value darf maximal 50 Zeichen haben.' example: c nullable: true suggested: type: number description: '' example: 4326.41688 nullable: true recipients: type: array description: '' example: - [] items: type: object properties: name: type: string description: 'value darf maximal 128 Zeichen haben.' example: m nullable: true custom_key: type: string description: 'value darf maximal 255 Zeichen haben.' example: i nullable: true custom_value: type: string description: 'value darf maximal 255 Zeichen haben.' example: 'y' nullable: true type: type: string description: 'value darf maximal 50 Zeichen haben.' example: v nullable: true address: type: string description: 'value darf maximal 255 Zeichen haben.' example: d nullable: true split: type: number description: '' example: 4326.41688 nullable: true fee: type: boolean description: '' example: false nullable: true podcast_index_live_items: type: array description: '' example: - [] items: type: object properties: status: type: string description: 'value darf maximal 10 Zeichen haben.' example: miyvdl nullable: true start: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-02-13T15:26:38' nullable: true end: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-02-13T15:26:38' nullable: true content_links: type: array description: '' example: - [] items: type: object properties: node_value: type: string description: 'value darf maximal 128 Zeichen haben.' example: j nullable: true href: type: string description: 'Must be a valid URL.' example: 'http://tillman.com/' nullable: true required: - feed_id - title - author - description - copyright - email - language - channel_apple_podcasts_category security: [] '/api/channels/{uuid}': get: summary: 'Get podcast' operationId: getPodcast description: 'Returns information about a podcast (feed). Accessible with scopes: feeds,feeds-read-only' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: type: channel id: 4a50a305-68d5-4c2c-9f1c-6100aa17dc21 feed_id: eNjaviBP9gpwFI98pLQQ attributes: rss: title: autem description: 'Neque blanditiis odio veritatis excepturi doloribus delectus. Qui repudiandae laboriosam est alias.' copyright: Molestiae. subtitle: 'Et ut dicta vitae.' link: 'http://heim.com/ut-aut-deserunt-et-error-neque-recusandae-et.html' author: 'Evelyn Ott' email: rklein@haupt.com language: km category: ipsam itunes: title: null subtitle: 'Et ut dicta vitae.' summary: 'Consequatur ut et.' author: null type: serial block: 'yes' explicit: false complete: false new_feed_url: 'http://marquardt.de/dolores-sed-rem-ea' category: [] logo: null podcastindex: guid: hfdNOHIvzgDNlCtbAwed medium: ut podping: true license: identifier: 'Deserunt sint quis.' url: 'http://strauss.com/id-a-consectetur-assumenda-eaque-neque-sit-sunt-nihil.html' locked: value: 'no' owner: tina72@schott.com update_frequency: description: Täglich complete: false dtstart: '2026-02-13T14:26:38.000000Z' rrule: FREQ=DAILY chat: [] trailer: [] blocks: [] fundings: [] images: [] locations: [] persons: [] txts: [] social_interacts: [] remote_items: [] podrolls: [] publisher: [] live_items: [] values: [] logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' links: self: 'https://app.podcaster.de/api/channels/eNjaviBP9gpwFI98pLQQ' rss: 'https://ncdjpe.podcaster.de/eNjaviBP9gpwFI98pLQQ.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' remove_sync: false shows_count: 0 imported: null properties: data: type: object properties: type: type: string example: channel id: type: string example: 4a50a305-68d5-4c2c-9f1c-6100aa17dc21 feed_id: type: string example: eNjaviBP9gpwFI98pLQQ attributes: type: object properties: rss: type: object properties: title: type: string example: autem description: type: string example: 'Neque blanditiis odio veritatis excepturi doloribus delectus. Qui repudiandae laboriosam est alias.' copyright: type: string example: Molestiae. subtitle: type: string example: 'Et ut dicta vitae.' link: type: string example: 'http://heim.com/ut-aut-deserunt-et-error-neque-recusandae-et.html' author: type: string example: 'Evelyn Ott' email: type: string example: rklein@haupt.com language: type: string example: km category: type: string example: ipsam itunes: type: object properties: title: type: string example: null nullable: true subtitle: type: string example: 'Et ut dicta vitae.' summary: type: string example: 'Consequatur ut et.' author: type: string example: null nullable: true type: type: string example: serial block: type: string example: 'yes' explicit: type: boolean example: false complete: type: boolean example: false new_feed_url: type: string example: 'http://marquardt.de/dolores-sed-rem-ea' category: type: array example: [] logo: type: string example: null nullable: true podcastindex: type: object properties: guid: type: string example: hfdNOHIvzgDNlCtbAwed medium: type: string example: ut podping: type: boolean example: true license: type: object properties: identifier: type: string example: 'Deserunt sint quis.' url: type: string example: 'http://strauss.com/id-a-consectetur-assumenda-eaque-neque-sit-sunt-nihil.html' locked: type: object properties: value: type: string example: 'no' owner: type: string example: tina72@schott.com update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: false dtstart: type: string example: '2026-02-13T14:26:38.000000Z' rrule: type: string example: FREQ=DAILY chat: type: array example: [] trailer: type: array example: [] blocks: type: array example: [] fundings: type: array example: [] images: type: array example: [] locations: type: array example: [] persons: type: array example: [] txts: type: array example: [] social_interacts: type: array example: [] remote_items: type: array example: [] podrolls: type: array example: [] publisher: type: array example: [] live_items: type: array example: [] values: type: array example: [] logo: type: string example: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/eNjaviBP9gpwFI98pLQQ' rss: type: string example: 'https://ncdjpe.podcaster.de/eNjaviBP9gpwFI98pLQQ.rss' web: type: string example: '' logo: type: string example: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' remove_sync: type: boolean example: false shows_count: type: integer example: 0 imported: type: string example: null nullable: true tags: - Podcasts security: [] delete: summary: 'Delete podcast' operationId: deletePodcast description: '*Caution* Removes a podcast. Accessible with scope: feeds' parameters: [] responses: { } tags: - Podcasts security: [] parameters: - in: path name: uuid description: 'UUID of the podcast (channel).' example: 6ff8f7f6-1eb3-3525-be4a-3932c805afed required: true schema: type: string /api/user: get: summary: 'Get user' operationId: getUser description: 'Fetches details about authenticated user.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: type: user id: 23261 attributes: id: 23261 name: 'Kevin Beyer' first_name: Kevin last_name: Beyer username: testing-joachim004413 email: jasmin.reuter@example.org name_title: null telephone: '+49 951 644 2911' telefax: '06532 2485045' url: 'http://haupt.de/' organisation: Jahn department: null street: Hankeallee housenumber: '852' city: 'Sankt Augustin' country: SB post_code: '45582' representative: null mediarepresentative: null register_court: null register_number: null board: null chairman: null controlling_authority: null additional_specifications: null links: self: 'https://app.podcaster.de/api/user' properties: data: type: object properties: type: type: string example: user id: type: integer example: 23261 attributes: type: object properties: id: type: integer example: 23261 name: type: string example: 'Kevin Beyer' first_name: type: string example: Kevin last_name: type: string example: Beyer username: type: string example: testing-joachim004413 email: type: string example: jasmin.reuter@example.org name_title: type: string example: null nullable: true telephone: type: string example: '+49 951 644 2911' telefax: type: string example: '06532 2485045' url: type: string example: 'http://haupt.de/' organisation: type: string example: Jahn department: type: string example: null nullable: true street: type: string example: Hankeallee housenumber: type: string example: '852' city: type: string example: 'Sankt Augustin' country: type: string example: SB post_code: type: string example: '45582' representative: type: string example: null nullable: true mediarepresentative: type: string example: null nullable: true register_court: type: string example: null nullable: true register_number: type: string example: null nullable: true board: type: string example: null nullable: true chairman: type: string example: null nullable: true controlling_authority: type: string example: null nullable: true additional_specifications: type: string example: null nullable: true links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/user' tags: - User security: [] '/api/user/{id}': put: summary: 'Update user' operationId: updateUser description: 'Updates details of a podcast. Accessible with scope: feeds' parameters: [] responses: { } tags: - User requestBody: required: true content: application/json: schema: type: object properties: name_title: type: string description: 'Title from profession or heritage. value muss mindestens 2 Zeichen lang sein.' example: Prof nullable: true first_name: type: string description: 'First name. value muss mindestens 2 Zeichen lang sein.' example: Fabio nullable: true last_name: type: string description: 'Surname. value muss mindestens 2 Zeichen lang sein.' example: Bacigalupo telephone: type: string description: 'Telephone number. value muss mindestens 2 Zeichen lang sein.' example: 030-549072653 nullable: true telefax: type: string description: 'Fax number. value muss mindestens 2 Zeichen lang sein.' example: 030-549072660 nullable: true url: type: string description: 'Website url. Must be a valid URL. value muss mindestens 6 Zeichen lang sein.' example: 'https://www.podcaster.de' nullable: true organisation: type: string description: Organisation. example: 'Podcast Plattform' nullable: true department: type: string description: Abteilung. example: IT nullable: true street: type: string description: 'Straße. value muss mindestens 3 Zeichen lang sein.' example: Brunnenstraße nullable: true housenumber: type: string description: Hausnummer. example: '147' nullable: true city: type: string description: Ort. example: Berlin nullable: true country: type: string description: Ländercode. example: DE enum: - AF - EG - AX - AL - DZ - AS - VI - UM - AD - AO - AI - AQ - AG - GQ - AR - AM - AW - AZ - ET - AU - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - VG - IO - BN - BG - BF - BI - CV - CL - CN - CK - CR - CI - CW - DK - DE - DM - DO - DJ - EC - SV - ER - EE - SZ - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - GH - GI - GD - GR - GL - GP - GU - GT - GG - GN - GW - GY - HT - HM - HN - IN - ID - IQ - IR - IE - IS - IM - IL - IT - JM - JP - YE - JE - JO - KY - KH - CM - CA - KZ - QA - KE - KG - KI - CC - CO - KM - CG - CD - HR - CU - KW - LA - LS - LV - LB - LR - LY - LI - LT - LU - MG - MW - MY - MV - ML - MT - MA - MH - MQ - MR - MU - YT - MX - FM - MC - MN - ME - MS - MZ - MM - NA - NR - NP - NC - NZ - NI - NL - NE - NG - NU - KP - MP - MK - NF - 'NO' - OM - AT - PK - PS - PW - PA - PG - PY - PE - PH - PN - PL - PT - PR - MD - RE - RW - RO - RU - SB - ZM - WS - SM - ST - SA - SE - CH - SN - RS - SC - SL - ZW - SG - SX - SK - SI - SO - HK - MO - ES - SJ - LK - BL - SH - KN - LC - MF - PM - VC - ZA - SD - GS - KR - SS - SR - SY - TJ - TW - TZ - TH - TL - TG - TK - TO - TT - TD - CZ - TN - TR - TM - TC - TV - UG - UA - HU - UY - UZ - VU - VA - VE - AE - US - GB - VN - WF - CX - EH - CF - CY post_code: type: string description: 'Postleitzahl. value muss mindestens 2 Zeichen lang sein.' example: '10115' nullable: true representative: type: string description: 'Repräsentant/in. value muss mindestens 2 Zeichen lang sein.' example: 'Fabio Bacigalupo' nullable: true mediarepresentative: type: string description: 'Repräsentant/in für Öffentlichkeitsarbeit. value muss mindestens 2 Zeichen lang sein.' example: 'Steffen Wrede' nullable: true register_court: type: string description: 'Amtsgericht. value muss mindestens 2 Zeichen lang sein.' example: Berlin nullable: true register_number: type: string description: 'Register-Nummer. value muss mindestens 2 Zeichen lang sein.' example: '1234567890' nullable: true board: type: string description: 'Vorstand. value muss mindestens 2 Zeichen lang sein.' example: 'Yvonne Ständin' nullable: true chairman: type: string description: 'Vorsitzende/r. value muss mindestens 2 Zeichen lang sein.' example: 'Frauke Vorsätzer' nullable: true controlling_authority: type: string description: 'Finanzaufsicht. value muss mindestens 2 Zeichen lang sein.' example: Bafa nullable: true additional_specifications: type: string description: 'Weitere Angaben.' example: 'Hier kann ein beliebiger Freitext ergänzt werden.' nullable: true organisiation: type: string description: 'The organisation of the account owner.' example: "'Podcast Plattform'" required: - last_name - country security: [] parameters: - in: path name: id description: 'The ID of the user.' example: 1 required: true schema: type: integer