Shows routes


GET/v1/shows/granted

List all granted shows of the user

shows.indexWithGranted

List all shows the current authenticated user has access to (the shows he owns + the shows he has
permissions on).

Query parameters

Label Description
transformer nullable Can be set to "minimal" for a light response body

Response example

{
    "links": {
        "first": "https:\/\/api-content.ausha.co\/v1\/shows\/granted?per_page=15&page=1",
        "last": "https:\/\/api-content.ausha.co\/v1\/shows\/granted?per_page=15&page=2",
        "next": "https:\/\/api-content.ausha.co\/v1\/shows\/granted?per_page=15&page=2",
        "prev": null,
        "self": "https:\/\/api-content.ausha.co\/v1\/shows\/granted?per_page=15&page=1"
    },
    "meta": {
        "pagination": {
            "count": 15,
            "current_page": 1,
            "per_page": 15,
            "total": 16,
            "total_pages": 2
        }
    }
}

GET/v1/shows/{show}

Shows show

shows.show
Viewer

GET/v1/shows/public_id/{showByPublicId}

Get a show by public id

shows.show.by_publicid
Viewer

Path parameters

Label Description
showByPublicId (string) public id of the show

GET/v1/shows/{show}/seasons

Get all seasons of a show

seasons.index
Viewer

Path parameters

Label Description
show (int) id of the show

Response example

{
    "data": [
        {
            "id": 28,
            "show_id": 6116,
            "season_number": 2,
            "podcasts_count": 6,
            "created_at": "2019-07-02T11:21:13",
            "updated_at": "2019-07-02T11:21:13",
            "podcasts": {
                "data": []
            }
        },
        {
            "id": 29,
            "show_id": 6116,
            "season_number": 1,
            "podcasts_count": 0,
            "created_at": "2020-03-10T11:07:56",
            "updated_at": "2020-03-10T11:07:56",
            "podcasts": {
                "data": []
            }
        }
    ]
}

POST/v1/shows/{show}/seasons

Create a season for a show

seasons.store
Editor

Path parameters

Label Description
show (int) id of the show

Response example

{
    "data": {
        "id": 29,
        "show_id": 6116,
        "season_number": 1,
        "podcasts_count": 0,
        "created_at": "2020-03-10T10:07:56+00:00",
        "updated_at": "2020-03-10T10:07:56+00:00",
        "podcasts": {
            "data": []
        }
    }
}

PUT/v1/shows/{show}/podcasts/season

Mass change season of podcasts

shows.podcasts.season.update
Editor

Change many podcast's season at once, matching the filter specified (see body params). In case of
success returns 204. If newSeasonId is null, it removes the podcasts from their season without
adding them to another.

Path parameters

Label Description
show (int) id of the show

Body parameters

Label Description
newSeasonId required, nullable, The id must exist and the season must belong to the same show as the podcasts
q string to search among podcasts titles
seasons array of season ids. If present, only the podcast belonging to those seasons will be returned. The seasons specified must belong to the show
status array of statuses. A status must be one of those: 'active', 'draft' or 'scheduled'

GET/v1/seasons/{season}

Get a season

seasons.show
Viewer

Path parameters

Label Description
season (int) Id of a season

Response example

{
    "data": {
        "id": 29,
        "show_id": 6116,
        "season_number": 1,
        "podcasts_count": 0,
        "created_at": "2020-03-10T10:07:56+00:00",
        "updated_at": "2020-03-10T10:07:56+00:00",
        "podcasts": {
            "data": []
        }
    }
}

DELETE/v1/seasons/{season}

Seasons destroy

seasons.destroy
Admin