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: "
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