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: ade8b1e3-c091-483f-ac15-c8132a326d65 links: self: 'https://app.podcaster.de/api/channels/ade8b1e3-c091-483f-ac15-c8132a326d65' rss: 'https://xh96xh.podcaster.de/poE0SNLDVsDDVgYZwMvF.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: quos subtitle: 'Id iusto et ipsa.' description: 'Suscipit impedit recusandae iusto velit. Officia eligendi distinctio sunt harum atque vitae. Ducimus optio labore non enim molestias et.' copyright: Fuga. logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: B713ZVvXyY9eBo6m7ZG7 medium: voluptatem podping: true license: identifier: 'Id minus veniam.' url: 'http://www.herzog.net/porro-officia-animi-aut-unde-molestias.html' locked: value: 'yes' owner: gernot.koch@live.de update_frequency: description: Täglich complete: true dtstart: '2026-02-07T09:00:32.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: a933aed0-03d4-4820-a2f5-33ea484c056b links: self: 'https://app.podcaster.de/api/channels/a933aed0-03d4-4820-a2f5-33ea484c056b' rss: 'https://6iqisn.podcaster.de/pXgKjyvLlM2xEYuqbf4C.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: fugiat subtitle: 'Praesentium facilis.' description: 'Repellendus exercitationem tempora repellat nihil. Sit optio incidunt a doloremque consequatur qui velit iusto.' copyright: 'Quo in.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: oYA7psBE7KSVUBugGpZE medium: impedit podping: true license: identifier: 'Ipsa dolor.' url: 'http://buttner.com/' locked: value: 'no' owner: klose.maik@gmx.de update_frequency: description: Täglich complete: false dtstart: '2026-02-07T09:00:33.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: ade8b1e3-c091-483f-ac15-c8132a326d65 links: self: 'https://app.podcaster.de/api/channels/ade8b1e3-c091-483f-ac15-c8132a326d65' rss: 'https://xh96xh.podcaster.de/poE0SNLDVsDDVgYZwMvF.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: quos subtitle: 'Id iusto et ipsa.' description: 'Suscipit impedit recusandae iusto velit. Officia eligendi distinctio sunt harum atque vitae. Ducimus optio labore non enim molestias et.' copyright: Fuga. logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: B713ZVvXyY9eBo6m7ZG7 medium: voluptatem podping: true license: identifier: 'Id minus veniam.' url: 'http://www.herzog.net/porro-officia-animi-aut-unde-molestias.html' locked: value: 'yes' owner: gernot.koch@live.de update_frequency: description: Täglich complete: true dtstart: '2026-02-07T09:00:32.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: a933aed0-03d4-4820-a2f5-33ea484c056b links: self: 'https://app.podcaster.de/api/channels/a933aed0-03d4-4820-a2f5-33ea484c056b' rss: 'https://6iqisn.podcaster.de/pXgKjyvLlM2xEYuqbf4C.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: fugiat subtitle: 'Praesentium facilis.' description: 'Repellendus exercitationem tempora repellat nihil. Sit optio incidunt a doloremque consequatur qui velit iusto.' copyright: 'Quo in.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: oYA7psBE7KSVUBugGpZE medium: impedit podping: true license: identifier: 'Ipsa dolor.' url: 'http://buttner.com/' locked: value: 'no' owner: klose.maik@gmx.de update_frequency: description: Täglich complete: false dtstart: '2026-02-07T09:00:33.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: ade8b1e3-c091-483f-ac15-c8132a326d65 links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/ade8b1e3-c091-483f-ac15-c8132a326d65' rss: type: string example: 'https://xh96xh.podcaster.de/poE0SNLDVsDDVgYZwMvF.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: quos subtitle: type: string example: 'Id iusto et ipsa.' description: type: string example: 'Suscipit impedit recusandae iusto velit. Officia eligendi distinctio sunt harum atque vitae. Ducimus optio labore non enim molestias et.' copyright: type: string example: Fuga. 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: B713ZVvXyY9eBo6m7ZG7 medium: type: string example: voluptatem podping: type: boolean example: true license: type: object properties: identifier: type: string example: 'Id minus veniam.' url: type: string example: 'http://www.herzog.net/porro-officia-animi-aut-unde-molestias.html' locked: type: object properties: value: type: string example: 'yes' owner: type: string example: gernot.koch@live.de update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: true dtstart: type: string example: '2026-02-07T09:00:32.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: 6a4f623e-bcd5-41f9-a7c7-9ceba3682ec7 feed_id: E6TthI70OVpN9BGWAQcs attributes: rss: title: maxime description: 'Ducimus nemo aut debitis facilis occaecati ducimus ipsam. Eos eos dolorem iusto quae. Dolorem molestiae autem enim necessitatibus doloremque est sit.' copyright: 'Qui minus.' subtitle: 'Ducimus et hic.' link: 'https://hammer.com/sapiente-eligendi-non-aliquid-unde.html' author: 'Corinna Thomas-Jacobs' email: engelhardt.vitali@posteo.de language: gl category: voluptatem itunes: title: null subtitle: 'Ducimus et hic.' summary: 'Corporis itaque.' author: null type: episodic block: 'no' explicit: true complete: true new_feed_url: 'http://reuter.net/' category: [] logo: null podcastindex: guid: SfHhgUrRsdblCX227fCo medium: deleniti podping: true license: identifier: 'Totam amet quam.' url: 'http://www.brunner.de/harum-quisquam-sit-nihil' locked: value: 'no' owner: engel.irmgard@gmail.com update_frequency: description: Täglich complete: false dtstart: '2026-02-07T09:00:34.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/E6TthI70OVpN9BGWAQcs' rss: 'https://n7edrl.podcaster.de/E6TthI70OVpN9BGWAQcs.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: 6a4f623e-bcd5-41f9-a7c7-9ceba3682ec7 feed_id: type: string example: E6TthI70OVpN9BGWAQcs attributes: type: object properties: rss: type: object properties: title: type: string example: maxime description: type: string example: 'Ducimus nemo aut debitis facilis occaecati ducimus ipsam. Eos eos dolorem iusto quae. Dolorem molestiae autem enim necessitatibus doloremque est sit.' copyright: type: string example: 'Qui minus.' subtitle: type: string example: 'Ducimus et hic.' link: type: string example: 'https://hammer.com/sapiente-eligendi-non-aliquid-unde.html' author: type: string example: 'Corinna Thomas-Jacobs' email: type: string example: engelhardt.vitali@posteo.de language: type: string example: gl category: type: string example: voluptatem itunes: type: object properties: title: type: string example: null nullable: true subtitle: type: string example: 'Ducimus et hic.' summary: type: string example: 'Corporis itaque.' author: type: string example: null nullable: true type: type: string example: episodic block: type: string example: 'no' explicit: type: boolean example: true complete: type: boolean example: true new_feed_url: type: string example: 'http://reuter.net/' category: type: array example: [] logo: type: string example: null nullable: true podcastindex: type: object properties: guid: type: string example: SfHhgUrRsdblCX227fCo medium: type: string example: deleniti podping: type: boolean example: true license: type: object properties: identifier: type: string example: 'Totam amet quam.' url: type: string example: 'http://www.brunner.de/harum-quisquam-sit-nihil' locked: type: object properties: value: type: string example: 'no' owner: type: string example: engel.irmgard@gmail.com update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: false dtstart: type: string example: '2026-02-07T09:00: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: [] 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/E6TthI70OVpN9BGWAQcs' rss: type: string example: 'https://n7edrl.podcaster.de/E6TthI70OVpN9BGWAQcs.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: bb63464f-a116-4f3b-a0ff-849e84fe96f3 links: self: 'https://app.podcaster.de/api/channels/bb63464f-a116-4f3b-a0ff-849e84fe96f3' rss: 'https://uznrri.podcaster.de/sl96TqGiNyLzkeZH2KPL.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: pariatur subtitle: 'Velit fugiat.' description: 'Architecto quidem cumque ducimus id. Similique consectetur inventore nostrum est aut molestiae voluptatem. Eius ut omnis minima dolor alias.' copyright: 'Quae cum.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: 1usNUHXyjjhTncXD1NOi medium: blanditiis podping: false license: identifier: 'Sunt architecto nam.' url: 'http://buchholz.com/' locked: value: 'no' owner: siegmar72@yahoo.de update_frequency: description: Täglich complete: true dtstart: '2026-02-07T09:00: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 - type: channel id: bcf70d3a-464d-418a-ad9b-db2f000269a6 links: self: 'https://app.podcaster.de/api/channels/bcf70d3a-464d-418a-ad9b-db2f000269a6' rss: 'https://iiqxjm.podcaster.de/doPPDnmJRcxGC3Pr6UQt.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: aperiam subtitle: 'Vel aut quae quo.' description: 'Sed quibusdam excepturi laudantium ex laborum itaque quas. Illo sunt sit rerum cum. Sapiente ipsam ea eum tempora a quod delectus qui.' copyright: Labore. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: gXGQgWiNrggL6nyiYkHw medium: atque podping: true license: identifier: 'Autem voluptas aut.' url: 'http://schilling.com/qui-at-ad-inventore-magnam.html' locked: value: 'no' owner: jose.jost@doring.de update_frequency: description: Täglich complete: false dtstart: '2026-02-07T09:00: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: bb63464f-a116-4f3b-a0ff-849e84fe96f3 links: self: 'https://app.podcaster.de/api/channels/bb63464f-a116-4f3b-a0ff-849e84fe96f3' rss: 'https://uznrri.podcaster.de/sl96TqGiNyLzkeZH2KPL.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: pariatur subtitle: 'Velit fugiat.' description: 'Architecto quidem cumque ducimus id. Similique consectetur inventore nostrum est aut molestiae voluptatem. Eius ut omnis minima dolor alias.' copyright: 'Quae cum.' logo: null is_explicit: false is_protected: null imported: null podcastindex: guid: 1usNUHXyjjhTncXD1NOi medium: blanditiis podping: false license: identifier: 'Sunt architecto nam.' url: 'http://buchholz.com/' locked: value: 'no' owner: siegmar72@yahoo.de update_frequency: description: Täglich complete: true dtstart: '2026-02-07T09:00: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 - type: channel id: bcf70d3a-464d-418a-ad9b-db2f000269a6 links: self: 'https://app.podcaster.de/api/channels/bcf70d3a-464d-418a-ad9b-db2f000269a6' rss: 'https://iiqxjm.podcaster.de/doPPDnmJRcxGC3Pr6UQt.rss' web: '' logo: 'https://app.podcaster.de/images/help/cover_missing.svg?v=1' attributes: rss: title: aperiam subtitle: 'Vel aut quae quo.' description: 'Sed quibusdam excepturi laudantium ex laborum itaque quas. Illo sunt sit rerum cum. Sapiente ipsam ea eum tempora a quod delectus qui.' copyright: Labore. logo: null is_explicit: true is_protected: null imported: null podcastindex: guid: gXGQgWiNrggL6nyiYkHw medium: atque podping: true license: identifier: 'Autem voluptas aut.' url: 'http://schilling.com/qui-at-ad-inventore-magnam.html' locked: value: 'no' owner: jose.jost@doring.de update_frequency: description: Täglich complete: false dtstart: '2026-02-07T09:00: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: bb63464f-a116-4f3b-a0ff-849e84fe96f3 links: type: object properties: self: type: string example: 'https://app.podcaster.de/api/channels/bb63464f-a116-4f3b-a0ff-849e84fe96f3' rss: type: string example: 'https://uznrri.podcaster.de/sl96TqGiNyLzkeZH2KPL.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: pariatur subtitle: type: string example: 'Velit fugiat.' description: type: string example: 'Architecto quidem cumque ducimus id. Similique consectetur inventore nostrum est aut molestiae voluptatem. Eius ut omnis minima dolor alias.' copyright: type: string example: 'Quae cum.' 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: 1usNUHXyjjhTncXD1NOi medium: type: string example: blanditiis podping: type: boolean example: false license: type: object properties: identifier: type: string example: 'Sunt architecto nam.' url: type: string example: 'http://buchholz.com/' locked: type: object properties: value: type: string example: 'no' owner: type: string example: siegmar72@yahoo.de update_frequency: type: object properties: description: type: string example: Täglich complete: type: boolean example: true dtstart: type: string example: '2026-02-07T09:00:35.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: http 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: true nullable: true podcast_index_update_frequency_dt_start: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-02-07T10:00:36' 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-07T10:00:36' 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: true 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-07T10:00:36' nullable: true end: type: string description: 'value muss ein gültiges Datum sein.' example: '2026-02-07T10:00:36' 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: 52b05c09-91ea-474e-aa39-a79b589a95e3 feed_id: C6rRWIWM4K5mqqNV5c7J 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: 71Oov7sw7nrvBNzelbGV 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-07T09:00: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/C6rRWIWM4K5mqqNV5c7J' rss: 'https://6xgatj.podcaster.de/C6rRWIWM4K5mqqNV5c7J.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: 52b05c09-91ea-474e-aa39-a79b589a95e3 feed_id: type: string example: C6rRWIWM4K5mqqNV5c7J 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: 71Oov7sw7nrvBNzelbGV 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-07T09:00: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/C6rRWIWM4K5mqqNV5c7J' rss: type: string example: 'https://6xgatj.podcaster.de/C6rRWIWM4K5mqqNV5c7J.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: 23240 attributes: id: 23240 name: 'Christiane Maurer' first_name: Christiane last_name: Maurer username: testing-kieferangelo7303 email: jansen.julia@example.org name_title: null telephone: '+497252249 6421' telefax: '+49 (09467) 039' url: 'http://hartwig.com/' organisation: 'Hartung KG' department: null street: Petersweg housenumber: '170' city: Euskirchen country: NI post_code: '01488' 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: 23240 attributes: type: object properties: id: type: integer example: 23240 name: type: string example: 'Christiane Maurer' first_name: type: string example: Christiane last_name: type: string example: Maurer username: type: string example: testing-kieferangelo7303 email: type: string example: jansen.julia@example.org name_title: type: string example: null nullable: true telephone: type: string example: '+497252249 6421' telefax: type: string example: '+49 (09467) 039' url: type: string example: 'http://hartwig.com/' organisation: type: string example: 'Hartung KG' department: type: string example: null nullable: true street: type: string example: Petersweg housenumber: type: string example: '170' city: type: string example: Euskirchen country: type: string example: NI post_code: type: string example: '01488' 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