Introduction
Through the podcaster API you can access your media files, podcast feeds and episodes.
This documentation aims to provide all the information you need to work with our API.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
Authenticating requests
This API is not authenticated.
Endpoints
POST api/webhooks/syncing
Example request:
curl --request POST \
"https://app.podcaster.de/api/webhooks/syncing" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/webhooks/syncing"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/webhooks/syncing';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/webhooks/syncing'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Episodes
List episodes
Returns a list of episodes belonging to a podcast channel. Accessible with scopes: shows,shows-read-only
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/shows?channel_id=123e4567-e89b-12d3-a456-426655440000&page[number]=22&page[size]=7&filter=Kurzfilm&sortBy=published_at&sortDesc=desc&page%5Bnumber%5D=1&page%5Bsize%5D=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/shows"
);
const params = {
"channel_id": "123e4567-e89b-12d3-a456-426655440000",
"page[number]": "22",
"page[size]": "7",
"filter": "Kurzfilm",
"sortBy": "published_at",
"sortDesc": "desc",
"page[number]": "1",
"page[size]": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'channel_id' => '123e4567-e89b-12d3-a456-426655440000',
'page[number]' => '22',
'page[size]' => '7',
'filter' => 'Kurzfilm',
'sortBy' => 'published_at',
'sortDesc' => 'desc',
'page[number]' => '1',
'page[size]' => '10',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/shows'
params = {
'channel_id': '123e4567-e89b-12d3-a456-426655440000',
'page[number]': '22',
'page[size]': '7',
'filter': 'Kurzfilm',
'sortBy': 'published_at',
'sortDesc': 'desc',
'page[number]': '1',
'page[size]': '10',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
{
"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": "<div>Dies ist eine Beispiel-Episode für den Podcast-Hostingservice podcaster.de <br></div><div></div>\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"
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create episode
Adds a new episode. Accessible with scope: shows
Example request:
curl --request POST \
"https://app.podcaster.de/api/shows" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "channel_id=123e4567-e89b-12d3-a456-426655440000"\
--form "status=PUBLISHED"\
--form "title=Dies ist eine Episode."\
--form "description="\
--form "author=Maxima Musterfrau"\
--form "copyright=Podcast-Team MM"\
--form "link="\
--form "file_id=1554927456"\
--form "itunes[title]="\
--form "itunes[subtitle]="\
--form "itunes[summary]="\
--form "itunes[episode]=0"\
--form "itunes[episodeType]="\
--form "itunes[season]=0"\
--form "itunes[logo]="\
--form "itunes[explicit]="\
--form "itunes[block]="\
--form "itunes[author]="\
--form "publishing_date=2021-08-26"\
--form "publishing_time=12:10:59"\
--form "podcastindex[episode_node_value]=4326.41688"\
--form "podcastindex[episode_display]=m"\
--form "podcastindex[chapter_url]=https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt"\
--form "podcastindex[chapter_type]=w"\
--form "podcastindex[image_srcset]=architecto"\
--form "podcastindex[license_node_value]=n"\
--form "podcastindex[license_url]=http://crooks.biz/et-fugiat-sunt-nihil-accusantium"\
--form "podcastindex[location_node_value]=n"\
--form "podcastindex[location_geo_latitude]=4326.41688"\
--form "podcastindex[location_geo_longitude]=4326.41688"\
--form "podcastindex[location_osm]=m"\
--form "podcastindex[season_node_value]=16"\
--form "podcastindex[season_name]=n"\
--form "write_metadata=1"\
--form "media=@/tmp/php39719aq2b0b2amgHh6C" const url = new URL(
"https://app.podcaster.de/api/shows"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('channel_id', '123e4567-e89b-12d3-a456-426655440000');
body.append('status', 'PUBLISHED');
body.append('title', 'Dies ist eine Episode.');
body.append('description', '');
body.append('author', 'Maxima Musterfrau');
body.append('copyright', 'Podcast-Team MM');
body.append('link', '');
body.append('file_id', '1554927456');
body.append('itunes[title]', '');
body.append('itunes[subtitle]', '');
body.append('itunes[summary]', '');
body.append('itunes[episode]', '0');
body.append('itunes[episodeType]', '');
body.append('itunes[season]', '0');
body.append('itunes[logo]', '');
body.append('itunes[explicit]', '');
body.append('itunes[block]', '');
body.append('itunes[author]', '');
body.append('publishing_date', '2021-08-26');
body.append('publishing_time', '12:10:59');
body.append('podcastindex[episode_node_value]', '4326.41688');
body.append('podcastindex[episode_display]', 'm');
body.append('podcastindex[chapter_url]', 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt');
body.append('podcastindex[chapter_type]', 'w');
body.append('podcastindex[image_srcset]', 'architecto');
body.append('podcastindex[license_node_value]', 'n');
body.append('podcastindex[license_url]', 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium');
body.append('podcastindex[location_node_value]', 'n');
body.append('podcastindex[location_geo_latitude]', '4326.41688');
body.append('podcastindex[location_geo_longitude]', '4326.41688');
body.append('podcastindex[location_osm]', 'm');
body.append('podcastindex[season_node_value]', '16');
body.append('podcastindex[season_name]', 'n');
body.append('write_metadata', '1');
body.append('media', document.querySelector('input[name="media"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'channel_id',
'contents' => '123e4567-e89b-12d3-a456-426655440000'
],
[
'name' => 'status',
'contents' => 'PUBLISHED'
],
[
'name' => 'title',
'contents' => 'Dies ist eine Episode.'
],
[
'name' => 'description',
'contents' => ''
],
[
'name' => 'author',
'contents' => 'Maxima Musterfrau'
],
[
'name' => 'copyright',
'contents' => 'Podcast-Team MM'
],
[
'name' => 'link',
'contents' => ''
],
[
'name' => 'file_id',
'contents' => '1554927456'
],
[
'name' => 'itunes[title]',
'contents' => ''
],
[
'name' => 'itunes[subtitle]',
'contents' => ''
],
[
'name' => 'itunes[summary]',
'contents' => ''
],
[
'name' => 'itunes[episode]',
'contents' => '0'
],
[
'name' => 'itunes[episodeType]',
'contents' => ''
],
[
'name' => 'itunes[season]',
'contents' => '0'
],
[
'name' => 'itunes[logo]',
'contents' => ''
],
[
'name' => 'itunes[explicit]',
'contents' => ''
],
[
'name' => 'itunes[block]',
'contents' => ''
],
[
'name' => 'itunes[author]',
'contents' => ''
],
[
'name' => 'publishing_date',
'contents' => '2021-08-26'
],
[
'name' => 'publishing_time',
'contents' => '12:10:59'
],
[
'name' => 'podcastindex[episode_node_value]',
'contents' => '4326.41688'
],
[
'name' => 'podcastindex[episode_display]',
'contents' => 'm'
],
[
'name' => 'podcastindex[chapter_url]',
'contents' => 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt'
],
[
'name' => 'podcastindex[chapter_type]',
'contents' => 'w'
],
[
'name' => 'podcastindex[image_srcset]',
'contents' => 'architecto'
],
[
'name' => 'podcastindex[license_node_value]',
'contents' => 'n'
],
[
'name' => 'podcastindex[license_url]',
'contents' => 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium'
],
[
'name' => 'podcastindex[location_node_value]',
'contents' => 'n'
],
[
'name' => 'podcastindex[location_geo_latitude]',
'contents' => '4326.41688'
],
[
'name' => 'podcastindex[location_geo_longitude]',
'contents' => '4326.41688'
],
[
'name' => 'podcastindex[location_osm]',
'contents' => 'm'
],
[
'name' => 'podcastindex[season_node_value]',
'contents' => '16'
],
[
'name' => 'podcastindex[season_name]',
'contents' => 'n'
],
[
'name' => 'write_metadata',
'contents' => '1'
],
[
'name' => 'media',
'contents' => fopen('/tmp/php39719aq2b0b2amgHh6C', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/shows'
files = {
'channel_id': (None, '123e4567-e89b-12d3-a456-426655440000'),
'status': (None, 'PUBLISHED'),
'title': (None, 'Dies ist eine Episode.'),
'description': (None, ''),
'author': (None, 'Maxima Musterfrau'),
'copyright': (None, 'Podcast-Team MM'),
'link': (None, ''),
'file_id': (None, '1554927456'),
'itunes[title]': (None, ''),
'itunes[subtitle]': (None, ''),
'itunes[summary]': (None, ''),
'itunes[episode]': (None, '0'),
'itunes[episodeType]': (None, ''),
'itunes[season]': (None, '0'),
'itunes[logo]': (None, ''),
'itunes[explicit]': (None, ''),
'itunes[block]': (None, ''),
'itunes[author]': (None, ''),
'publishing_date': (None, '2021-08-26'),
'publishing_time': (None, '12:10:59'),
'podcastindex[episode_node_value]': (None, '4326.41688'),
'podcastindex[episode_display]': (None, 'm'),
'podcastindex[chapter_url]': (None, 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt'),
'podcastindex[chapter_type]': (None, 'w'),
'podcastindex[image_srcset]': (None, 'architecto'),
'podcastindex[license_node_value]': (None, 'n'),
'podcastindex[license_url]': (None, 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium'),
'podcastindex[location_node_value]': (None, 'n'),
'podcastindex[location_geo_latitude]': (None, '4326.41688'),
'podcastindex[location_geo_longitude]': (None, '4326.41688'),
'podcastindex[location_osm]': (None, 'm'),
'podcastindex[season_node_value]': (None, '16'),
'podcastindex[season_name]': (None, 'n'),
'write_metadata': (None, '1'),
'media': open('/tmp/php39719aq2b0b2amgHh6C', 'rb')}
payload = {
"channel_id": "123e4567-e89b-12d3-a456-426655440000",
"status": "PUBLISHED",
"title": "Dies ist eine Episode.",
"description": "",
"author": "Maxima Musterfrau",
"copyright": "Podcast-Team MM",
"link": "",
"file_id": "1554927456",
"itunes": {
"title": "",
"subtitle": "",
"summary": "",
"episode": 0,
"episodeType": "",
"season": 0,
"logo": "",
"explicit": false,
"block": false,
"author": ""
},
"publishing_date": "2021-08-26",
"publishing_time": "12:10:59",
"podcastindex": {
"episode_node_value": 4326.41688,
"episode_display": "m",
"chapter_url": "https:\/\/www.gulgowski.com\/nihil-accusantium-harum-mollitia-modi-deserunt",
"chapter_type": "w",
"image_srcset": "architecto",
"license_node_value": "n",
"license_url": "http:\/\/crooks.biz\/et-fugiat-sunt-nihil-accusantium",
"location_node_value": "n",
"location_geo_latitude": 4326.41688,
"location_geo_longitude": 4326.41688,
"location_osm": "m",
"season_node_value": 16,
"season_name": "n"
},
"write_metadata": true
}
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, files=files)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get episode
Gets details of an episode. Accessible with scopes: shows,shows-read-only
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"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": ""
}
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete episode
Removes an episode from a podcast channel. Accessible with scope: shows
Example request:
curl --request DELETE \
"https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/shows/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Copy episode
Creates a copy of a show. You can create a duplicate within the same podcast or copy the show to another podcast.
The copy is always saved with status draft.
Accessible with scope: shows
Example request:
curl --request POST \
"https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
const url = new URL(
"https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/copy'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Moves an episode from one podcast to another.
Accessible with scope: shows
Example request:
curl --request POST \
"https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/show/6ff8f7f6-1eb3-3525-be4a-3932c805afed/move/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Media
List files
Gets a list of the user´s uploaded (media) files. Accessible with scopes: media,media-read-only
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/media?sort_by=name&sort_dir=desc&filter=%22kreativ%22&strict=1&page[number]=1&page[size]=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/media"
);
const params = {
"sort_by": "name",
"sort_dir": "desc",
"filter": ""kreativ"",
"strict": "1",
"page[number]": "1",
"page[size]": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'sort_by' => 'name',
'sort_dir' => 'desc',
'filter' => '"kreativ"',
'strict' => '1',
'page[number]' => '1',
'page[size]' => '10',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/media'
params = {
'sort_by': 'name',
'sort_dir': 'desc',
'filter': '"kreativ"',
'strict': '1',
'page[number]': '1',
'page[size]': '10',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
{
"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"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload file
Stores a file in the media manager.
Example request:
curl --request POST \
"https://app.podcaster.de/api/media" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "media=@/tmp/phpq2h1tqivoir7c5VevDq" const url = new URL(
"https://app.podcaster.de/api/media"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('media', document.querySelector('input[name="media"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'media',
'contents' => fopen('/tmp/phpq2h1tqivoir7c5VevDq', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/media'
files = {
'media': open('/tmp/phpq2h1tqivoir7c5VevDq', 'rb')}
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, files=files)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get file
Gets details for a media file.
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/media/0" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/media/0"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/0';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/media/0'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"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"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete file
Remove a file from the media manager.
Example request:
curl --request DELETE \
"https://app.podcaster.de/api/media/123456789" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/media/123456789"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/123456789';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/media/123456789'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get metadata
Retrieves the metadata of a mediafile
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/media/architecto/metadata" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"id\": \"6ff8f7f6-1eb3-3525-be4a-3932c805afed\"
}"
const url = new URL(
"https://app.podcaster.de/api/media/architecto/metadata"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "6ff8f7f6-1eb3-3525-be4a-3932c805afed"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/architecto/metadata';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'id' => '6ff8f7f6-1eb3-3525-be4a-3932c805afed',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/media/architecto/metadata'
payload = {
"id": "6ff8f7f6-1eb3-3525-be4a-3932c805afed"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, json=payload)
response.json()Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update metadata
Change a mediafile's metadata
Example request:
curl --request PUT \
"https://app.podcaster.de/api/media/architecto/metadata" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"image\": 4326.41688
}"
const url = new URL(
"https://app.podcaster.de/api/media/architecto/metadata"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"image": 4326.41688
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/media/architecto/metadata';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'image' => 4326.41688,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/media/architecto/metadata'
payload = {
"image": 4326.41688
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Podcasts
List podcasts (legacy)
Do not use this endpoint anymore. Use /api/channels instead.
Returns a list of podcasts. Accessible with scopes: feeds,feeds-read-only
Changes since deprecation: type has changed from 'feed' to 'channel', new fields for Podcast Index added
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/feeds?page%5Bnumber%5D=1&page%5Bsize%5D=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/feeds"
);
const params = {
"page[number]": "1",
"page[size]": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/feeds';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page[number]' => '1',
'page[size]' => '10',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/feeds'
params = {
'page[number]': '1',
'page[size]': '10',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
{
"data": [
{
"type": "channel",
"id": "a7fdb298-1594-4b29-99e1-8aa9ef247912",
"links": {
"self": "https://app.podcaster.de/api/channels/a7fdb298-1594-4b29-99e1-8aa9ef247912",
"rss": "https://hmoalr.podcaster.de/A9n5TEXhTpeAx8pmLr5q.rss",
"web": "",
"logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
},
"attributes": {
"rss": {
"title": "voluptas",
"subtitle": "Consequatur hic.",
"description": "Occaecati eum reiciendis perferendis natus. Dolorem porro nobis vitae. Iure qui doloribus alias a laboriosam impedit. Neque dolor consequatur quia et voluptatem laboriosam.",
"copyright": "Minima."
},
"logo": null,
"is_explicit": true,
"is_protected": null,
"imported": null,
"podcastindex": {
"guid": "ZU1p9w5CcQUW3C5G2JPJ",
"medium": "temporibus",
"podping": true,
"license": {
"identifier": "Velit assumenda qui.",
"url": "http://www.christ.com/aut-repellat-officiis-veritatis-amet-dolores.html"
},
"locked": {
"value": "yes",
"owner": "tino90@hein.com"
},
"update_frequency": {
"description": "Täglich",
"complete": false,
"dtstart": "2025-12-31T10:54:19.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": "476386bf-71b3-40c8-9906-aee0978f9f31",
"links": {
"self": "https://app.podcaster.de/api/channels/476386bf-71b3-40c8-9906-aee0978f9f31",
"rss": "https://bhq8n8.podcaster.de/CK9s30Jxk9eWeLnoXsaF.rss",
"web": "",
"logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
},
"attributes": {
"rss": {
"title": "est",
"subtitle": "Dolores maxime est.",
"description": "Fugit eaque rem perferendis animi tempora labore debitis. Ab tenetur doloribus nobis quod. Qui rem quis aut ut libero. Cupiditate in dolor autem rerum ex pariatur corrupti.",
"copyright": "Sed ea."
},
"logo": null,
"is_explicit": true,
"is_protected": null,
"imported": null,
"podcastindex": {
"guid": "njMkhHlA4GsMSwv7r94h",
"medium": "et",
"podping": true,
"license": {
"identifier": "Molestiae dolor eos.",
"url": "http://www.bartels.com/excepturi-repellat-architecto-vero-necessitatibus-reiciendis-recusandae.html"
},
"locked": {
"value": "yes",
"owner": "joachim86@westphal.com"
},
"update_frequency": {
"description": "Täglich",
"complete": false,
"dtstart": "2025-12-31T10:54:20.000000Z",
"rrule": "FREQ=DAILY"
},
"chat": [],
"trailer": [],
"blocks": [],
"fundings": [],
"images": [],
"locations": [],
"persons": [],
"txts": [],
"social_interacts": [],
"remote_items": [],
"podrolls": [],
"publisher": [],
"live_items": [],
"values": []
}
},
"shows_count": 0
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get podcast (legacy)
Returns information about a podcast (feed). Accessible with scopes: feeds,feeds-read-only
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/feeds/beispiel" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/feeds/beispiel"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/feeds/beispiel';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/feeds/beispiel'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"data": {
"type": "channel",
"id": "e7bad4f5-2e8e-4110-ac4e-c8b5609f725c",
"feed_id": "FX1J7laadcQmXQABVPsd",
"attributes": {
"rss": {
"title": "fugit",
"description": "Voluptatibus aut voluptatem consectetur aut error. Tempore molestiae minus quidem et doloribus quis nisi. Dolorem ut vel et voluptate est impedit.",
"copyright": "Dolore.",
"subtitle": "Quis sunt ea ut.",
"link": "http://busse.com/cum-odio-et-nisi-natus",
"author": "Frau Hertha Sauter",
"email": "ilse82@gmail.com",
"language": "km",
"category": "sed"
},
"itunes": {
"title": null,
"subtitle": "Quis sunt ea ut.",
"summary": "Dolores libero.",
"author": null,
"type": "serial",
"block": true,
"explicit": false,
"complete": false,
"new_feed_url": "http://www.wiedemann.org/et-vel-libero-vel",
"category": [],
"logo": null
},
"podcastindex": {
"guid": "cory1j3l8hvxnzQYVitA",
"medium": "nesciunt",
"podping": true,
"license": {
"identifier": "Aut reiciendis.",
"url": "http://www.kaufmann.de/dolore-maiores-impedit-voluptatem-omnis-perspiciatis-iusto.html"
},
"locked": {
"value": "yes",
"owner": "jost09@googlemail.com"
},
"update_frequency": {
"description": "Täglich",
"complete": false,
"dtstart": "2025-12-31T10:54:20.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/FX1J7laadcQmXQABVPsd",
"rss": "https://8nsbvi.podcaster.de/FX1J7laadcQmXQABVPsd.rss",
"web": "",
"logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1",
"remove_sync": false
},
"shows_count": 0,
"imported": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List podcasts
Returns a list of podcasts. Accessible with scopes: feeds,feeds-read-only
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/channels?page%5Bnumber%5D=1&page%5Bsize%5D=10" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/channels"
);
const params = {
"page[number]": "1",
"page[size]": "10",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page[number]' => '1',
'page[size]' => '10',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/channels'
params = {
'page[number]': '1',
'page[size]': '10',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200):
{
"data": [
{
"type": "channel",
"id": "12306f37-837f-4997-8123-5448beb8ecc3",
"links": {
"self": "https://app.podcaster.de/api/channels/12306f37-837f-4997-8123-5448beb8ecc3",
"rss": "https://1esweby.podcaster.de/NjgWxJJSjtgPlsC39V8y.rss",
"web": "",
"logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
},
"attributes": {
"rss": {
"title": "repellendus",
"subtitle": "Rerum sunt.",
"description": "Provident commodi neque deleniti veniam nam at. Autem ratione aut vel et. Dolorem dolorem aspernatur reprehenderit ut voluptatem qui aperiam. Fugit cum veritatis est accusantium illum.",
"copyright": "Nostrum."
},
"logo": null,
"is_explicit": false,
"is_protected": null,
"imported": null,
"podcastindex": {
"guid": "z2uFj8Bm4kZpRZzSN9XD",
"medium": "ut",
"podping": true,
"license": {
"identifier": "Rerum dolores quo.",
"url": "http://herold.com/"
},
"locked": {
"value": "yes",
"owner": "nico06@hotmail.de"
},
"update_frequency": {
"description": "Täglich",
"complete": true,
"dtstart": "2025-12-31T10:54:21.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": "896a582a-2bdb-4b0d-affc-d4cd5a718517",
"links": {
"self": "https://app.podcaster.de/api/channels/896a582a-2bdb-4b0d-affc-d4cd5a718517",
"rss": "https://2b6dx1.podcaster.de/niGvw1ghOXVg3y6J5Qri.rss",
"web": "",
"logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1"
},
"attributes": {
"rss": {
"title": "qui",
"subtitle": "Enim animi ipsam.",
"description": "Rem expedita repellat vitae neque ipsam. Accusamus sit voluptatibus et neque. Impedit similique placeat assumenda aut.",
"copyright": "Sequi vel."
},
"logo": null,
"is_explicit": false,
"is_protected": null,
"imported": null,
"podcastindex": {
"guid": "x6xQrXNXWKGHRDFgl4Ca",
"medium": "quia",
"podping": true,
"license": {
"identifier": "Suscipit ea sit.",
"url": "http://www.schmidt.org/aspernatur-explicabo-deserunt-quisquam-quae-est"
},
"locked": {
"value": "yes",
"owner": "schulze.knut@googlemail.com"
},
"update_frequency": {
"description": "Täglich",
"complete": true,
"dtstart": "2025-12-31T10:54:22.000000Z",
"rrule": "FREQ=DAILY"
},
"chat": [],
"trailer": [],
"blocks": [],
"fundings": [],
"images": [],
"locations": [],
"persons": [],
"txts": [],
"social_interacts": [],
"remote_items": [],
"podrolls": [],
"publisher": [],
"live_items": [],
"values": []
}
},
"shows_count": 0
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create podcast
Creates a new podcast. Accessible with scope: feeds
Example request:
curl --request POST \
"https://app.podcaster.de/api/channels?channel=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"feed_id\": \"neuer-podcast\",
\"feed_url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
\"title\": \"Dies ist ein Podcast.\",
\"author\": \"Fabio\",
\"description\": \"Diese Episode ist über das podcaster API.\",
\"copyright\": \"Free to use\",
\"link\": \"https:\\/\\/beispiel.podcast.de\",
\"email\": \"cecil42@example.com\",
\"language\": \"y\",
\"category\": \"k\",
\"apple_podcasts_title\": \"c\",
\"apple_podcasts_subtitle\": \"Das ist der Untertitel\",
\"apple_podcasts_summary\": \"m\",
\"apple_podcasts_explicit\": \"\",
\"apple_podcasts_block\": \"yes\",
\"apple_podcasts_complete\": \"yes\",
\"apple_podcasts_author\": \"y\",
\"apple_podcasts_type\": \"episodic\",
\"channel_apple_podcasts_category\": [],
\"channel_domain\": {
\"protocol\": \"https\",
\"domain\": \"b\",
\"subdomain\": \"n\"
},
\"image_id\": \"architecto\",
\"podcast_index_guid\": \"architecto\",
\"podcast_index_medium\": \"n\",
\"podcast_index_uses_podping\": true,
\"podcast_index_license_node_value\": \"g\",
\"podcast_index_license_url\": \"http:\\/\\/www.okuneva.com\\/fugiat-sunt-nihil-accusantium-harum-mollitia.html\",
\"podcast_index_locked_node_value\": \"k\",
\"podcast_index_locked_owner\": \"aschuster@example.com\",
\"podcast_index_update_frequency_node_value\": \"k\",
\"podcast_index_update_frequency_complete\": true,
\"podcast_index_update_frequency_dt_start\": \"2025-12-31T11:54:22\",
\"podcast_index_update_frequency_rrule\": \"architecto\",
\"podcast_index_trailer\": {
\"node_value\": \"n\",
\"url\": \"http:\\/\\/crooks.biz\\/et-fugiat-sunt-nihil-accusantium\",
\"pubdate\": \"2025-12-31T11:54:22\",
\"type\": \"n\",
\"season\": 4326.41688
},
\"podcast_index_chat\": {
\"server\": \"architecto\",
\"protocol\": \"architecto\",
\"accountId\": \"architecto\",
\"space\": \"architecto\"
},
\"podcast_index_blocks\": [
{
\"node_value\": \"n\",
\"service_id\": \"g\"
}
],
\"podcast_index_fundings\": [
{
\"node_value\": \"z\",
\"url\": \"http:\\/\\/rempel.com\\/sunt-nihil-accusantium-harum-mollitia\"
}
],
\"podcast_index_txts\": [
{
\"node_value\": \"k\",
\"purpose\": \"h\"
}
],
\"podcast_index_images\": [
{
\"href\": \"http:\\/\\/www.dubuque.net\\/quo-omnis-nostrum-aut-adipisci\",
\"alt\": \"architecto\",
\"aspect_ratio\": \"ngzmiyvdljnikhwa\",
\"width\": 4326.41688,
\"height\": 4326.41688,
\"type\": \"architecto\",
\"purpose\": \"n\"
}
],
\"podcast_index_locations\": [
{
\"node_value\": \"g\",
\"rel\": \"z\",
\"geo_latitude\": 4326.41688,
\"geo_longitude\": 4326.41688,
\"osm\": \"m\",
\"country\": \"iy\"
}
],
\"podcast_index_persons\": [
{
\"node_value\": \"v\",
\"role\": \"d\",
\"group\": \"l\",
\"img\": \"j\",
\"href\": \"http:\\/\\/tillman.com\\/\"
}
],
\"podcast_index_social_interacts\": [
{
\"uri\": \"architecto\",
\"protocol\": \"n\",
\"account_id\": \"architecto\",
\"account_url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
\"priority\": 4326.41688
}
],
\"podcast_index_remote_items\": [
{
\"feed_guid\": \"m\",
\"feed_url\": \"https:\\/\\/www.gulgowski.com\\/nihil-accusantium-harum-mollitia-modi-deserunt\",
\"item_guid\": \"w\",
\"medium\": \"a\",
\"title\": \"y\"
}
],
\"podcast_index_values\": [
{
\"type\": \"k\",
\"method\": \"c\",
\"suggested\": 4326.41688,
\"recipients\": [
{
\"name\": \"m\",
\"custom_key\": \"i\",
\"custom_value\": \"y\",
\"type\": \"v\",
\"address\": \"d\",
\"split\": 4326.41688,
\"fee\": true
}
]
}
],
\"podcast_index_live_items\": [
{
\"status\": \"miyvdl\",
\"start\": \"2025-12-31T11:54:22\",
\"end\": \"2025-12-31T11:54:22\",
\"content_links\": [
{
\"node_value\": \"j\",
\"href\": \"http:\\/\\/tillman.com\\/\"
}
]
}
]
}"
const url = new URL(
"https://app.podcaster.de/api/channels"
);
const params = {
"channel": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"feed_id": "neuer-podcast",
"feed_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
"title": "Dies ist ein Podcast.",
"author": "Fabio",
"description": "Diese Episode ist über das podcaster API.",
"copyright": "Free to use",
"link": "https:\/\/beispiel.podcast.de",
"email": "cecil42@example.com",
"language": "y",
"category": "k",
"apple_podcasts_title": "c",
"apple_podcasts_subtitle": "Das ist der Untertitel",
"apple_podcasts_summary": "m",
"apple_podcasts_explicit": "",
"apple_podcasts_block": "yes",
"apple_podcasts_complete": "yes",
"apple_podcasts_author": "y",
"apple_podcasts_type": "episodic",
"channel_apple_podcasts_category": [],
"channel_domain": {
"protocol": "https",
"domain": "b",
"subdomain": "n"
},
"image_id": "architecto",
"podcast_index_guid": "architecto",
"podcast_index_medium": "n",
"podcast_index_uses_podping": true,
"podcast_index_license_node_value": "g",
"podcast_index_license_url": "http:\/\/www.okuneva.com\/fugiat-sunt-nihil-accusantium-harum-mollitia.html",
"podcast_index_locked_node_value": "k",
"podcast_index_locked_owner": "aschuster@example.com",
"podcast_index_update_frequency_node_value": "k",
"podcast_index_update_frequency_complete": true,
"podcast_index_update_frequency_dt_start": "2025-12-31T11:54:22",
"podcast_index_update_frequency_rrule": "architecto",
"podcast_index_trailer": {
"node_value": "n",
"url": "http:\/\/crooks.biz\/et-fugiat-sunt-nihil-accusantium",
"pubdate": "2025-12-31T11:54:22",
"type": "n",
"season": 4326.41688
},
"podcast_index_chat": {
"server": "architecto",
"protocol": "architecto",
"accountId": "architecto",
"space": "architecto"
},
"podcast_index_blocks": [
{
"node_value": "n",
"service_id": "g"
}
],
"podcast_index_fundings": [
{
"node_value": "z",
"url": "http:\/\/rempel.com\/sunt-nihil-accusantium-harum-mollitia"
}
],
"podcast_index_txts": [
{
"node_value": "k",
"purpose": "h"
}
],
"podcast_index_images": [
{
"href": "http:\/\/www.dubuque.net\/quo-omnis-nostrum-aut-adipisci",
"alt": "architecto",
"aspect_ratio": "ngzmiyvdljnikhwa",
"width": 4326.41688,
"height": 4326.41688,
"type": "architecto",
"purpose": "n"
}
],
"podcast_index_locations": [
{
"node_value": "g",
"rel": "z",
"geo_latitude": 4326.41688,
"geo_longitude": 4326.41688,
"osm": "m",
"country": "iy"
}
],
"podcast_index_persons": [
{
"node_value": "v",
"role": "d",
"group": "l",
"img": "j",
"href": "http:\/\/tillman.com\/"
}
],
"podcast_index_social_interacts": [
{
"uri": "architecto",
"protocol": "n",
"account_id": "architecto",
"account_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
"priority": 4326.41688
}
],
"podcast_index_remote_items": [
{
"feed_guid": "m",
"feed_url": "https:\/\/www.gulgowski.com\/nihil-accusantium-harum-mollitia-modi-deserunt",
"item_guid": "w",
"medium": "a",
"title": "y"
}
],
"podcast_index_values": [
{
"type": "k",
"method": "c",
"suggested": 4326.41688,
"recipients": [
{
"name": "m",
"custom_key": "i",
"custom_value": "y",
"type": "v",
"address": "d",
"split": 4326.41688,
"fee": true
}
]
}
],
"podcast_index_live_items": [
{
"status": "miyvdl",
"start": "2025-12-31T11:54:22",
"end": "2025-12-31T11:54:22",
"content_links": [
{
"node_value": "j",
"href": "http:\/\/tillman.com\/"
}
]
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'channel' => 'architecto',
],
'json' => [
'feed_id' => 'neuer-podcast',
'feed_url' => 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html',
'title' => 'Dies ist ein Podcast.',
'author' => 'Fabio',
'description' => 'Diese Episode ist über das podcaster API.',
'copyright' => 'Free to use',
'link' => 'https://beispiel.podcast.de',
'email' => 'cecil42@example.com',
'language' => 'y',
'category' => 'k',
'apple_podcasts_title' => 'c',
'apple_podcasts_subtitle' => 'Das ist der Untertitel',
'apple_podcasts_summary' => 'm',
'apple_podcasts_explicit' => '',
'apple_podcasts_block' => 'yes',
'apple_podcasts_complete' => 'yes',
'apple_podcasts_author' => 'y',
'apple_podcasts_type' => 'episodic',
'channel_apple_podcasts_category' => [],
'channel_domain' => [
'protocol' => 'https',
'domain' => 'b',
'subdomain' => 'n',
],
'image_id' => 'architecto',
'podcast_index_guid' => 'architecto',
'podcast_index_medium' => 'n',
'podcast_index_uses_podping' => true,
'podcast_index_license_node_value' => 'g',
'podcast_index_license_url' => 'http://www.okuneva.com/fugiat-sunt-nihil-accusantium-harum-mollitia.html',
'podcast_index_locked_node_value' => 'k',
'podcast_index_locked_owner' => 'aschuster@example.com',
'podcast_index_update_frequency_node_value' => 'k',
'podcast_index_update_frequency_complete' => true,
'podcast_index_update_frequency_dt_start' => '2025-12-31T11:54:22',
'podcast_index_update_frequency_rrule' => 'architecto',
'podcast_index_trailer' => [
'node_value' => 'n',
'url' => 'http://crooks.biz/et-fugiat-sunt-nihil-accusantium',
'pubdate' => '2025-12-31T11:54:22',
'type' => 'n',
'season' => 4326.41688,
],
'podcast_index_chat' => [
'server' => 'architecto',
'protocol' => 'architecto',
'accountId' => 'architecto',
'space' => 'architecto',
],
'podcast_index_blocks' => [
[
'node_value' => 'n',
'service_id' => 'g',
],
],
'podcast_index_fundings' => [
[
'node_value' => 'z',
'url' => 'http://rempel.com/sunt-nihil-accusantium-harum-mollitia',
],
],
'podcast_index_txts' => [
[
'node_value' => 'k',
'purpose' => 'h',
],
],
'podcast_index_images' => [
[
'href' => 'http://www.dubuque.net/quo-omnis-nostrum-aut-adipisci',
'alt' => 'architecto',
'aspect_ratio' => 'ngzmiyvdljnikhwa',
'width' => 4326.41688,
'height' => 4326.41688,
'type' => 'architecto',
'purpose' => 'n',
],
],
'podcast_index_locations' => [
[
'node_value' => 'g',
'rel' => 'z',
'geo_latitude' => 4326.41688,
'geo_longitude' => 4326.41688,
'osm' => 'm',
'country' => 'iy',
],
],
'podcast_index_persons' => [
[
'node_value' => 'v',
'role' => 'd',
'group' => 'l',
'img' => 'j',
'href' => 'http://tillman.com/',
],
],
'podcast_index_social_interacts' => [
[
'uri' => 'architecto',
'protocol' => 'n',
'account_id' => 'architecto',
'account_url' => 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html',
'priority' => 4326.41688,
],
],
'podcast_index_remote_items' => [
[
'feed_guid' => 'm',
'feed_url' => 'https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt',
'item_guid' => 'w',
'medium' => 'a',
'title' => 'y',
],
],
'podcast_index_values' => [
[
'type' => 'k',
'method' => 'c',
'suggested' => 4326.41688,
'recipients' => [
[
'name' => 'm',
'custom_key' => 'i',
'custom_value' => 'y',
'type' => 'v',
'address' => 'd',
'split' => 4326.41688,
'fee' => true,
],
],
],
],
'podcast_index_live_items' => [
[
'status' => 'miyvdl',
'start' => '2025-12-31T11:54:22',
'end' => '2025-12-31T11:54:22',
'content_links' => [
[
'node_value' => 'j',
'href' => 'http://tillman.com/',
],
],
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/channels'
payload = {
"feed_id": "neuer-podcast",
"feed_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
"title": "Dies ist ein Podcast.",
"author": "Fabio",
"description": "Diese Episode ist über das podcaster API.",
"copyright": "Free to use",
"link": "https:\/\/beispiel.podcast.de",
"email": "cecil42@example.com",
"language": "y",
"category": "k",
"apple_podcasts_title": "c",
"apple_podcasts_subtitle": "Das ist der Untertitel",
"apple_podcasts_summary": "m",
"apple_podcasts_explicit": "",
"apple_podcasts_block": "yes",
"apple_podcasts_complete": "yes",
"apple_podcasts_author": "y",
"apple_podcasts_type": "episodic",
"channel_apple_podcasts_category": [],
"channel_domain": {
"protocol": "https",
"domain": "b",
"subdomain": "n"
},
"image_id": "architecto",
"podcast_index_guid": "architecto",
"podcast_index_medium": "n",
"podcast_index_uses_podping": true,
"podcast_index_license_node_value": "g",
"podcast_index_license_url": "http:\/\/www.okuneva.com\/fugiat-sunt-nihil-accusantium-harum-mollitia.html",
"podcast_index_locked_node_value": "k",
"podcast_index_locked_owner": "aschuster@example.com",
"podcast_index_update_frequency_node_value": "k",
"podcast_index_update_frequency_complete": true,
"podcast_index_update_frequency_dt_start": "2025-12-31T11:54:22",
"podcast_index_update_frequency_rrule": "architecto",
"podcast_index_trailer": {
"node_value": "n",
"url": "http:\/\/crooks.biz\/et-fugiat-sunt-nihil-accusantium",
"pubdate": "2025-12-31T11:54:22",
"type": "n",
"season": 4326.41688
},
"podcast_index_chat": {
"server": "architecto",
"protocol": "architecto",
"accountId": "architecto",
"space": "architecto"
},
"podcast_index_blocks": [
{
"node_value": "n",
"service_id": "g"
}
],
"podcast_index_fundings": [
{
"node_value": "z",
"url": "http:\/\/rempel.com\/sunt-nihil-accusantium-harum-mollitia"
}
],
"podcast_index_txts": [
{
"node_value": "k",
"purpose": "h"
}
],
"podcast_index_images": [
{
"href": "http:\/\/www.dubuque.net\/quo-omnis-nostrum-aut-adipisci",
"alt": "architecto",
"aspect_ratio": "ngzmiyvdljnikhwa",
"width": 4326.41688,
"height": 4326.41688,
"type": "architecto",
"purpose": "n"
}
],
"podcast_index_locations": [
{
"node_value": "g",
"rel": "z",
"geo_latitude": 4326.41688,
"geo_longitude": 4326.41688,
"osm": "m",
"country": "iy"
}
],
"podcast_index_persons": [
{
"node_value": "v",
"role": "d",
"group": "l",
"img": "j",
"href": "http:\/\/tillman.com\/"
}
],
"podcast_index_social_interacts": [
{
"uri": "architecto",
"protocol": "n",
"account_id": "architecto",
"account_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
"priority": 4326.41688
}
],
"podcast_index_remote_items": [
{
"feed_guid": "m",
"feed_url": "https:\/\/www.gulgowski.com\/nihil-accusantium-harum-mollitia-modi-deserunt",
"item_guid": "w",
"medium": "a",
"title": "y"
}
],
"podcast_index_values": [
{
"type": "k",
"method": "c",
"suggested": 4326.41688,
"recipients": [
{
"name": "m",
"custom_key": "i",
"custom_value": "y",
"type": "v",
"address": "d",
"split": 4326.41688,
"fee": true
}
]
}
],
"podcast_index_live_items": [
{
"status": "miyvdl",
"start": "2025-12-31T11:54:22",
"end": "2025-12-31T11:54:22",
"content_links": [
{
"node_value": "j",
"href": "http:\/\/tillman.com\/"
}
]
}
]
}
params = {
'channel': 'architecto',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload, params=params)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get podcast
Returns information about a podcast (feed). Accessible with scopes: feeds,feeds-read-only
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"data": {
"type": "channel",
"id": "eacbe625-e7cc-4849-acf3-8a5963f8eecf",
"feed_id": "aWqCKqoSZDO4NqZBkJwS",
"attributes": {
"rss": {
"title": "autem",
"description": "Neque blanditiis odio veritatis excepturi doloribus delectus. Qui repudiandae laboriosam est alias.",
"copyright": "Molestiae.",
"subtitle": "Et ut dicta vitae.",
"link": "http://heim.com/ut-aut-deserunt-et-error-neque-recusandae-et.html",
"author": "Evelyn Ott",
"email": "rklein@haupt.com",
"language": "km",
"category": "ipsam"
},
"itunes": {
"title": null,
"subtitle": "Et ut dicta vitae.",
"summary": "Consequatur ut et.",
"author": null,
"type": "episodic",
"block": true,
"explicit": false,
"complete": false,
"new_feed_url": "http://marquardt.de/dolores-sed-rem-ea",
"category": [],
"logo": null
},
"podcastindex": {
"guid": "RfSmoShEEg8ZzZkCgQVu",
"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": "2025-12-31T10:54:23.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/aWqCKqoSZDO4NqZBkJwS",
"rss": "https://8tw9gc.podcaster.de/aWqCKqoSZDO4NqZBkJwS.rss",
"web": "",
"logo": "https://app.podcaster.de/images/help/cover_missing.svg?v=1",
"remove_sync": false
},
"shows_count": 0,
"imported": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete podcast
Caution Removes a podcast. Accessible with scope: feeds
Example request:
curl --request DELETE \
"https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/channels/6ff8f7f6-1eb3-3525-be4a-3932c805afed'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User
Get user
Fetches details about authenticated user.
Example request:
curl --request GET \
--get "https://app.podcaster.de/api/user" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.podcaster.de/api/user"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/user';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/user'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200):
{
"data": {
"type": "user",
"id": 23027,
"attributes": {
"id": 23027,
"name": "Marija Rau",
"first_name": "Marija",
"last_name": "Rau",
"username": "testing-buckhanspeter575",
"email": "georg42@example.com",
"name_title": null,
"telephone": "(0441) 093 3724",
"telefax": "(0211) 0319279",
"url": "https://www.krug.net/nostrum-omnis-autem-et-consequatur-aut",
"organisation": "Steiner",
"department": null,
"street": "Anne-Beyer-Ring",
"housenumber": "426",
"city": "Wiehl",
"country": "VG",
"post_code": "37788",
"representative": null,
"mediarepresentative": null,
"register_court": null,
"register_number": null,
"board": null,
"chairman": null,
"controlling_authority": null,
"additional_specifications": null
},
"links": {
"self": "https://app.podcaster.de/api/user"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update user
Updates details of a podcast. Accessible with scope: feeds
Example request:
curl --request PUT \
"https://app.podcaster.de/api/user/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name_title\": \"Prof\",
\"first_name\": \"Fabio\",
\"last_name\": \"Bacigalupo\",
\"telephone\": \"030-549072653\",
\"telefax\": \"030-549072660\",
\"url\": \"https:\\/\\/www.podcaster.de\",
\"organisation\": \"Podcast Plattform\",
\"department\": \"IT\",
\"street\": \"Brunnenstraße\",
\"housenumber\": \"147\",
\"city\": \"Berlin\",
\"country\": \"DE\",
\"post_code\": \"10115\",
\"representative\": \"Fabio Bacigalupo\",
\"mediarepresentative\": \"Steffen Wrede\",
\"register_court\": \"Berlin\",
\"register_number\": \"1234567890\",
\"board\": \"Yvonne Ständin\",
\"chairman\": \"Frauke Vorsätzer\",
\"controlling_authority\": \"Bafa\",
\"additional_specifications\": \"Hier kann ein beliebiger Freitext ergänzt werden.\",
\"organisiation\": \"\'Podcast Plattform\'\"
}"
const url = new URL(
"https://app.podcaster.de/api/user/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name_title": "Prof",
"first_name": "Fabio",
"last_name": "Bacigalupo",
"telephone": "030-549072653",
"telefax": "030-549072660",
"url": "https:\/\/www.podcaster.de",
"organisation": "Podcast Plattform",
"department": "IT",
"street": "Brunnenstraße",
"housenumber": "147",
"city": "Berlin",
"country": "DE",
"post_code": "10115",
"representative": "Fabio Bacigalupo",
"mediarepresentative": "Steffen Wrede",
"register_court": "Berlin",
"register_number": "1234567890",
"board": "Yvonne Ständin",
"chairman": "Frauke Vorsätzer",
"controlling_authority": "Bafa",
"additional_specifications": "Hier kann ein beliebiger Freitext ergänzt werden.",
"organisiation": "'Podcast Plattform'"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.podcaster.de/api/user/1';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name_title' => 'Prof',
'first_name' => 'Fabio',
'last_name' => 'Bacigalupo',
'telephone' => '030-549072653',
'telefax' => '030-549072660',
'url' => 'https://www.podcaster.de',
'organisation' => 'Podcast Plattform',
'department' => 'IT',
'street' => 'Brunnenstraße',
'housenumber' => '147',
'city' => 'Berlin',
'country' => 'DE',
'post_code' => '10115',
'representative' => 'Fabio Bacigalupo',
'mediarepresentative' => 'Steffen Wrede',
'register_court' => 'Berlin',
'register_number' => '1234567890',
'board' => 'Yvonne Ständin',
'chairman' => 'Frauke Vorsätzer',
'controlling_authority' => 'Bafa',
'additional_specifications' => 'Hier kann ein beliebiger Freitext ergänzt werden.',
'organisiation' => '\'Podcast Plattform\'',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));import requests
import json
url = 'https://app.podcaster.de/api/user/1'
payload = {
"name_title": "Prof",
"first_name": "Fabio",
"last_name": "Bacigalupo",
"telephone": "030-549072653",
"telefax": "030-549072660",
"url": "https:\/\/www.podcaster.de",
"organisation": "Podcast Plattform",
"department": "IT",
"street": "Brunnenstraße",
"housenumber": "147",
"city": "Berlin",
"country": "DE",
"post_code": "10115",
"representative": "Fabio Bacigalupo",
"mediarepresentative": "Steffen Wrede",
"register_court": "Berlin",
"register_number": "1234567890",
"board": "Yvonne Ständin",
"chairman": "Frauke Vorsätzer",
"controlling_authority": "Bafa",
"additional_specifications": "Hier kann ein beliebiger Freitext ergänzt werden.",
"organisiation": "'Podcast Plattform'"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.