Podcasts

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/podcasts 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",
      "speaker": "123e4567-e89b-12d3-a456-426614174000",
      "categories": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "play_count": "text",
      "last_played_at": "text",
      "position": "text",
      "legacy_id": "text",
      "nextgen_legacy_id": "text",
      "created_at": "2025-07-23T12:34:09.364Z",
      "updated_at": "2025-07-23T12:34:09.364Z",
      "name": "text",
      "url": "https://example.com",
      "description": "text",
      "banner": "text",
      "duration": 1,
      "published_at": "2025-07-23T12:34:09.364Z",
      "album": "123e4567-e89b-12d3-a456-426614174000"
    }
  ]
}
post
Authorizations
Body
idstring · uuidRead-onlyRequired
speakerstring · uuidOptional
categoriesstring · uuid[]Required
play_countstringRead-onlyRequired
last_played_atstringRead-onlyRequired
positionstringRead-onlyRequired
legacy_idstring | nullableOptional
nextgen_legacy_idstring | nullableOptional
created_atstring · date-time | nullableOptional
updated_atstring · date-timeRead-onlyRequired
namestring · max: 255Required
urlstring · uri | nullableOptional
descriptionstring | nullableOptional
bannerstring | nullableOptional
durationinteger · max: 2147483647Optional
published_atstring · date-time | nullableOptional
albumstring · uuid | nullableOptional
Responses
201Success
application/json
post
POST /api/media/podcasts HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 371

{
  "speaker": "123e4567-e89b-12d3-a456-426614174000",
  "categories": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "legacy_id": "text",
  "nextgen_legacy_id": "text",
  "created_at": "2025-07-23T12:34:09.364Z",
  "name": "text",
  "url": "https://example.com",
  "description": "text",
  "banner": "text",
  "duration": 1,
  "published_at": "2025-07-23T12:34:09.364Z",
  "album": "123e4567-e89b-12d3-a456-426614174000"
}
201Success
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "speaker": "123e4567-e89b-12d3-a456-426614174000",
  "categories": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "play_count": "text",
  "last_played_at": "text",
  "position": "text",
  "legacy_id": "text",
  "nextgen_legacy_id": "text",
  "created_at": "2025-07-23T12:34:09.364Z",
  "updated_at": "2025-07-23T12:34:09.364Z",
  "name": "text",
  "url": "https://example.com",
  "description": "text",
  "banner": "text",
  "duration": 1,
  "published_at": "2025-07-23T12:34:09.364Z",
  "album": "123e4567-e89b-12d3-a456-426614174000"
}
get
Authorizations
Path parameters
idstring · uuidRequired

A UUID string identifying this podcast.

Responses
200Success
application/json
get
GET /api/media/podcasts/{id} HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Accept: */*
200Success
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "speaker": "123e4567-e89b-12d3-a456-426614174000",
  "categories": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "play_count": "text",
  "last_played_at": "text",
  "position": "text",
  "legacy_id": "text",
  "nextgen_legacy_id": "text",
  "created_at": "2025-07-23T12:34:09.364Z",
  "updated_at": "2025-07-23T12:34:09.364Z",
  "name": "text",
  "url": "https://example.com",
  "description": "text",
  "banner": "text",
  "duration": 1,
  "published_at": "2025-07-23T12:34:09.364Z",
  "album": "123e4567-e89b-12d3-a456-426614174000"
}
put
Authorizations
Path parameters
idstring · uuidRequired

A UUID string identifying this podcast.

Body
idstring · uuidRead-onlyRequired
speakerstring · uuidOptional
categoriesstring · uuid[]Required
play_countstringRead-onlyRequired
last_played_atstringRead-onlyRequired
positionstringRead-onlyRequired
legacy_idstring | nullableOptional
nextgen_legacy_idstring | nullableOptional
created_atstring · date-time | nullableOptional
updated_atstring · date-timeRead-onlyRequired
namestring · max: 255Required
urlstring · uri | nullableOptional
descriptionstring | nullableOptional
bannerstring | nullableOptional
durationinteger · max: 2147483647Optional
published_atstring · date-time | nullableOptional
albumstring · uuid | nullableOptional
Responses
200Success
application/json
put
PUT /api/media/podcasts/{id} HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 371

{
  "speaker": "123e4567-e89b-12d3-a456-426614174000",
  "categories": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "legacy_id": "text",
  "nextgen_legacy_id": "text",
  "created_at": "2025-07-23T12:34:09.364Z",
  "name": "text",
  "url": "https://example.com",
  "description": "text",
  "banner": "text",
  "duration": 1,
  "published_at": "2025-07-23T12:34:09.364Z",
  "album": "123e4567-e89b-12d3-a456-426614174000"
}
200Success
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "speaker": "123e4567-e89b-12d3-a456-426614174000",
  "categories": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "play_count": "text",
  "last_played_at": "text",
  "position": "text",
  "legacy_id": "text",
  "nextgen_legacy_id": "text",
  "created_at": "2025-07-23T12:34:09.364Z",
  "updated_at": "2025-07-23T12:34:09.364Z",
  "name": "text",
  "url": "https://example.com",
  "description": "text",
  "banner": "text",
  "duration": 1,
  "published_at": "2025-07-23T12:34:09.364Z",
  "album": "123e4567-e89b-12d3-a456-426614174000"
}
delete
Authorizations
Path parameters
idstring · uuidRequired

A UUID string identifying this podcast.

Responses
204
No response body
delete
DELETE /api/media/podcasts/{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 podcast.

Body
idstring · uuidRead-onlyOptional
speakerstring · uuidOptional
categoriesstring · uuid[]Optional
play_countstringRead-onlyOptional
last_played_atstringRead-onlyOptional
positionstringRead-onlyOptional
legacy_idstring | nullableOptional
nextgen_legacy_idstring | nullableOptional
created_atstring · date-time | nullableOptional
updated_atstring · date-timeRead-onlyOptional
namestring · max: 255Optional
urlstring · uri | nullableOptional
descriptionstring | nullableOptional
bannerstring | nullableOptional
durationinteger · max: 2147483647Optional
published_atstring · date-time | nullableOptional
albumstring · uuid | nullableOptional
Responses
200Success
application/json
patch
PATCH /api/media/podcasts/{id} HTTP/1.1
Host: prosper-api-test.churchpad.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 371

{
  "speaker": "123e4567-e89b-12d3-a456-426614174000",
  "categories": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "legacy_id": "text",
  "nextgen_legacy_id": "text",
  "created_at": "2025-07-23T12:34:09.364Z",
  "name": "text",
  "url": "https://example.com",
  "description": "text",
  "banner": "text",
  "duration": 1,
  "published_at": "2025-07-23T12:34:09.364Z",
  "album": "123e4567-e89b-12d3-a456-426614174000"
}
200Success
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "speaker": "123e4567-e89b-12d3-a456-426614174000",
  "categories": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "play_count": "text",
  "last_played_at": "text",
  "position": "text",
  "legacy_id": "text",
  "nextgen_legacy_id": "text",
  "created_at": "2025-07-23T12:34:09.364Z",
  "updated_at": "2025-07-23T12:34:09.364Z",
  "name": "text",
  "url": "https://example.com",
  "description": "text",
  "banner": "text",
  "duration": 1,
  "published_at": "2025-07-23T12:34:09.364Z",
  "album": "123e4567-e89b-12d3-a456-426614174000"
}