@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api TV API
@base https://tv.api.pressassociation.io/v2
@version 2.0
@auth ApiKey apikey in header
@endpoints 18
@toc platform(3), channel(2), asset(3), contributor(2), schedule(1), feature-type(1), feature(2), catalogue(4)

@group platform
@endpoint GET /platform
@desc Platform Collection
@optional {aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endpoint GET /platform/{platformId}
@desc Platform Detail
@required {platformId: any # The identifier for the selected platform.}
@returns(200)

@endpoint GET /platform/{platformId}/region
@desc Platform Region Collection
@required {platformId: any # The identifier for the selected platform.}
@optional {aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endgroup

@group channel
@endpoint GET /channel
@desc Channel Collection
@optional {platformId: any # The identifier for the selected platform. Multiple platforms can be passed to the API without a region Id. Passing multiple platforms without a region will not return epg numbers as these are linked to a platform and region., regionId: any # The platform region ID for the channel selection., aliases: any # Flag to display Legacy and Provider Ids., date: any # Date of the Channel State to select, this will display channel names and attributes in the future or past., scheduleStart: any # The Start Date for the schedule., scheduleEnd: any # The End Date for the schedule., scheduleUpdatedSince: any # Schedule Updated Since}
@returns(200)

@endpoint GET /channel/{channelId}
@desc Channel Detail
@required {channelId: any # The identifier for the selected channel.}
@optional {aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endgroup

@group asset
@endpoint GET /asset
@desc Asset Collection
@optional {updatedAfter: any # Updated After, limit: any # Limit the the number of items to be returned per page. For example: 5., aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endpoint GET /asset/{assetId}
@desc Asset Detail
@required {assetId: any # A asset ID filter for the schedule collection. This can be a reference to any type of asset i.e. movie, season, series or episode.}
@optional {aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endpoint GET /asset/{assetId}/contributor
@desc Asset Contributors
@required {assetId: any # A asset ID filter for the schedule collection. This can be a reference to any type of asset i.e. movie, season, series or episode.}
@optional {aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endgroup

@group contributor
@endpoint GET /contributor
@desc Contributor Collection
@optional {updatedAfter: any # Updated After, limit: any # Limit the the number of items to be returned per page. For example: 5., aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endpoint GET /contributor/{contributorId}
@desc Contributor Detail
@required {contributorId: any # Filter the schedule items by contributor ID}
@optional {aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endgroup

@group schedule
@endpoint GET /schedule
@desc Schedule Collection
@required {channelId: any # The identifier for the selected channel., start: any # The Start Date for the schedule.}
@optional {end: any # The End Date for the schedule., aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endgroup

@group feature-type
@endpoint GET /feature-type
@desc Feature Type Collection
@returns(200)

@endgroup

@group feature
@endpoint GET /feature
@desc Feature Collection
@optional {type: any # The namespace of the feature type., date: any # Date of the collection of feature items., start: any # Start date for a range of features., end: any # End date for a range of features.}
@returns(200)

@endpoint GET /feature/{featureId}
@desc Feature Detail
@required {featureId: any # The identifier for the selected feature.}
@returns(200)

@endgroup

@group catalogue
@endpoint GET /catalogue
@desc Catalogue Collection
@returns(200)

@endpoint GET /catalogue/{catalogueId}
@desc Catalogue Detail
@required {catalogueId: any # The identifier for the selected catalogue.}
@returns(200)

@endpoint GET /catalogue/{catalogueId}/asset
@desc Catalogue Asset Collection
@required {catalogueId: any # The identifier for the selected catalogue.}
@optional {title: any # The query string for a title search, start: any # The Start Date for the catalogue date range., end: any # The End Date for the catalogue date range., updatedAfter: any # Retrieve items only that have been updated after this point., limit: any # Restrict number of returned items Min = 1, Max = 500., aliases: any # Flag to display Legacy and Provider Ids.}
@returns(200)

@endpoint GET /catalogue/{catalogueId}/asset/{assetId}
@desc Catalogue Asset Detail
@required {catalogueId: any # The identifier for the selected catalogue., assetId: any # The identifier for the selected catalogue asset.}
@returns(200)

@endgroup

@end
