Podcast show and episode management
| Method | Path | Summary |
|---|---|---|
GET | /podcast/shows | List podcast shows |
POST | /podcast/shows | Create a podcast show |
GET | /podcast/shows/{showId}/episodes | List episodes for a show |
POST | /podcast/shows/{showId}/episodes | Create an episode |
{% api-endpoint method=“GET” path=“/podcast/shows” /%}
List podcast shows
Operation ID: listPodcastShows
| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Default: 1 |
perPage | integer | No | Default: 20 |
Paginated list of shows
| Field | Type | Required | Description |
|---|---|---|---|
data | object[] | No | - |
pagination | object | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.podcast.listPodcastShows({
page: 1,
perPage: 1,
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.podcast.list_podcast_shows(
page=1,
per_page=1
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/podcast/shows?page=1&perPage=1' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/podcast/shows” /%}
Create a podcast show
Operation ID: createPodcastShow
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | - |
description | string | No | - |
category | string | No | - |
language | string | No | Default: "en" |
explicit | boolean | No | Default: false |
coverUrl | string (uri) | No | - |
Show created
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
name | string | No | - |
description | string | No | - |
coverUrl | string (uri) | No | - |
rssUrl | string (uri) | No | - |
category | string | No | - |
language | string | No | - |
explicit | boolean | No | - |
episodeCount | integer | No | - |
organizationId | string | No | - |
createdAt | string (date-time) | No | - |
updatedAt | string (date-time) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.podcast.createPodcastShow({
name: "example-value",
description: "example-value",
category: "example-value",
language: "en",
explicit: false,
coverUrl: "https://example.com",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.podcast.create_podcast_show(
name="example-value",
description="example-value",
category="example-value",
language="example-value",
explicit=True,
cover_url="https://example.com"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/podcast/shows' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "example-value",
"description": "example-value",
"category": "example-value",
"language": "en",
"explicit": false,
"coverUrl": "https://example.com"
}'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/podcast/shows/{showId}/episodes” /%}
List episodes for a show
Operation ID: listPodcastEpisodes
| Name | Type | Required | Description |
|---|---|---|---|
showId | string | Yes | - |
| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Default: 1 |
perPage | integer | No | Default: 20 |
Paginated list of episodes
| Field | Type | Required | Description |
|---|---|---|---|
data | object[] | No | - |
pagination | object | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.podcast.listPodcastEpisodes("abc-123", {
page: 1,
perPage: 1,
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.podcast.list_podcast_episodes(
show_id="abc-123",
page=1,
per_page=1
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/podcast/shows/abc-123/episodes?page=1&perPage=1' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“POST” path=“/podcast/shows/{showId}/episodes” /%}
Create an episode
Operation ID: createPodcastEpisode
| Name | Type | Required | Description |
|---|---|---|---|
showId | string | Yes | - |
Content-Type: application/json
| Required
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | - |
description | string | No | - |
audioUrl | string (uri) | Yes | - |
episodeNumber | integer | No | - |
seasonNumber | integer | No | - |
publishedAt | string (date-time) | No | - |
Episode created
| Field | Type | Required | Description |
|---|---|---|---|
id | string | No | - |
showId | string | No | - |
title | string | No | - |
description | string | No | - |
audioUrl | string (uri) | No | - |
duration | number | No | - |
episodeNumber | integer | No | - |
seasonNumber | integer | No | - |
publishedAt | string (date-time) | No | - |
status | string | No | - |
createdAt | string (date-time) | No | - |
updatedAt | string (date-time) | No | - |
{% tabs %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const result = await client.podcast.createPodcastEpisode("abc-123", {
title: "example-value",
description: "example-value",
audioUrl: "https://example.com",
episodeNumber: 1,
seasonNumber: 1,
publishedAt: "example-value",
});
console.log(result);
{% /tab %} {% tab label=“Python” %}
from wave_sdk import WaveClient
client = WaveClient(api_key="your-api-key")
result = client.podcast.create_podcast_episode(
show_id="abc-123",
title="example-value",
description="example-value",
audio_url="https://example.com",
episode_number=1,
season_number=1,
published_at="example-value"
)
print(result)
{% /tab %} {% tab label=“cURL” %}
curl -X POST 'https://api.wave.online/podcast/shows/abc-123/episodes' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"title": "example-value",
"description": "example-value",
"audioUrl": "https://example.com",
"episodeNumber": 1,
"seasonNumber": 1,
"publishedAt": "example-value"
}'
{% /tab %} {% /tabs %}