{"files":{"SKILL.md":"---\nname: tv-api\ndescription: \"TV API skill. Use when working with TV for platform, channel, asset. Covers 18 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# TV API\nAPI version: 2.0\n\n## Auth\nApiKey apikey in header\n\n## Base URL\nhttps://tv.api.pressassociation.io/v2\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /platform -- platform collection\n3. Explore available endpoints below\n\n## Endpoints\n18 endpoints across 8 groups. See references/api-spec.lap for full details.\n\n### Platform\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /platform | Platform Collection |\n| GET | /platform/{platformId} | Platform Detail |\n| GET | /platform/{platformId}/region | Platform Region Collection |\n\n### Channel\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /channel | Channel Collection |\n| GET | /channel/{channelId} | Channel Detail |\n\n### Asset\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /asset | Asset Collection |\n| GET | /asset/{assetId} | Asset Detail |\n| GET | /asset/{assetId}/contributor | Asset Contributors |\n\n### Contributor\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /contributor | Contributor Collection |\n| GET | /contributor/{contributorId} | Contributor Detail |\n\n### Schedule\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /schedule | Schedule Collection |\n\n### Feature-type\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /feature-type | Feature Type Collection |\n\n### Feature\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /feature | Feature Collection |\n| GET | /feature/{featureId} | Feature Detail |\n\n### Catalogue\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /catalogue | Catalogue Collection |\n| GET | /catalogue/{catalogueId} | Catalogue Detail |\n| GET | /catalogue/{catalogueId}/asset | Catalogue Asset Collection |\n| GET | /catalogue/{catalogueId}/asset/{assetId} | Catalogue Asset Detail |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all platform?\" -> GET /platform\n- \"Get platform details?\" -> GET /platform/{platformId}\n- \"List all region?\" -> GET /platform/{platformId}/region\n- \"List all channel?\" -> GET /channel\n- \"Get channel details?\" -> GET /channel/{channelId}\n- \"List all asset?\" -> GET /asset\n- \"Get asset details?\" -> GET /asset/{assetId}\n- \"List all contributor?\" -> GET /asset/{assetId}/contributor\n- \"Get contributor details?\" -> GET /contributor/{contributorId}\n- \"List all schedule?\" -> GET /schedule\n- \"List all feature-type?\" -> GET /feature-type\n- \"List all feature?\" -> GET /feature\n- \"Get feature details?\" -> GET /feature/{featureId}\n- \"List all catalogue?\" -> GET /catalogue\n- \"Get catalogue details?\" -> GET /catalogue/{catalogueId}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api TV API\n@base https://tv.api.pressassociation.io/v2\n@version 2.0\n@auth ApiKey apikey in header\n@endpoints 18\n@toc platform(3), channel(2), asset(3), contributor(2), schedule(1), feature-type(1), feature(2), catalogue(4)\n\n@group platform\n@endpoint GET /platform\n@desc Platform Collection\n@optional {aliases: any # Flag to display Legacy and Provider Ids.}\n@returns(200)\n\n@endpoint GET /platform/{platformId}\n@desc Platform Detail\n@required {platformId: any # The identifier for the selected platform.}\n@returns(200)\n\n@endpoint GET /platform/{platformId}/region\n@desc Platform Region Collection\n@required {platformId: any # The identifier for the selected platform.}\n@optional {aliases: any # Flag to display Legacy and Provider Ids.}\n@returns(200)\n\n@endgroup\n\n@group channel\n@endpoint GET /channel\n@desc Channel Collection\n@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}\n@returns(200)\n\n@endpoint GET /channel/{channelId}\n@desc Channel Detail\n@required {channelId: any # The identifier for the selected channel.}\n@optional {aliases: any # Flag to display Legacy and Provider Ids.}\n@returns(200)\n\n@endgroup\n\n@group asset\n@endpoint GET /asset\n@desc Asset Collection\n@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.}\n@returns(200)\n\n@endpoint GET /asset/{assetId}\n@desc Asset Detail\n@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.}\n@optional {aliases: any # Flag to display Legacy and Provider Ids.}\n@returns(200)\n\n@endpoint GET /asset/{assetId}/contributor\n@desc Asset Contributors\n@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.}\n@optional {aliases: any # Flag to display Legacy and Provider Ids.}\n@returns(200)\n\n@endgroup\n\n@group contributor\n@endpoint GET /contributor\n@desc Contributor Collection\n@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.}\n@returns(200)\n\n@endpoint GET /contributor/{contributorId}\n@desc Contributor Detail\n@required {contributorId: any # Filter the schedule items by contributor ID}\n@optional {aliases: any # Flag to display Legacy and Provider Ids.}\n@returns(200)\n\n@endgroup\n\n@group schedule\n@endpoint GET /schedule\n@desc Schedule Collection\n@required {channelId: any # The identifier for the selected channel., start: any # The Start Date for the schedule.}\n@optional {end: any # The End Date for the schedule., aliases: any # Flag to display Legacy and Provider Ids.}\n@returns(200)\n\n@endgroup\n\n@group feature-type\n@endpoint GET /feature-type\n@desc Feature Type Collection\n@returns(200)\n\n@endgroup\n\n@group feature\n@endpoint GET /feature\n@desc Feature Collection\n@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.}\n@returns(200)\n\n@endpoint GET /feature/{featureId}\n@desc Feature Detail\n@required {featureId: any # The identifier for the selected feature.}\n@returns(200)\n\n@endgroup\n\n@group catalogue\n@endpoint GET /catalogue\n@desc Catalogue Collection\n@returns(200)\n\n@endpoint GET /catalogue/{catalogueId}\n@desc Catalogue Detail\n@required {catalogueId: any # The identifier for the selected catalogue.}\n@returns(200)\n\n@endpoint GET /catalogue/{catalogueId}/asset\n@desc Catalogue Asset Collection\n@required {catalogueId: any # The identifier for the selected catalogue.}\n@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.}\n@returns(200)\n\n@endpoint GET /catalogue/{catalogueId}/asset/{assetId}\n@desc Catalogue Asset Detail\n@required {catalogueId: any # The identifier for the selected catalogue., assetId: any # The identifier for the selected catalogue asset.}\n@returns(200)\n\n@endgroup\n\n@end\n"}}