Playlists
get
Authorizations
Query parameters
pageintegerOptional
A page number within the paginated result set.
page_sizeintegerOptional
Number of results to return per page.
Responses
200Success
application/json
get
GET /api/media/playlists HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Accept: */*
200Success
{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"sermon_count": "text",
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcast_count": "text",
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"updated_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}
]
}
post
Authorizations
Body
idstring · uuidRead-onlyRequired
sermonsstring · uuid[]Optional
sermon_countstringRead-onlyRequired
podcastsstring · uuid[]Optional
podcast_countstringRead-onlyRequired
legacy_idstring | nullableOptional
nextgen_legacy_idstring | nullableOptional
created_atstring · date-time | nullableOptional
updated_atstring · date-timeRead-onlyRequired
namestring · max: 255Required
descriptionstring | nullableOptional
bannerstring | nullableOptional
youtube_idstring | nullableOptional
ID of the YouTube playlist
last_synced_atstring · date-time | nullableOptional
Last sync date with YouTube
modulestring · enumOptionalPossible values:
podcast
- Podcastsermon
- Sermon
churchstring · uuidRequired
Responses
201Success
application/json
post
POST /api/media/playlists HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 372
{
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}
201Success
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"sermon_count": "text",
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcast_count": "text",
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"updated_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}
get
Authorizations
Path parameters
idstring · uuidRequired
A UUID string identifying this playlist.
Responses
200Success
application/json
get
GET /api/media/playlists/{id} HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Accept: */*
200Success
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"sermon_count": "text",
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcast_count": "text",
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"updated_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}
put
Authorizations
Path parameters
idstring · uuidRequired
A UUID string identifying this playlist.
Body
idstring · uuidRead-onlyRequired
sermonsstring · uuid[]Optional
sermon_countstringRead-onlyRequired
podcastsstring · uuid[]Optional
podcast_countstringRead-onlyRequired
legacy_idstring | nullableOptional
nextgen_legacy_idstring | nullableOptional
created_atstring · date-time | nullableOptional
updated_atstring · date-timeRead-onlyRequired
namestring · max: 255Required
descriptionstring | nullableOptional
bannerstring | nullableOptional
youtube_idstring | nullableOptional
ID of the YouTube playlist
last_synced_atstring · date-time | nullableOptional
Last sync date with YouTube
modulestring · enumOptionalPossible values:
podcast
- Podcastsermon
- Sermon
churchstring · uuidRequired
Responses
200Success
application/json
put
PUT /api/media/playlists/{id} HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 372
{
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}
200Success
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"sermon_count": "text",
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcast_count": "text",
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"updated_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}
delete
Authorizations
Path parameters
idstring · uuidRequired
A UUID string identifying this playlist.
Responses
204
No response body
delete
DELETE /api/media/playlists/{id} HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Accept: */*
204
No response body
No content
patch
Authorizations
Path parameters
idstring · uuidRequired
A UUID string identifying this playlist.
Body
idstring · uuidRead-onlyOptional
sermonsstring · uuid[]Optional
sermon_countstringRead-onlyOptional
podcastsstring · uuid[]Optional
podcast_countstringRead-onlyOptional
legacy_idstring | nullableOptional
nextgen_legacy_idstring | nullableOptional
created_atstring · date-time | nullableOptional
updated_atstring · date-timeRead-onlyOptional
namestring · max: 255Optional
descriptionstring | nullableOptional
bannerstring | nullableOptional
youtube_idstring | nullableOptional
ID of the YouTube playlist
last_synced_atstring · date-time | nullableOptional
Last sync date with YouTube
modulestring · enumOptionalPossible values:
podcast
- Podcastsermon
- Sermon
churchstring · uuidOptional
Responses
200Success
application/json
patch
PATCH /api/media/playlists/{id} HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 372
{
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}
200Success
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"sermons": [
"123e4567-e89b-12d3-a456-426614174000"
],
"sermon_count": "text",
"podcasts": [
"123e4567-e89b-12d3-a456-426614174000"
],
"podcast_count": "text",
"legacy_id": "text",
"nextgen_legacy_id": "text",
"created_at": "2025-07-23T12:22:55.288Z",
"updated_at": "2025-07-23T12:22:55.288Z",
"name": "text",
"description": "text",
"banner": "text",
"youtube_id": "text",
"last_synced_at": "2025-07-23T12:22:55.288Z",
"module": "podcast",
"church": "123e4567-e89b-12d3-a456-426614174000"
}