# TvGrid

## GET /lineups

> Get lineups by postal code.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaLineupResponse":{"title":"TvMediaLineupResponse","properties":{"lineupID":{"type":"string"},"lineupName":{"type":"string"},"lineupType":{"type":"string"},"providerID":{"type":"string"},"providerName":{"type":"string"},"serviceArea":{"type":"string"},"country":{"type":"string"},"stations":{"type":"array","items":{"$ref":"#/components/schemas/Station"}}},"description":"TvMediaLineupResponse","type":"object"},"Station":{"title":"Station","properties":{"_CallSign":{"type":"string"},"_ID":{"type":"integer","format":"int32"},"_Type":{"type":"string"},"_Affiliate":{"type":"string"},"_LogoPathURL":{"type":"string"},"_Media":{"$ref":"#/components/schemas/Object"},"_MediaInfoSpecified":{"type":"boolean"},"_StationDetailsSpecified":{"type":"boolean"},"_StationDetails":{"$ref":"#/components/schemas/Object"},"_AiringsSpecified":{"type":"boolean"},"_Airings":{"$ref":"#/components/schemas/Object"}},"description":"Station","type":"object"},"Object":{"properties":{},"description":"Object","type":"object"}}},"paths":{"/lineups":{"get":{"tags":["TvGrid"],"summary":"","description":"Get lineups by postal code.","operationId":"GetTvMediaLineupsByPostalCode","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"PostalCode","in":"query","description":"Postal code.","required":true},{"schema":{"type":"string","enum":["OTA","SAT","CAB","IPTV"]},"name":"LineupType","in":"query","description":"Filter by lineup type, valid types are OTA, SAT, CAB, IPTV.","required":false},{"schema":{"type":"string"},"name":"ProviderId","in":"query","description":"Filter by provider ID","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'brief'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/html":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /leagues

> Gets list of sports leagues.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaLeagueResponse":{"title":"TvMediaLeagueResponse","properties":{"leagueID":{"type":"string"},"leagueName":{"type":"string"},"logo":{"type":"string"}},"description":"TvMediaLeagueResponse","type":"object"}}},"paths":{"/leagues":{"get":{"tags":["TvGrid"],"description":"Gets list of sports leagues.","operationId":"GetTvMediaLeagues","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaLeagueResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLeagueResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaLeagueResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLeagueResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaLeagueResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLeagueResponse"}}},"text/html":{"schema":{"title":"List<TvMediaLeagueResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLeagueResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/browse

> Starting point for lineup browser, returns available countries.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaCountryResponse":{"title":"TvMediaCountryResponse","properties":{"countryID":{"type":"string"},"countryName":{"type":"string"}},"description":"TvMediaCountryResponse","type":"object"}}},"paths":{"/lineups/browse":{"get":{"tags":["TvGrid"],"description":"Starting point for lineup browser, returns available countries.","operationId":"GetTvMediaCountries","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaCountryResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaCountryResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaCountryResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaCountryResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaCountryResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaCountryResponse"}}},"text/html":{"schema":{"title":"List<TvMediaCountryResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaCountryResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/geo

> Get lineups by latitude and longitude.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaLineupResponse":{"title":"TvMediaLineupResponse","properties":{"lineupID":{"type":"string"},"lineupName":{"type":"string"},"lineupType":{"type":"string"},"providerID":{"type":"string"},"providerName":{"type":"string"},"serviceArea":{"type":"string"},"country":{"type":"string"},"stations":{"type":"array","items":{"$ref":"#/components/schemas/Station"}}},"description":"TvMediaLineupResponse","type":"object"},"Station":{"title":"Station","properties":{"_CallSign":{"type":"string"},"_ID":{"type":"integer","format":"int32"},"_Type":{"type":"string"},"_Affiliate":{"type":"string"},"_LogoPathURL":{"type":"string"},"_Media":{"$ref":"#/components/schemas/Object"},"_MediaInfoSpecified":{"type":"boolean"},"_StationDetailsSpecified":{"type":"boolean"},"_StationDetails":{"$ref":"#/components/schemas/Object"},"_AiringsSpecified":{"type":"boolean"},"_Airings":{"$ref":"#/components/schemas/Object"}},"description":"Station","type":"object"},"Object":{"properties":{},"description":"Object","type":"object"}}},"paths":{"/lineups/geo":{"get":{"tags":["TvGrid"],"description":"Get lineups by latitude and longitude.","operationId":"GetTvMediaLineupsByLatitudeLongitude","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"number","format":"float"},"name":"Latitude","in":"query","description":"Latitude (geographic coordinate).","required":true},{"schema":{"type":"number","format":"float"},"name":"Longitude","in":"query","description":"Longitude (geographic coordinate).","required":true},{"schema":{"type":"string","enum":["OTA","SAT","CAB","IPTV"]},"name":"LineupType","in":"query","description":"Filter by lineup type, valid types are OTA, SAT, CAB, IPTV.","required":false},{"schema":{"type":"string"},"name":"ProviderId","in":"query","description":"Filter by provider ID","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'brief'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/html":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/{LineupID}

> Get lineups by specific LineupID.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaLineupResponse":{"title":"TvMediaLineupResponse","properties":{"lineupID":{"type":"string"},"lineupName":{"type":"string"},"lineupType":{"type":"string"},"providerID":{"type":"string"},"providerName":{"type":"string"},"serviceArea":{"type":"string"},"country":{"type":"string"},"stations":{"type":"array","items":{"$ref":"#/components/schemas/Station"}}},"description":"TvMediaLineupResponse","type":"object"},"Station":{"title":"Station","properties":{"_CallSign":{"type":"string"},"_ID":{"type":"integer","format":"int32"},"_Type":{"type":"string"},"_Affiliate":{"type":"string"},"_LogoPathURL":{"type":"string"},"_Media":{"$ref":"#/components/schemas/Object"},"_MediaInfoSpecified":{"type":"boolean"},"_StationDetailsSpecified":{"type":"boolean"},"_StationDetails":{"$ref":"#/components/schemas/Object"},"_AiringsSpecified":{"type":"boolean"},"_Airings":{"$ref":"#/components/schemas/Object"}},"description":"Station","type":"object"},"Object":{"properties":{},"description":"Object","type":"object"}}},"paths":{"/lineups/{LineupID}":{"get":{"tags":["TvGrid"],"description":"Get lineups by specific LineupID.","operationId":"GetTvMediaLineupByID","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"LineupID","in":"path","description":"Lineup ID.","required":true},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'full'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TvMediaLineupResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/TvMediaLineupResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/TvMediaLineupResponse"}},"text/html":{"schema":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /reference/lineups

> Get list of generic lineup IDs that can be used.  A 'generic' lineup is not a real lineup, but a collection of stations defined by TV Media.  Any listing retrieved using a generic lineup will not return any channel number information, as it is irrelevant.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaLineupResponse":{"title":"TvMediaLineupResponse","properties":{"lineupID":{"type":"string"},"lineupName":{"type":"string"},"lineupType":{"type":"string"},"providerID":{"type":"string"},"providerName":{"type":"string"},"serviceArea":{"type":"string"},"country":{"type":"string"},"stations":{"type":"array","items":{"$ref":"#/components/schemas/Station"}}},"description":"TvMediaLineupResponse","type":"object"},"Station":{"title":"Station","properties":{"_CallSign":{"type":"string"},"_ID":{"type":"integer","format":"int32"},"_Type":{"type":"string"},"_Affiliate":{"type":"string"},"_LogoPathURL":{"type":"string"},"_Media":{"$ref":"#/components/schemas/Object"},"_MediaInfoSpecified":{"type":"boolean"},"_StationDetailsSpecified":{"type":"boolean"},"_StationDetails":{"$ref":"#/components/schemas/Object"},"_AiringsSpecified":{"type":"boolean"},"_Airings":{"$ref":"#/components/schemas/Object"}},"description":"Station","type":"object"},"Object":{"properties":{},"description":"Object","type":"object"}}},"paths":{"/reference/lineups":{"get":{"tags":["TvGrid"],"summary":"","description":"Get list of generic lineup IDs that can be used.  A 'generic' lineup is not a real lineup, but a collection of stations defined by TV Media.  Any listing retrieved using a generic lineup will not return any channel number information, as it is irrelevant.","operationId":"GetTvMediaGenericLineups","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'brief'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/html":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /stations/{StationID}

> Gets station details by ID.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaStationResponse":{"title":"TvMediaStationResponse","properties":{"stationID":{"type":"integer","format":"int32"},"name":{"type":"string"},"callsign":{"type":"string"},"network":{"type":"string"},"stationType":{"type":"string"},"NTSC_TSID":{"type":"integer","format":"int32"},"DTV_TSID":{"type":"integer","format":"int32"},"Twitter":{"type":"string"},"webLink":{"type":"string"},"logoFilename":{"type":"string"},"stationHD":{"type":"boolean"}},"description":"TvMediaStationResponse","type":"object"}}},"paths":{"/stations/{StationID}":{"get":{"tags":["TvGrid"],"description":"Gets station details by ID.","operationId":"GetTvMediaStation","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"integer","format":"int32"},"name":"StationID","in":"path","description":"Station ID. Station ID's can be found in listings, or by using the Tvmedia/lineups API","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TvMediaStationResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/TvMediaStationResponse"}},"text/csv":{"schema":{"$ref":"#/components/schemas/TvMediaStationResponse"}},"text/html":{"schema":{"$ref":"#/components/schemas/TvMediaStationResponse"}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /genres/movies

> Gets list of movie genres.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaGenreResponse":{"title":"TvMediaGenreResponse","properties":{"genreID":{"type":"string"},"genre":{"type":"string"}},"description":"TvMediaGenreResponse","type":"object"}}},"paths":{"/genres/movies":{"get":{"tags":["TvGrid"],"description":"Gets list of movie genres.","operationId":"GetTvMediaMovieGenres","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"text/html":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /genres/shows

> Gets list of show genres.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaGenreResponse":{"title":"TvMediaGenreResponse","properties":{"genreID":{"type":"string"},"genre":{"type":"string"}},"description":"TvMediaGenreResponse","type":"object"}}},"paths":{"/genres/shows":{"get":{"tags":["TvGrid"],"description":"Gets list of show genres.","operationId":"GetTvMediaShowGenres","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"text/html":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /genres/sports

> Gets list of sports genres.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaGenreResponse":{"title":"TvMediaGenreResponse","properties":{"genreID":{"type":"string"},"genre":{"type":"string"}},"description":"TvMediaGenreResponse","type":"object"}}},"paths":{"/genres/sports":{"get":{"tags":["TvGrid"],"description":"Gets list of sports genres.","operationId":"GetTvMediaSportGenres","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}},"text/html":{"schema":{"title":"List<TvMediaGenreResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGenreResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /teams/{TeamID}

> Gets details for a specific team.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaTeamResponse":{"title":"TvMediaTeamResponse","properties":{"teamID":{"type":"integer","format":"int32"},"leagueID":{"type":"string"},"longName":{"type":"string"},"mediumName":{"type":"string"},"shortName":{"type":"string"},"logo":{"type":"string"}},"description":"TvMediaTeamResponse","type":"object"}}},"paths":{"/teams/{TeamID}":{"get":{"tags":["TvGrid"],"description":"Gets details for a specific team.","operationId":"GetTvMediaTeamById","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"integer","format":"int32"},"name":"TeamID","in":"path","description":"Team ID.","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}},"text/html":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/browse/{CountryID}

> Browse regions by country.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaRegionResponse":{"title":"TvMediaRegionResponse","properties":{"regionID":{"type":"string"},"regionName":{"type":"string"}},"description":"TvMediaRegionResponse","type":"object"}}},"paths":{"/lineups/browse/{CountryID}":{"get":{"tags":["TvGrid"],"description":"Browse regions by country.","operationId":"GetTvMediaRegions","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"CountryID","in":"path","description":"Country abbreviation. See TvMedia/lineups/browse for a list of supported countries.","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaRegionResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaRegionResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaRegionResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaRegionResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaRegionResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaRegionResponse"}}},"text/html":{"schema":{"title":"List<TvMediaRegionResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaRegionResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/{LineupID}/listings

> Retrieve individual listings for a given lineup ordered by start time (listDateTime) and channel number; unless using the search parameter, in which case they will be ordered by search term relevance.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaListingResponse":{"title":"TvMediaListingResponse","properties":{"PremieresAndFinalesOnly":{"type":"boolean"},"number":{"type":"string"},"channelNumber":{"type":"integer","format":"int32"},"subChannelNumber":{"type":"integer","format":"int32"},"stationID":{"type":"integer","format":"int32"},"name":{"type":"string"},"callsign":{"type":"string"},"network":{"type":"string"},"stationType":{"type":"string"},"webLink":{"type":"string"},"logoFilename":{"type":"string"},"listingID":{"type":"integer","format":"int32"},"listDateTime":{"type":"string"},"duration":{"type":"integer","format":"int32"},"showID":{"type":"integer","format":"int32"},"seriesID":{"type":"integer","format":"int32"},"showName":{"type":"string"},"episodeTitle":{"type":"string"},"episodeNumber":{"type":"string"},"parts":{"type":"integer","format":"int32"},"partNum":{"type":"integer","format":"int32"},"seriesPremiere":{"type":"boolean"},"seasonPremiere":{"type":"boolean"},"seriesFinale":{"type":"boolean"},"seasonFinale":{"type":"boolean"},"repeat":{"type":"boolean"},"isNew":{"type":"boolean"},"rating":{"type":"string"},"captioned":{"type":"boolean"},"educational":{"type":"boolean"},"blackWhite":{"type":"boolean"},"subtitled":{"type":"boolean"},"live":{"type":"boolean"},"hd":{"type":"boolean"},"descriptiveVideo":{"type":"boolean"},"inProgress":{"type":"boolean"},"showTypeID":{"type":"string"},"breakoutLevel":{"type":"integer","format":"int32"},"showType":{"type":"string"},"year":{"type":"string"},"guest":{"type":"string"},"cast":{"type":"string"},"director":{"type":"string"},"starRating":{"type":"integer","format":"int32"},"description":{"type":"string"},"league":{"type":"string"},"team1ID":{"type":"integer","format":"int32"},"team2ID":{"type":"integer","format":"int32"},"team1":{"type":"string"},"team2":{"type":"string"},"eventName":{"type":"string"},"location":{"type":"string"},"showPicture":{"type":"string"},"artwork":{"$ref":"#/components/schemas/Artwork"},"showHost":{"type":"string"},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/TvMediaExternalId"}}},"description":"TvMediaListingResponse","type":"object"},"Artwork":{"title":"Artwork","properties":{"showcard":{"type":"string"},"titlecard":{"type":"string"},"poster":{"type":"string"},"episodic":{"type":"string"},"movieStill":{"type":"string"},"moviePoster":{"type":"string"}},"description":"Artwork","type":"object"},"TvMediaExternalId":{"title":"TvMediaExternalId","properties":{"name":{"type":"string"},"id":{"type":"string"}},"description":"TvMediaExternalId","type":"object"}}},"paths":{"/lineups/{LineupID}/listings":{"get":{"tags":["TvGrid"],"description":"Retrieve individual listings for a given lineup ordered by start time (listDateTime) and channel number; unless using the search parameter, in which case they will be ordered by search term relevance.","operationId":"GetTvMediaLineupListings","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"LineupID","in":"path","description":"Lineup ID.","required":true},{"schema":{"type":"string","format":"date-time"},"name":"Start","in":"query","description":"UTC start time in ISO8601. Defaults to current date and time.","required":false},{"schema":{"type":"string","format":"date-time"},"name":"End","in":"query","description":"UTC end time in ISO8601. Defaults to 'start' time +4 hours.","required":false},{"schema":{"type":"integer","format":"int32"},"name":"TimeZone","in":"query","description":"Set a timezone or time offset for listing times (listDateTime property). Defaults to UTC, accepts time offsets (+/-HH:MM) or named time zones (see IANA Time Zone Database). If an invalid value is set, listDateTime will be returned as empty. NOTE: this parameter does not affect input values; start and end times must still be provided in UTC.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Channel","in":"query","description":"Include only channel(s) with this number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property , NOT channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeChan","in":"query","description":"Exclude channels by number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property, NOT the channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"StartChan","in":"query","description":"Lowest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"EndChan","in":"query","description":"Highest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1. In general this parameter should rarely be used, for shaping the grid size see the 'maxchan' parameter.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"Station","in":"query","description":"Filter by station ID. Array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"ExcludeStation","in":"query","description":"Filter out station IDs; array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"string"},"name":"Search","in":"query","description":"search value: can be a show, episode, movie, team, league, person, etc. Results will be sorted by relevance rather than time.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ShowType","in":"query","description":"Include only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeShowType","in":"query","description":"Exclude only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Id","in":"query","description":"ListingID, array or single values accepted. to return a single listing it should be used in combination with a stationID (station parameter).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"SportType","in":"query","description":"Get only sports listings of type sportTypeID. Array or single values accepted. For a list of possible values see /genres/sports.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"League","in":"query","description":"Get only sports listings in the given league ID(s). Array or single values accepted. For a list of possible values see /leagues.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Team","in":"query","description":"Filter by teams playing by name(teams.longName). Array or single values accepted, for a list of possible values see /leagues/teams. (NOTE: league parameter is required when using this parameter).","required":false},{"schema":{"type":"boolean"},"name":"NotYetStarted","in":"query","description":"Only displays listings which are starting on or after the given start time. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"SportEventsOnly","in":"query","description":"Get sporting events only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"DescriptiveVideoOnly","in":"query","description":"Only displays listings which are flagged as being broadcast with Descriptive Video. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"LiveOnly","in":"query","description":"Only displays live listings. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"NewShowsOnly","in":"query","description":"Get new shows only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"AdultContent","in":"query","description":"Defaults to 1 (allowed). Set to 0 to hide adult content.","required":false},{"schema":{"type":"boolean"},"name":"DisplayArtwork","in":"query","description":"Displays the Artwork information. Set to 1 to include, 1 is default. 0 to hide (will improve performance).","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'full'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/html":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## Stations are not tied to lineups, therefore no channel numbers will be present in the response, unlike most other listing operations.

> Get listings for a given station.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaShortListingResponse":{"title":"TvMediaShortListingResponse","properties":{"listingID":{"type":"integer","format":"int32"},"listDateTime":{"type":"string"},"duration":{"type":"integer","format":"int32"},"showID":{"type":"integer","format":"int32"},"seriesID":{"type":"integer","format":"int32"},"showName":{"type":"string"},"episodeTitle":{"type":"string"},"episodeNumber":{"type":"string"},"parts":{"type":"integer","format":"int32"},"partNum":{"type":"integer","format":"int32"},"seriesPremiere":{"type":"boolean"},"seasonPremiere":{"type":"boolean"},"seriesFinale":{"type":"boolean"},"seasonFinale":{"type":"boolean"},"repeat":{"type":"boolean"},"isNew":{"type":"boolean"},"rating":{"type":"string"},"captioned":{"type":"boolean"},"educational":{"type":"boolean"},"blackWhite":{"type":"boolean"},"subtitled":{"type":"boolean"},"live":{"type":"boolean"},"hd":{"type":"boolean"},"descriptiveVideo":{"type":"boolean"},"inProgress":{"type":"boolean"},"showTypeID":{"type":"string"},"breakoutLevel":{"type":"integer","format":"int32"},"showType":{"type":"string"},"year":{"type":"string"},"guest":{"type":"string"},"cast":{"type":"string"},"director":{"type":"string"},"starRating":{"type":"integer","format":"int32"},"description":{"type":"string"},"league":{"type":"string"},"team1ID":{"type":"integer","format":"int32"},"team2ID":{"type":"integer","format":"int32"},"team1":{"type":"string"},"team2":{"type":"string"},"eventName":{"type":"string"},"location":{"type":"string"},"showPicture":{"type":"string"},"artwork":{"$ref":"#/components/schemas/Artwork"},"showHost":{"type":"string"},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/TvMediaExternalId"}}},"description":"TvMediaShortListingResponse","type":"object"},"Artwork":{"title":"Artwork","properties":{"showcard":{"type":"string"},"titlecard":{"type":"string"},"poster":{"type":"string"},"episodic":{"type":"string"},"movieStill":{"type":"string"},"moviePoster":{"type":"string"}},"description":"Artwork","type":"object"},"TvMediaExternalId":{"title":"TvMediaExternalId","properties":{"name":{"type":"string"},"id":{"type":"string"}},"description":"TvMediaExternalId","type":"object"}}},"paths":{"/stations/{StationID}/listings":{"get":{"tags":["TvGrid"],"summary":"Stations are not tied to lineups, therefore no channel numbers will be present in the response, unlike most other listing operations.","description":"Get listings for a given station.","operationId":"GetTvMediaListingsByStation","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"integer","format":"int32"},"name":"StationID","in":"path","description":"Station ID. Station ID's can be found in listings, or by using the Tvmedia/lineups API","required":true},{"schema":{"type":"string","format":"date-time"},"name":"Start","in":"query","description":"UTC start time in ISO8601. Defaults to current date and time.","required":false},{"schema":{"type":"string","format":"date-time"},"name":"End","in":"query","description":"UTC end time in ISO8601. Defaults to 'start' time +4 hours.","required":false},{"schema":{"type":"integer","format":"int32"},"name":"TimeZone","in":"query","description":"Set a timezone or time offset for listing times (listDateTime property). Defaults to UTC, accepts time offsets (+/-HH:MM) or named time zones (see IANA Time Zone Database). If an invalid value is set, listDateTime will be returned as empty. NOTE: this parameter does not affect input values; start and end times must still be provided in UTC.","required":false},{"schema":{"type":"string"},"name":"Search","in":"query","description":"search value: can be a show, episode, movie, team, league, person, etc. Results will be sorted by relevance rather than time.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ShowType","in":"query","description":"Include only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeShowType","in":"query","description":"Exclude only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Id","in":"query","description":"ListingID, array or single values accepted. to return a single listing it should be used in combination with a stationID (station parameter).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Show","in":"query","description":"Get listings for a specific showID, or array of showID's. ShowID's represent a single episode, movie, or event. a showID, episodeID and movieID are all valid parameters.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Series","in":"query","description":"Get listings for a specific seriesID or array of seriesID's. A seriesID represents a collection of showID's, such as a TV Series.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"SportType","in":"query","description":"Get only sports listings of type sportTypeID. Array or single values accepted. For a list of possible values see /genres/sports.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"League","in":"query","description":"Get only sports listings in the given league ID(s). Array or single values accepted. For a list of possible values see /leagues.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Team","in":"query","description":"Filter by teams playing by name(teams.longName). Array or single values accepted, for a list of possible values see /leagues/teams. (NOTE: league parameter is required when using this parameter).","required":false},{"schema":{"type":"boolean"},"name":"NotYetStarted","in":"query","description":"Only displays listings which are starting on or after the given start time. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"SportEventsOnly","in":"query","description":"Get sporting events only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"DescriptiveVideoOnly","in":"query","description":"Only displays listings which are flagged as being broadcast with Descriptive Video. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"LiveOnly","in":"query","description":"Only displays live listings. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"NewShowsOnly","in":"query","description":"Get new shows only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"AdultContent","in":"query","description":"Defaults to 1 (allowed). Set to 0 to hide adult content.","required":false},{"schema":{"type":"boolean"},"name":"DisplayArtwork","in":"query","description":"Displays the Artwork information. Set to 1 to include, 1 is default. 0 to hide (will improve performance).","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'full'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaShortListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaShortListingResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaShortListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaShortListingResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaShortListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaShortListingResponse"}}},"text/html":{"schema":{"title":"List<TvMediaShortListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaShortListingResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /leagues/{LeagueID}/teams

> Gets list of teams in a league.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaTeamResponse":{"title":"TvMediaTeamResponse","properties":{"teamID":{"type":"integer","format":"int32"},"leagueID":{"type":"string"},"longName":{"type":"string"},"mediumName":{"type":"string"},"shortName":{"type":"string"},"logo":{"type":"string"}},"description":"TvMediaTeamResponse","type":"object"}}},"paths":{"/leagues/{LeagueID}/teams":{"get":{"tags":["TvGrid"],"description":"Gets list of teams in a league.","operationId":"GetTvMediaTeams","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"LeagueID","in":"path","description":"League ID. See /TvMedia/leagues for a list of all available sports leagues.","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}},"text/html":{"schema":{"title":"List<TvMediaTeamResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaTeamResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /leagues/{LeagueID}/listings

> Retrieve listings for a given leagueID.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaListingResponse":{"title":"TvMediaListingResponse","properties":{"PremieresAndFinalesOnly":{"type":"boolean"},"number":{"type":"string"},"channelNumber":{"type":"integer","format":"int32"},"subChannelNumber":{"type":"integer","format":"int32"},"stationID":{"type":"integer","format":"int32"},"name":{"type":"string"},"callsign":{"type":"string"},"network":{"type":"string"},"stationType":{"type":"string"},"webLink":{"type":"string"},"logoFilename":{"type":"string"},"listingID":{"type":"integer","format":"int32"},"listDateTime":{"type":"string"},"duration":{"type":"integer","format":"int32"},"showID":{"type":"integer","format":"int32"},"seriesID":{"type":"integer","format":"int32"},"showName":{"type":"string"},"episodeTitle":{"type":"string"},"episodeNumber":{"type":"string"},"parts":{"type":"integer","format":"int32"},"partNum":{"type":"integer","format":"int32"},"seriesPremiere":{"type":"boolean"},"seasonPremiere":{"type":"boolean"},"seriesFinale":{"type":"boolean"},"seasonFinale":{"type":"boolean"},"repeat":{"type":"boolean"},"isNew":{"type":"boolean"},"rating":{"type":"string"},"captioned":{"type":"boolean"},"educational":{"type":"boolean"},"blackWhite":{"type":"boolean"},"subtitled":{"type":"boolean"},"live":{"type":"boolean"},"hd":{"type":"boolean"},"descriptiveVideo":{"type":"boolean"},"inProgress":{"type":"boolean"},"showTypeID":{"type":"string"},"breakoutLevel":{"type":"integer","format":"int32"},"showType":{"type":"string"},"year":{"type":"string"},"guest":{"type":"string"},"cast":{"type":"string"},"director":{"type":"string"},"starRating":{"type":"integer","format":"int32"},"description":{"type":"string"},"league":{"type":"string"},"team1ID":{"type":"integer","format":"int32"},"team2ID":{"type":"integer","format":"int32"},"team1":{"type":"string"},"team2":{"type":"string"},"eventName":{"type":"string"},"location":{"type":"string"},"showPicture":{"type":"string"},"artwork":{"$ref":"#/components/schemas/Artwork"},"showHost":{"type":"string"},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/TvMediaExternalId"}}},"description":"TvMediaListingResponse","type":"object"},"Artwork":{"title":"Artwork","properties":{"showcard":{"type":"string"},"titlecard":{"type":"string"},"poster":{"type":"string"},"episodic":{"type":"string"},"movieStill":{"type":"string"},"moviePoster":{"type":"string"}},"description":"Artwork","type":"object"},"TvMediaExternalId":{"title":"TvMediaExternalId","properties":{"name":{"type":"string"},"id":{"type":"string"}},"description":"TvMediaExternalId","type":"object"}}},"paths":{"/leagues/{LeagueID}/listings":{"get":{"tags":["TvGrid"],"description":"Retrieve listings for a given leagueID.","operationId":"GetTvMediaLeagueListings","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"LeagueID","in":"path","description":"League ID. See /leagues for a list of all available sports leagues.","required":true},{"schema":{"type":"string"},"name":"LineupID","in":"query","description":"Lineup ID. Lineups can be found through the /TvMedia/lineups method.","required":true},{"schema":{"type":"string","format":"date-time"},"name":"Start","in":"query","description":"UTC start time in ISO8601. Defaults to current date and time.","required":false},{"schema":{"type":"string","format":"date-time"},"name":"End","in":"query","description":"UTC end time in ISO8601. Defaults to 'start' time +4 hours.","required":false},{"schema":{"type":"integer","format":"int32"},"name":"TimeZone","in":"query","description":"Set a timezone or time offset for listing times (listDateTime property). Defaults to UTC, accepts time offsets (+/-HH:MM) or named time zones (see IANA Time Zone Database). If an invalid value is set, listDateTime will be returned as empty. NOTE: this parameter does not affect input values; start and end times must still be provided in UTC.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Channel","in":"query","description":"Include only channel(s) with this number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property , NOT channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeChan","in":"query","description":"Exclude channels by number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property, NOT the channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"StartChan","in":"query","description":"Lowest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"EndChan","in":"query","description":"Highest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1. In general this parameter should rarely be used, for shaping the grid size see the 'maxchan' parameter.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"Station","in":"query","description":"Filter by station ID. Array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"ExcludeStation","in":"query","description":"Filter out station IDs; array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"string"},"name":"Search","in":"query","description":"search value: can be a show, episode, movie, team, league, person, etc. Results will be sorted by relevance rather than time.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ShowType","in":"query","description":"Include only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeShowType","in":"query","description":"Exclude only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Id","in":"query","description":"ListingID, array or single values accepted. to return a single listing it should be used in combination with a stationID (station parameter).","required":false},{"schema":{"type":"boolean"},"name":"NotYetStarted","in":"query","description":"Only displays listings which are starting on or after the given start time. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"SportEventsOnly","in":"query","description":"Get sporting events only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"DescriptiveVideoOnly","in":"query","description":"Only displays listings which are flagged as being broadcast with Descriptive Video. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"LiveOnly","in":"query","description":"Only displays live listings. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"AdultContent","in":"query","description":"Defaults to 1 (allowed). Set to 0 to hide adult content.","required":false},{"schema":{"type":"boolean"},"name":"DisplayArtwork","in":"query","description":"Displays the Artwork information. Set to 1 to include, 1 is default. 0 to hide (will improve performance).","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'full'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/html":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /teams/{TeamID}/listings

> Retrieve listings for a given TeamID.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaListingResponse":{"title":"TvMediaListingResponse","properties":{"PremieresAndFinalesOnly":{"type":"boolean"},"number":{"type":"string"},"channelNumber":{"type":"integer","format":"int32"},"subChannelNumber":{"type":"integer","format":"int32"},"stationID":{"type":"integer","format":"int32"},"name":{"type":"string"},"callsign":{"type":"string"},"network":{"type":"string"},"stationType":{"type":"string"},"webLink":{"type":"string"},"logoFilename":{"type":"string"},"listingID":{"type":"integer","format":"int32"},"listDateTime":{"type":"string"},"duration":{"type":"integer","format":"int32"},"showID":{"type":"integer","format":"int32"},"seriesID":{"type":"integer","format":"int32"},"showName":{"type":"string"},"episodeTitle":{"type":"string"},"episodeNumber":{"type":"string"},"parts":{"type":"integer","format":"int32"},"partNum":{"type":"integer","format":"int32"},"seriesPremiere":{"type":"boolean"},"seasonPremiere":{"type":"boolean"},"seriesFinale":{"type":"boolean"},"seasonFinale":{"type":"boolean"},"repeat":{"type":"boolean"},"isNew":{"type":"boolean"},"rating":{"type":"string"},"captioned":{"type":"boolean"},"educational":{"type":"boolean"},"blackWhite":{"type":"boolean"},"subtitled":{"type":"boolean"},"live":{"type":"boolean"},"hd":{"type":"boolean"},"descriptiveVideo":{"type":"boolean"},"inProgress":{"type":"boolean"},"showTypeID":{"type":"string"},"breakoutLevel":{"type":"integer","format":"int32"},"showType":{"type":"string"},"year":{"type":"string"},"guest":{"type":"string"},"cast":{"type":"string"},"director":{"type":"string"},"starRating":{"type":"integer","format":"int32"},"description":{"type":"string"},"league":{"type":"string"},"team1ID":{"type":"integer","format":"int32"},"team2ID":{"type":"integer","format":"int32"},"team1":{"type":"string"},"team2":{"type":"string"},"eventName":{"type":"string"},"location":{"type":"string"},"showPicture":{"type":"string"},"artwork":{"$ref":"#/components/schemas/Artwork"},"showHost":{"type":"string"},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/TvMediaExternalId"}}},"description":"TvMediaListingResponse","type":"object"},"Artwork":{"title":"Artwork","properties":{"showcard":{"type":"string"},"titlecard":{"type":"string"},"poster":{"type":"string"},"episodic":{"type":"string"},"movieStill":{"type":"string"},"moviePoster":{"type":"string"}},"description":"Artwork","type":"object"},"TvMediaExternalId":{"title":"TvMediaExternalId","properties":{"name":{"type":"string"},"id":{"type":"string"}},"description":"TvMediaExternalId","type":"object"}}},"paths":{"/teams/{TeamID}/listings":{"get":{"tags":["TvGrid"],"description":"Retrieve listings for a given TeamID.","operationId":"GetTvMediaTeamListings","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"integer","format":"int32"},"name":"TeamID","in":"path","description":"Team ID. See /teams for a list of all available sports teams.","required":true},{"schema":{"type":"string"},"name":"LineupID","in":"query","description":"Lineup ID. Lineups can be found through the /TvMedia/lineups method.","required":true},{"schema":{"type":"string","format":"date-time"},"name":"Start","in":"query","description":"UTC start time in ISO8601. Defaults to current date and time.","required":false},{"schema":{"type":"string","format":"date-time"},"name":"End","in":"query","description":"UTC end time in ISO8601. Defaults to 'start' time +4 hours.","required":false},{"schema":{"type":"integer","format":"int32"},"name":"TimeZone","in":"query","description":"Set a timezone or time offset for listing times (listDateTime property). Defaults to UTC, accepts time offsets (+/-HH:MM) or named time zones (see IANA Time Zone Database). If an invalid value is set, listDateTime will be returned as empty. NOTE: this parameter does not affect input values; start and end times must still be provided in UTC.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Channel","in":"query","description":"Include only channel(s) with this number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property , NOT channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeChan","in":"query","description":"Exclude channels by number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property, NOT the channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"StartChan","in":"query","description":"Lowest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"EndChan","in":"query","description":"Highest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1. In general this parameter should rarely be used, for shaping the grid size see the 'maxchan' parameter.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"Station","in":"query","description":"Filter by station ID. Array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"ExcludeStation","in":"query","description":"Filter out station IDs; array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"string"},"name":"Search","in":"query","description":"search value: can be a show, episode, movie, team, league, person, etc. Results will be sorted by relevance rather than time.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ShowType","in":"query","description":"Include only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeShowType","in":"query","description":"Exclude only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Id","in":"query","description":"ListingID, array or single values accepted. to return a single listing it should be used in combination with a stationID (station parameter).","required":false},{"schema":{"type":"boolean"},"name":"NotYetStarted","in":"query","description":"Only displays listings which are starting on or after the given start time. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"SportEventsOnly","in":"query","description":"Get sporting events only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"DescriptiveVideoOnly","in":"query","description":"Only displays listings which are flagged as being broadcast with Descriptive Video. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"LiveOnly","in":"query","description":"Only displays live listings. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"AdultContent","in":"query","description":"Defaults to 1 (allowed). Set to 0 to hide adult content.","required":false},{"schema":{"type":"boolean"},"name":"DisplayArtwork","in":"query","description":"Displays the Artwork information. Set to 1 to include, 1 is default. 0 to hide (will improve performance).","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'full'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/html":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/browse/{CountryID}/{RegionID}

> Get service areas for a specific country and region.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaServiceAreaResponse":{"title":"TvMediaServiceAreaResponse","properties":{"areaID":{"type":"string"},"areaName":{"type":"string"}},"description":"TvMediaServiceAreaResponse","type":"object"}}},"paths":{"/lineups/browse/{CountryID}/{RegionID}":{"get":{"tags":["TvGrid"],"description":"Get service areas for a specific country and region.","operationId":"GetTvMediaServiceAreas","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"CountryID","in":"path","description":"Country abbreviation. See TvMedia/lineups/browse for a list of supported countries.","required":true},{"schema":{"type":"string"},"name":"RegionID","in":"path","description":"Region abbreviation. See TvMedia/lineups/browse/{CountryID} for a list of regions.","required":true}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaServiceAreaResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaServiceAreaResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaServiceAreaResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaServiceAreaResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaServiceAreaResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaServiceAreaResponse"}}},"text/html":{"schema":{"title":"List<TvMediaServiceAreaResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaServiceAreaResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/{LineupID}/listings/highlights

> Retrieves featured listings. setting a start and/or end time for every request is a highly recommended.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaListingResponse":{"title":"TvMediaListingResponse","properties":{"PremieresAndFinalesOnly":{"type":"boolean"},"number":{"type":"string"},"channelNumber":{"type":"integer","format":"int32"},"subChannelNumber":{"type":"integer","format":"int32"},"stationID":{"type":"integer","format":"int32"},"name":{"type":"string"},"callsign":{"type":"string"},"network":{"type":"string"},"stationType":{"type":"string"},"webLink":{"type":"string"},"logoFilename":{"type":"string"},"listingID":{"type":"integer","format":"int32"},"listDateTime":{"type":"string"},"duration":{"type":"integer","format":"int32"},"showID":{"type":"integer","format":"int32"},"seriesID":{"type":"integer","format":"int32"},"showName":{"type":"string"},"episodeTitle":{"type":"string"},"episodeNumber":{"type":"string"},"parts":{"type":"integer","format":"int32"},"partNum":{"type":"integer","format":"int32"},"seriesPremiere":{"type":"boolean"},"seasonPremiere":{"type":"boolean"},"seriesFinale":{"type":"boolean"},"seasonFinale":{"type":"boolean"},"repeat":{"type":"boolean"},"isNew":{"type":"boolean"},"rating":{"type":"string"},"captioned":{"type":"boolean"},"educational":{"type":"boolean"},"blackWhite":{"type":"boolean"},"subtitled":{"type":"boolean"},"live":{"type":"boolean"},"hd":{"type":"boolean"},"descriptiveVideo":{"type":"boolean"},"inProgress":{"type":"boolean"},"showTypeID":{"type":"string"},"breakoutLevel":{"type":"integer","format":"int32"},"showType":{"type":"string"},"year":{"type":"string"},"guest":{"type":"string"},"cast":{"type":"string"},"director":{"type":"string"},"starRating":{"type":"integer","format":"int32"},"description":{"type":"string"},"league":{"type":"string"},"team1ID":{"type":"integer","format":"int32"},"team2ID":{"type":"integer","format":"int32"},"team1":{"type":"string"},"team2":{"type":"string"},"eventName":{"type":"string"},"location":{"type":"string"},"showPicture":{"type":"string"},"artwork":{"$ref":"#/components/schemas/Artwork"},"showHost":{"type":"string"},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/TvMediaExternalId"}}},"description":"TvMediaListingResponse","type":"object"},"Artwork":{"title":"Artwork","properties":{"showcard":{"type":"string"},"titlecard":{"type":"string"},"poster":{"type":"string"},"episodic":{"type":"string"},"movieStill":{"type":"string"},"moviePoster":{"type":"string"}},"description":"Artwork","type":"object"},"TvMediaExternalId":{"title":"TvMediaExternalId","properties":{"name":{"type":"string"},"id":{"type":"string"}},"description":"TvMediaExternalId","type":"object"}}},"paths":{"/lineups/{LineupID}/listings/highlights":{"get":{"tags":["TvGrid"],"description":"Retrieves featured listings. setting a start and/or end time for every request is a highly recommended.","operationId":"GetTvMediaLineupListingsHighlights","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"LineupID","in":"path","description":"Lineup ID.","required":true},{"schema":{"type":"string","format":"date-time"},"name":"Start","in":"query","description":"UTC start time in ISO8601. Defaults to current date and time.","required":false},{"schema":{"type":"string","format":"date-time"},"name":"End","in":"query","description":"UTC end time in ISO8601. Defaults to 'start' time +4 hours.","required":false},{"schema":{"type":"integer","format":"int32"},"name":"TimeZone","in":"query","description":"Set a timezone or time offset for listing times (listDateTime property). Defaults to UTC, accepts time offsets (+/-HH:MM) or named time zones (see IANA Time Zone Database). If an invalid value is set, listDateTime will be returned as empty. NOTE: this parameter does not affect input values; start and end times must still be provided in UTC.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Channel","in":"query","description":"Include only channel(s) with this number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property , NOT channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeChan","in":"query","description":"Exclude channels by number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property, NOT the channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"StartChan","in":"query","description":"Lowest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"EndChan","in":"query","description":"Highest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1. In general this parameter should rarely be used, for shaping the grid size see the 'maxchan' parameter.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"Station","in":"query","description":"Filter by station ID. Array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"ExcludeStation","in":"query","description":"Filter out station IDs; array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"string"},"name":"Search","in":"query","description":"search value: can be a show, episode, movie, team, league, person, etc. Results will be sorted by relevance rather than time.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ShowType","in":"query","description":"Include only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeShowType","in":"query","description":"Exclude only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Id","in":"query","description":"ListingID, array or single values accepted. to return a single listing it should be used in combination with a stationID (station parameter).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Series","in":"query","description":"Get listings for a specific seriesID or array of seriesID's. A seriesID represents a collection of showID's, such as a TV Series.","required":false},{"schema":{"type":"boolean"},"name":"NotYetStarted","in":"query","description":"Only displays listings which are starting on or after the given start time. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"NewShowstsOnly","in":"query","description":"Get new shows only. no value necessary.","required":false},{"schema":{"type":"boolean"},"name":"DescriptiveVideoOnly","in":"query","description":"Only displays listings which are flagged as being broadcast with Descriptive Video. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"LiveOnly","in":"query","description":"Only displays live listings. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"IncludeNewShows","in":"query","description":"Get new shows only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"AdultContent","in":"query","description":"Defaults to 1 (allowed). Set to 0 to hide adult content.","required":false},{"schema":{"type":"boolean"},"name":"DisplayArtwork","in":"query","description":"Displays the Artwork information. Set to 1 to include, 1 is default. 0 to hide (will improve performance).","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'full'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}},"text/html":{"schema":{"title":"List<TvMediaListingResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaListingResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/{LineupID}/listings/grid

> A collection of listings grouped by channel and ordered by listDateTime. The grid dimensions ( time x channels ) can be modified by using the start, end, startchan and maxchan parameters. Channels without any listings will be returned with an empty listings collection.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaGridResponse":{"title":"TvMediaGridResponse","properties":{"channel":{"$ref":"#/components/schemas/TvMediaChannelResponse"},"listings":{"type":"array","items":{"$ref":"#/components/schemas/TvMediaShortListingResponse"}}},"description":"TvMediaGridResponse","type":"object"},"TvMediaChannelResponse":{"title":"TvMediaChannelResponse","properties":{"number":{"type":"string"},"channelNumber":{"type":"integer","format":"int32"},"subChannelNumber":{"type":"integer","format":"int32"},"stationID":{"type":"integer","format":"int32"},"name":{"type":"string"},"callsign":{"type":"string"},"network":{"type":"string"},"stationType":{"type":"string"},"NTSC_TSID":{"type":"integer","format":"int32"},"DTV_TSID":{"type":"integer","format":"int32"},"Twitter":{"type":"string"},"webLink":{"type":"string"},"logoFilename":{"type":"string"},"stationHD":{"type":"boolean"}},"description":"TvMediaChannelResponse","type":"object"},"TvMediaShortListingResponse":{"title":"TvMediaShortListingResponse","properties":{"listingID":{"type":"integer","format":"int32"},"listDateTime":{"type":"string"},"duration":{"type":"integer","format":"int32"},"showID":{"type":"integer","format":"int32"},"seriesID":{"type":"integer","format":"int32"},"showName":{"type":"string"},"episodeTitle":{"type":"string"},"episodeNumber":{"type":"string"},"parts":{"type":"integer","format":"int32"},"partNum":{"type":"integer","format":"int32"},"seriesPremiere":{"type":"boolean"},"seasonPremiere":{"type":"boolean"},"seriesFinale":{"type":"boolean"},"seasonFinale":{"type":"boolean"},"repeat":{"type":"boolean"},"isNew":{"type":"boolean"},"rating":{"type":"string"},"captioned":{"type":"boolean"},"educational":{"type":"boolean"},"blackWhite":{"type":"boolean"},"subtitled":{"type":"boolean"},"live":{"type":"boolean"},"hd":{"type":"boolean"},"descriptiveVideo":{"type":"boolean"},"inProgress":{"type":"boolean"},"showTypeID":{"type":"string"},"breakoutLevel":{"type":"integer","format":"int32"},"showType":{"type":"string"},"year":{"type":"string"},"guest":{"type":"string"},"cast":{"type":"string"},"director":{"type":"string"},"starRating":{"type":"integer","format":"int32"},"description":{"type":"string"},"league":{"type":"string"},"team1ID":{"type":"integer","format":"int32"},"team2ID":{"type":"integer","format":"int32"},"team1":{"type":"string"},"team2":{"type":"string"},"eventName":{"type":"string"},"location":{"type":"string"},"showPicture":{"type":"string"},"artwork":{"$ref":"#/components/schemas/Artwork"},"showHost":{"type":"string"},"externalIds":{"type":"array","items":{"$ref":"#/components/schemas/TvMediaExternalId"}}},"description":"TvMediaShortListingResponse","type":"object"},"Artwork":{"title":"Artwork","properties":{"showcard":{"type":"string"},"titlecard":{"type":"string"},"poster":{"type":"string"},"episodic":{"type":"string"},"movieStill":{"type":"string"},"moviePoster":{"type":"string"}},"description":"Artwork","type":"object"},"TvMediaExternalId":{"title":"TvMediaExternalId","properties":{"name":{"type":"string"},"id":{"type":"string"}},"description":"TvMediaExternalId","type":"object"}}},"paths":{"/lineups/{LineupID}/listings/grid":{"get":{"tags":["TvGrid"],"description":"A collection of listings grouped by channel and ordered by listDateTime. The grid dimensions ( time x channels ) can be modified by using the start, end, startchan and maxchan parameters. Channels without any listings will be returned with an empty listings collection.","operationId":"GetTvMediaLineupListingsGrid","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"LineupID","in":"path","description":"Lineup ID.","required":true},{"schema":{"type":"string","format":"date-time"},"name":"Start","in":"query","description":"UTC start time in ISO8601. Defaults to current date and time.","required":false},{"schema":{"type":"string","format":"date-time"},"name":"End","in":"query","description":"UTC end time in ISO8601. Defaults to 'start' time +4 hours.","required":false},{"schema":{"type":"integer","format":"int32"},"name":"TimeZone","in":"query","description":"Set a timezone or time offset for listing times (listDateTime property). Defaults to UTC, accepts time offsets (+/-HH:MM) or named time zones (see IANA Time Zone Database). If an invalid value is set, listDateTime will be returned as empty. NOTE: this parameter does not affect input values; start and end times must still be provided in UTC.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Channel","in":"query","description":"Include only channel(s) with this number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property , NOT channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeChan","in":"query","description":"Exclude channels by number, single or array values accepted. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1 (use the channel.number property, NOT the channel.channelNumber property).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"StartChan","in":"query","description":"Lowest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"EndChan","in":"query","description":"Highest channel. sub channel numbers can be hyphenated to the end of the string: e.g. 1-2 for sub channel 2 of channel 1. In general this parameter should rarely be used, for shaping the grid size see the 'maxchan' parameter.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"Station","in":"query","description":"Filter by station ID. Array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"array","items":{"type":"integer","format":"int32"}},"style":"form","explode":true,"name":"ExcludeStation","in":"query","description":"Filter out station IDs; array or single value accepted. Station ID's can be found in listings, or by using the /lineups Entertainment.","required":false},{"schema":{"type":"string"},"name":"Search","in":"query","description":"search value: can be a show, episode, movie, team, league, person, etc. Results will be sorted by relevance rather than time.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ShowType","in":"query","description":"Include only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"ExcludeShowType","in":"query","description":"Exclude only these show type ID(s), array or single values accepted. Must be URL encoded. For a list of possible show type's and their ID's see /genres/shows, or the showTypeID property of a listing object.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Id","in":"query","description":"ListingID, array or single values accepted. to return a single listing it should be used in combination with a stationID (station parameter).","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Show","in":"query","description":"Get listings for a specific showID, or array of showID's. ShowID's represent a single episode, movie, or event. a showID, episodeID and movieID are all valid parameters.\t","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Series","in":"query","description":"Get listings for a specific seriesID or array of seriesID's. A seriesID represents a collection of showID's, such as a TV Series.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"SportType","in":"query","description":"Get only sports listings of type sportTypeID. Array or single values accepted. For a list of possible values see /genres/sports.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"League","in":"query","description":"Get only sports listings in the given league ID(s). Array or single values accepted. For a list of possible values see /leagues.","required":false},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"name":"Team","in":"query","description":"Filter by teams playing by name(teams.longName). Array or single values accepted, for a list of possible values see /leagues/teams. (NOTE: league parameter is required when using this parameter).","required":false},{"schema":{"type":"boolean"},"name":"NotYetStarted","in":"query","description":"Only displays listings which are starting on or after the given start time. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"SportEventsOnly","in":"query","description":"Get sporting events only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"DescriptiveVideoOnly","in":"query","description":"Only displays listings which are flagged as being broadcast with Descriptive Video. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"LiveOnly","in":"query","description":"Only displays live listings. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"NewShowsOnly","in":"query","description":"Get new shows only. No value necessary.","required":false},{"schema":{"type":"boolean"},"name":"AdultContent","in":"query","description":"Defaults to 1 (allowed). Set to 0 to hide adult content.","required":false},{"schema":{"type":"boolean"},"name":"DisplayArtwork","in":"query","description":"Displays the Artwork information. Set to 1 to include, 1 is default. 0 to hide (will improve performance).","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'full'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaGridResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGridResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaGridResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGridResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaGridResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGridResponse"}}},"text/html":{"schema":{"title":"List<TvMediaGridResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaGridResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```

## GET /lineups/browse/{CountryID}/{RegionID}/{AreaID}

> Get lineups by AreaID.

```json
{"openapi":"3.1.1","info":{"title":"Tv Grid API","version":"1.0"},"tags":[{"name":"TvGrid"}],"servers":[{"url":"https://api.origin.fabricdata.com/api/TvGrid"}],"security":[{"ApiKeyHeader":[],"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","description":"Authorize requests passing your apiKey in HTTP header.","name":"Ocp-Apim-Subscription-Key","in":"header"}},"schemas":{"TvMediaLineupResponse":{"title":"TvMediaLineupResponse","properties":{"lineupID":{"type":"string"},"lineupName":{"type":"string"},"lineupType":{"type":"string"},"providerID":{"type":"string"},"providerName":{"type":"string"},"serviceArea":{"type":"string"},"country":{"type":"string"},"stations":{"type":"array","items":{"$ref":"#/components/schemas/Station"}}},"description":"TvMediaLineupResponse","type":"object"},"Station":{"title":"Station","properties":{"_CallSign":{"type":"string"},"_ID":{"type":"integer","format":"int32"},"_Type":{"type":"string"},"_Affiliate":{"type":"string"},"_LogoPathURL":{"type":"string"},"_Media":{"$ref":"#/components/schemas/Object"},"_MediaInfoSpecified":{"type":"boolean"},"_StationDetailsSpecified":{"type":"boolean"},"_StationDetails":{"$ref":"#/components/schemas/Object"},"_AiringsSpecified":{"type":"boolean"},"_Airings":{"$ref":"#/components/schemas/Object"}},"description":"Station","type":"object"},"Object":{"properties":{},"description":"Object","type":"object"}}},"paths":{"/lineups/browse/{CountryID}/{RegionID}/{AreaID}":{"get":{"tags":["TvGrid"],"description":"Get lineups by AreaID.","operationId":"GetTvMediaLineupsByAreaID","parameters":[{"schema":{"type":"string"},"name":"TvMediaApiKey","in":"query","description":"API Key supplied by TvMedia.ca","required":true},{"schema":{"type":"string"},"name":"CountryID","in":"path","description":"Country abbreviation. See TvMedia/lineups/browse for a list of supported countries.","required":true},{"schema":{"type":"string"},"name":"RegionID","in":"path","description":"Region abbreviation. See TvMedia/lineups/browse/{CountryID} for a list of regions.","required":true},{"schema":{"type":"string"},"name":"AreaID","in":"path","description":"Service area ID. See TvMedia/lineups/browse/{CountryID}/{RegionID} for a list of service areas.","required":true},{"schema":{"type":"string","enum":["OTA","SAT","CAB","IPTV"]},"name":"LineupType","in":"query","description":"Filter by lineup type, valid types are OTA, SAT, CAB, IPTV.","required":false},{"schema":{"type":"string"},"name":"ProviderId","in":"query","description":"Filter by provider ID","required":false},{"schema":{"type":"string","enum":["full","brief"]},"name":"Detail","in":"query","description":"Set level of detail for response. values are 'full' or 'brief', defaults to 'brief'. 'full' will include all properties, 'brief' will exclude optional properties.","required":false}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"application/xml":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/csv":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}},"text/html":{"schema":{"title":"List<TvMediaLineupResponse>","type":"array","items":{"$ref":"#/components/schemas/TvMediaLineupResponse"}}}}},"204":{"description":"No content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"403":{"description":"Forbidden. The subscription key does not have permission to access this method."},"404":{"description":"Not found. The item you requested could not be found or has been deleted."},"409":{"description":"Conflict."},"429":{"description":"Too many requests."},"500":{"description":"Internal server error."},"503":{"description":"Service unavailable."}},"deprecated":false}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://knowledgebase.fabricdata.com/origin/apis-all/tv-grid-online-api-docs/tvgrid.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
