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: false 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: 'Must match an existing stored value.' 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. Must match an existing stored value.' 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: 3dd3c2cb-131e-4fcd-a93c-d1bf00a46b4f links: self: 'https://app.podcaster.de/api/channels/3dd3c2cb-131e-4fcd-a93c-d1bf00a46b4f' rss: 'https://raptmk.podcaster.de/XW6hHsUE9WHIxnHFjJsO.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: consectetur subtitle: 'Debitis magnam.' description: 'Est quia voluptates rerum impedit commodi. Eius eveniet alias vitae.' copyright: Expedita. logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: dOXuhVOt4bhL8SZa3LWe medium: doloribus podping: true license: identifier: 'Odit est rem nemo.' url: 'http://jansen.de/quam-laudantium-quidem-repellat-vitae-natus-illo-est' locked: value: 'yes' owner: ulrich.halil@live.de update_frequency: description: Täglich complete: false dtstart: '2026-07-01T15:07:58.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: 1e23c4ea-623e-44ed-9f73-8f9b95cd71d1 links: self: 'https://app.podcaster.de/api/channels/1e23c4ea-623e-44ed-9f73-8f9b95cd71d1' rss: 'https://2fscd9.podcaster.de/5qSO1wYCfdYF1y8jjaYa.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: voluptas subtitle: 'Quia quibusdam.' description: 'Quae iusto sunt ut id asperiores earum qui. Fugiat alias non magnam in. Saepe aliquam quo atque rerum.' copyright: 'Nemo ea.' logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: jjrHbevuNxotcYjZZwXI medium: eos podping: false license: identifier: 'Et expedita debitis.' url: 'http://seeger.net/nulla-voluptate-quas-nam-sequi' locked: value: 'no' owner: elfriede17@rose.net update_frequency: description: Täglich complete: true dtstart: '2026-07-01T15:07:58.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: 3dd3c2cb-131e-4fcd-a93c-d1bf00a46b4f links: self: 'https://app.podcaster.de/api/channels/3dd3c2cb-131e-4fcd-a93c-d1bf00a46b4f' rss: 'https://raptmk.podcaster.de/XW6hHsUE9WHIxnHFjJsO.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: consectetur subtitle: 'Debitis magnam.' description: 'Est quia voluptates rerum impedit commodi. Eius eveniet alias vitae.' copyright: Expedita. logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: dOXuhVOt4bhL8SZa3LWe medium: doloribus podping: true license: identifier: 'Odit est rem nemo.' url: 'http://jansen.de/quam-laudantium-quidem-repellat-vitae-natus-illo-est' locked: value: 'yes' owner: ulrich.halil@live.de update_frequency: description: Täglich complete: false dtstart: '2026-07-01T15:07:58.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: 1e23c4ea-623e-44ed-9f73-8f9b95cd71d1 links: self: 'https://app.podcaster.de/api/channels/1e23c4ea-623e-44ed-9f73-8f9b95cd71d1' rss: 'https://2fscd9.podcaster.de/5qSO1wYCfdYF1y8jjaYa.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: voluptas subtitle: 'Quia quibusdam.' description: 'Quae iusto sunt ut id asperiores earum qui. Fugiat alias non magnam in. Saepe aliquam quo atque rerum.' copyright: 'Nemo ea.' logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: jjrHbevuNxotcYjZZwXI medium: eos podping: false license: identifier: 'Et expedita debitis.' url: 'http://seeger.net/nulla-voluptate-quas-nam-sequi' locked: value: 'no' owner: elfriede17@rose.net update_frequency: description: Täglich complete: true dtstart: '2026-07-01T15:07:58.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: 3dd3c2cb-131e-4fcd-a93c-d1bf00a46b4f links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/3dd3c2cb-131e-4fcd-a93c-d1bf00a46b4f' rss: type: string example: 'https://raptmk.podcaster.de/XW6hHsUE9WHIxnHFjJsO.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: consectetur subtitle: type: string example: 'Debitis magnam.' description: type: string example: 'Est quia voluptates rerum impedit commodi. Eius eveniet alias vitae.' copyright: type: string example: Expedita. 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: dOXuhVOt4bhL8SZa3LWe medium: type: string example: doloribus podping: type: boolean example: true license: type: object properties: identifier: type: string example: 'Odit est rem nemo.' url: type: string example: 'http://jansen.de/quam-laudantium-quidem-repellat-vitae-natus-illo-est' locked: type: object properties: value: type: string example: 'yes' owner: type: string example: ulrich.halil@live.de update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: false dtstart: type: string example: '2026-07-01T15:07:58.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: fba48856-0f71-455e-b459-c92cf367f6d8 feed_id: ywfrOKFXzSHj2GEOUEZR 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: episodic block: 'yes' explicit: false complete: false new_feed_url: 'http://marquardt.de/dolores-sed-rem-ea' category: [] logo: null podcastindex: guid: 1kf3D4mJL7Qm4mWHxvsV 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-07-01T15:07:59.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/ywfrOKFXzSHj2GEOUEZR' rss: 'https://bo2gz5.podcaster.de/ywfrOKFXzSHj2GEOUEZR.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: fba48856-0f71-455e-b459-c92cf367f6d8 feed_id: type: string example: ywfrOKFXzSHj2GEOUEZR 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: episodic 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: 1kf3D4mJL7Qm4mWHxvsV 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-07-01T15:07:59.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/ywfrOKFXzSHj2GEOUEZR' rss: type: string example: 'https://bo2gz5.podcaster.de/ywfrOKFXzSHj2GEOUEZR.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: 33e1c303-c1c0-42cb-944c-edabf165905b links: self: 'https://app.podcaster.de/api/channels/33e1c303-c1c0-42cb-944c-edabf165905b' rss: 'https://4gdig5.podcaster.de/H1i3kNbJX3FsRwdmziDZ.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: natus subtitle: 'Quisquam quam cum.' description: 'Sed velit et unde modi aut ut et quibusdam. Qui consectetur tempora sed tenetur expedita rem velit. Et qui architecto neque cupiditate dicta.' copyright: 'Beatae ea.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: qMZQqGBhDLCHGLgMgWlk medium: quisquam podping: true license: identifier: 'Doloribus qui nihil.' url: 'http://www.altmann.com/quo-cum-facere-sit-soluta-qui.html' locked: value: 'no' owner: ella.seitz@hansen.com update_frequency: description: Täglich complete: false dtstart: '2026-07-01T15:08:00.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: 4a042bc9-d996-4261-bae8-3ca7a8b26acc links: self: 'https://app.podcaster.de/api/channels/4a042bc9-d996-4261-bae8-3ca7a8b26acc' rss: 'https://ht9bln.podcaster.de/3ugxfQqw1f2sSP4rIGIm.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: labore subtitle: 'Mollitia veniam.' description: 'Voluptates corrupti modi fugit non. Delectus et ut laudantium dolores unde. Est ut cumque quasi impedit provident. Quaerat et eligendi deserunt ab. Esse aut id non. Beatae ex libero iure ea vel ut.' copyright: Sunt. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: Yk14hDqIUH8EfHUeV4T0 medium: suscipit podping: true license: identifier: 'Eius nobis sit.' url: 'http://www.hartung.com/' locked: value: 'yes' owner: nschuler@t-online.de update_frequency: description: Täglich complete: false dtstart: '2026-07-01T15:08:01.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: 33e1c303-c1c0-42cb-944c-edabf165905b links: self: 'https://app.podcaster.de/api/channels/33e1c303-c1c0-42cb-944c-edabf165905b' rss: 'https://4gdig5.podcaster.de/H1i3kNbJX3FsRwdmziDZ.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: natus subtitle: 'Quisquam quam cum.' description: 'Sed velit et unde modi aut ut et quibusdam. Qui consectetur tempora sed tenetur expedita rem velit. Et qui architecto neque cupiditate dicta.' copyright: 'Beatae ea.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: qMZQqGBhDLCHGLgMgWlk medium: quisquam podping: true license: identifier: 'Doloribus qui nihil.' url: 'http://www.altmann.com/quo-cum-facere-sit-soluta-qui.html' locked: value: 'no' owner: ella.seitz@hansen.com update_frequency: description: Täglich complete: false dtstart: '2026-07-01T15:08:00.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: 4a042bc9-d996-4261-bae8-3ca7a8b26acc links: self: 'https://app.podcaster.de/api/channels/4a042bc9-d996-4261-bae8-3ca7a8b26acc' rss: 'https://ht9bln.podcaster.de/3ugxfQqw1f2sSP4rIGIm.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: labore subtitle: 'Mollitia veniam.' description: 'Voluptates corrupti modi fugit non. Delectus et ut laudantium dolores unde. Est ut cumque quasi impedit provident. Quaerat et eligendi deserunt ab. Esse aut id non. Beatae ex libero iure ea vel ut.' copyright: Sunt. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: Yk14hDqIUH8EfHUeV4T0 medium: suscipit podping: true license: identifier: 'Eius nobis sit.' url: 'http://www.hartung.com/' locked: value: 'yes' owner: nschuler@t-online.de update_frequency: description: Täglich complete: false dtstart: '2026-07-01T15:08:01.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: 33e1c303-c1c0-42cb-944c-edabf165905b links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/33e1c303-c1c0-42cb-944c-edabf165905b' rss: type: string example: 'https://4gdig5.podcaster.de/H1i3kNbJX3FsRwdmziDZ.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: natus subtitle: type: string example: 'Quisquam quam cum.' description: type: string example: 'Sed velit et unde modi aut ut et quibusdam. Qui consectetur tempora sed tenetur expedita rem velit. Et qui architecto neque cupiditate dicta.' copyright: type: string example: 'Beatae ea.' 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: qMZQqGBhDLCHGLgMgWlk medium: type: string example: quisquam podping: type: boolean example: true license: type: object properties: identifier: type: string example: 'Doloribus qui nihil.' url: type: string example: 'http://www.altmann.com/quo-cum-facere-sit-soluta-qui.html' locked: type: object properties: value: type: string example: 'no' owner: type: string example: ella.seitz@hansen.com update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: false dtstart: type: string example: '2026-07-01T15:08:00.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: 'Must match an existing stored value. 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: 'true' 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: false 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: false nullable: true podcast_index_update_frequency_dt_start: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-07-01T17:08:01' 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-07-01T17:08:01' 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-07-01T17:08:01' nullable: true end: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-07-01T17:08:01' 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: 425fc8e9-1185-40fe-a8d4-b28f61addaa3 feed_id: JskaGfocagEzshSuZekt 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: KAl3UzHZxqgkGxFDmnQy 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-07-01T15:08:02.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/JskaGfocagEzshSuZekt' rss: 'https://gexypr.podcaster.de/JskaGfocagEzshSuZekt.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: 425fc8e9-1185-40fe-a8d4-b28f61addaa3 feed_id: type: string example: JskaGfocagEzshSuZekt 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: KAl3UzHZxqgkGxFDmnQy 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-07-01T15:08:02.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/JskaGfocagEzshSuZekt' rss: type: string example: 'https://gexypr.podcaster.de/JskaGfocagEzshSuZekt.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: 23678 attributes: id: 23678 name: 'Marija Rau' first_name: Marija last_name: Rau username: testing-buckhanspeter575 email: georg42@example.com name_title: null telephone: '(0441) 093 3724' telefax: '(0211) 0319279' url: 'https://www.krug.net/nostrum-omnis-autem-et-consequatur-aut' organisation: Steiner department: null street: Anne-Beyer-Ring housenumber: '426' city: Wiehl country: VG post_code: '37788' 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: 23678 attributes: type: object properties: id: type: integer example: 23678 name: type: string example: 'Marija Rau' first_name: type: string example: Marija last_name: type: string example: Rau username: type: string example: testing-buckhanspeter575 email: type: string example: georg42@example.com name_title: type: string example: null nullable: true telephone: type: string example: '(0441) 093 3724' telefax: type: string example: '(0211) 0319279' url: type: string example: 'https://www.krug.net/nostrum-omnis-autem-et-consequatur-aut' organisation: type: string example: Steiner department: type: string example: null nullable: true street: type: string example: Anne-Beyer-Ring housenumber: type: string example: '426' city: type: string example: Wiehl country: type: string example: VG post_code: type: string example: '37788' 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