openapi: 3.2.0 info: title: GN IDS API v1.9.3 Show Season API description: 'The purpose of this application is to provide an API to create, retrieve, update, delete, and publish client programs.' version: 1.9.3 servers: - url: /proxy/gnids/api/v1 tags: - name: show-season paths: /shows/versions/presentations/{gnID}/seasons: post: tags: - show-season summary: Create a season of a show with the provided show presentation gnID operationId: createShowSeason parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the show presentation that the season will belong to. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NewSeason' required: false responses: '200': description: SeasonResponse content: application/json: schema: $ref: '#/components/schemas/SeasonResponse' '400': description: BadRequestValidationError content: application/json: schema: type: object properties: description: type: string examples: - see fields for details. error: type: string examples: - bad_request fields: type: object additionalProperties: type: object additionalProperties: type: string examples: - subType: error: subType is a required field instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 400 '401': description: UnauthorizedError content: application/json: schema: type: object properties: description: type: string examples: - authentication failed error: type: string examples: - unauthorized instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 401 '403': description: ForbiddenError content: application/json: schema: type: object properties: description: type: string examples: - 'cannot use title language "cs": not entitled' error: type: string examples: - forbidden instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 403 '404': description: NotFoundError content: application/json: schema: type: object properties: Meta: type: object properties: rayID: type: string examples: - '"foo-bar"' code: type: integer format: int64 description: type: string error: type: string '415': description: UnsupportedMediaError content: application/json: schema: type: object properties: description: type: string examples: - request body contains badly-formed JSON error: type: string examples: - unsupported_media_type instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 415 '500': description: InternalServerError content: application/json: schema: type: object properties: description: type: string examples: - internal server error error: type: string examples: - internal_server_error instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 500 security: - api_key: [] x-codegen-request-body-name: ShowSeason /shows/versions/presentations/seasons: get: tags: - show-season description: 'Query for seasons of a show with the provided show presentation gnID or a list of show presentation gnIDs at least one must be provided.' operationId: searchShowSeasons parameters: - $ref: '#/components/parameters/apiKeyParam' - name: showPresentationGnID in: query description: Filter show seasons by those associated with the provided show presentation gnID. schema: type: string - name: showPresentationGnIDs in: query description: Filter show seasons by the provided show presentation gnID values style: form explode: false schema: type: array items: type: string responses: '200': description: SeasonsResponse content: application/json: schema: $ref: '#/components/schemas/SeasonsResponse' '401': description: UnauthorizedError content: application/json: schema: type: object properties: description: type: string examples: - authentication failed error: type: string examples: - unauthorized instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 401 '404': description: NotFoundError content: application/json: schema: type: object properties: Meta: type: object properties: rayID: type: string examples: - '"foo-bar"' code: type: integer format: int64 description: type: string error: type: string '415': description: UnsupportedMediaError content: application/json: schema: type: object properties: description: type: string examples: - request body contains badly-formed JSON error: type: string examples: - unsupported_media_type instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 415 '500': description: InternalServerError content: application/json: schema: type: object properties: description: type: string examples: - internal server error error: type: string examples: - internal_server_error instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 500 security: - api_key: [] summary: Search show seasons x-summary-source: derived /shows/versions/presentations/seasons/{gnID}: get: tags: - show-season summary: Query for a season of a show with the provided gnID operationId: getShowSeason parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the season being queired for. required: true schema: type: string responses: '200': description: SeasonResponse content: application/json: schema: $ref: '#/components/schemas/SeasonResponse' '401': description: UnauthorizedError content: application/json: schema: type: object properties: description: type: string examples: - authentication failed error: type: string examples: - unauthorized instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 401 '404': description: NotFoundError content: application/json: schema: type: object properties: Meta: type: object properties: rayID: type: string examples: - '"foo-bar"' code: type: integer format: int64 description: type: string error: type: string '415': description: UnsupportedMediaError content: application/json: schema: type: object properties: description: type: string examples: - request body contains badly-formed JSON error: type: string examples: - unsupported_media_type instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 415 '500': description: InternalServerError content: application/json: schema: type: object properties: description: type: string examples: - internal server error error: type: string examples: - internal_server_error instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 500 security: - api_key: [] put: tags: - show-season summary: Update season identified by the provided season gnID operationId: updateShowSeason parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the season. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSeason' required: false responses: '200': description: SeasonResponse content: application/json: schema: $ref: '#/components/schemas/SeasonResponse' '400': description: BadRequestValidationError content: application/json: schema: type: object properties: description: type: string examples: - see fields for details. error: type: string examples: - bad_request fields: type: object additionalProperties: type: object additionalProperties: type: string examples: - subType: error: subType is a required field instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 400 '401': description: UnauthorizedError content: application/json: schema: type: object properties: description: type: string examples: - authentication failed error: type: string examples: - unauthorized instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 401 '403': description: ForbiddenError content: application/json: schema: type: object properties: description: type: string examples: - 'cannot use title language "cs": not entitled' error: type: string examples: - forbidden instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 403 '404': description: NotFoundError content: application/json: schema: type: object properties: Meta: type: object properties: rayID: type: string examples: - '"foo-bar"' code: type: integer format: int64 description: type: string error: type: string '415': description: UnsupportedMediaError content: application/json: schema: type: object properties: description: type: string examples: - request body contains badly-formed JSON error: type: string examples: - unsupported_media_type instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 415 '500': description: InternalServerError content: application/json: schema: type: object properties: description: type: string examples: - internal server error error: type: string examples: - internal_server_error instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 500 security: - api_key: [] x-codegen-request-body-name: UpdatedShowSeason delete: tags: - show-season summary: Delete a show's season with the provided gnID description: All children episodes will be deleted as well. operationId: deleteShowSeason parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the season being deleted. required: true schema: type: string responses: '200': description: DeletedShowSeasonResponse content: application/json: schema: $ref: '#/components/schemas/DeletedShowSeasonResponse' '401': description: UnauthorizedError content: application/json: schema: type: object properties: description: type: string examples: - authentication failed error: type: string examples: - unauthorized instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 401 '404': description: NotFoundError content: application/json: schema: type: object properties: Meta: type: object properties: rayID: type: string examples: - '"foo-bar"' code: type: integer format: int64 description: type: string error: type: string '500': description: InternalServerError content: application/json: schema: type: object properties: description: type: string examples: - internal server error error: type: string examples: - internal_server_error instance: type: string examples: - /api/v1/shows meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 500 security: - api_key: [] components: schemas: Cast: description: Cast is an individual who performed in a production required: - name - order - role type: object properties: aka: $ref: '#/components/schemas/Name' name: $ref: '#/components/schemas/Name' order: minimum: 1 type: integer description: 'Order in which the cast member appears on the billing. Must be unique per program and cannot be negative or zero.' format: int64 examples: - 1 character: type: string description: Character is the name of the cast member's portrayed character. role: type: string description: 'Role defines the cast member''s credited contribution. Defined by the Gracenote Vocabulary.' ExternalID: required: - id - isPrimary type: object properties: id: type: string description: id is the external identifier. isPrimary: type: boolean description: 'indicates that the external ID is the primary ID used to identify the program external to Gracenote. Exactly one primary external ID is allowed (and required) per program.' isProvider: type: boolean description: 'indicates that the source provider uses this ID as their internal ID for the program. Exactly one provider external ID is allowed per program.' label: type: string description: label is a tag to describe the identifier. description: ExternalID is an external (to Gracenote) identifier of the program Season: description: 'Season represents a grouping of Show episodes' type: object properties: cast: type: array description: 'The cast of the season. Each cast''s order field must be unique.' items: $ref: '#/components/schemas/Cast' crew: type: array description: 'The crew of the season. Each crew''s order field must be unique.' items: $ref: '#/components/schemas/Crew' descriptions: type: array description: A list of descriptions for the season. items: $ref: '#/components/schemas/Description' externalIDs: $ref: '#/components/schemas/ExternalIDs' finaleDate: type: string description: The date on which the season ends with the season's finale. format: date nonSeason: type: boolean description: Indicates that the season is a one-off occurrence and is non-repetitive. Mutually exclusive with SeasonNumber. ordinal: type: integer description: The order of which the season appears format: int64 originalSource: type: string description: 'The original source of the season (or network if the season originated on a network).' examples: - Lifetime releaseDate: type: string description: The date the season was release format: date seasonNumber: type: string description: Indicates which season of a show the season is. title: $ref: '#/components/schemas/Title' subType: type: string description: The high-level type of the program. examples: - series type: type: string description: The high-level type of the program. readOnly: true examples: - show episodeGnIDs: type: array description: The episode gnIDs which are children of the season. readOnly: true items: type: string gnID: type: string description: The Gracenote ID of the season. readOnly: true showPresentationGnID: type: string description: The show presentation GnID that is a parent of the Season. readOnly: true sourceId: type: string description: The internal Source ID associated with the program. readOnly: true updated: type: string description: The time the program was last updated. readOnly: true required: - subType DeletedEpisode: type: object properties: gnID: type: string description: The Gracenote ID of the deleted program. readOnly: true examples: - GNLZZXZ00000001 seasonGnID: type: string description: The Gracenote ID of the episode's parent season. description: DeletedEpisode reports the gnID of an episode and its parent Season Description: required: - language - length - value type: object properties: language: type: string description: 'Language of the description''s text. User must be entitled to use the language. See the Gracenote Vocabulary for valid languages.' length: type: integer description: 'Length defines the maximum number of characters that can be used in a description. The value of the description must be less than or equal to the specified length from values 1 to 1000.' format: int64 value: type: string description: Value is the raw text description of a program. description: Description is a set of fields that describe a program DeletedShowSeason: type: object properties: episodes: type: array description: The deleted episodes that belong to the deleted show season. items: $ref: '#/components/schemas/DeletedEpisode' gnID: type: string description: The Gracenote ID of the deleted season. readOnly: true examples: - GNLZZXV00000001 showPresentationGnID: type: string description: The ID of the season's parent presentation. description: 'DeletedSeason contains the ID of the deleted Season as well as the parent and child IDs of the Season.' SeasonResponse: type: object properties: data: $ref: '#/components/schemas/Season' meta: $ref: '#/components/schemas/MetaResponse' ExternalIDs: type: array description: ExternalIDs is a convenience alias on a slice of ExternalID types items: $ref: '#/components/schemas/ExternalID' DeletedShowSeasonResponse: type: object properties: data: $ref: '#/components/schemas/DeletedShowSeason' meta: $ref: '#/components/schemas/MetaResponse' Crew: description: 'Crew is a member who was part of a program''s production crew.' required: - name - order - type type: object properties: aka: $ref: '#/components/schemas/Name' name: $ref: '#/components/schemas/Name' order: minimum: 1 type: integer description: 'Order in which the cast member appears on the billing. Must be unique per program and cannot be negative or zero.' format: int64 examples: - 1 type: type: string description: 'Type describes the role or "crew type" of the crew member. Defined by the Gracenote Vocabulary.' UpdateSeason: type: object properties: cast: type: array description: 'The cast of the season. Each cast''s order field must be unique.' items: $ref: '#/components/schemas/Cast' crew: type: array description: 'The crew of the season. Each crew''s order field must be unique.' items: $ref: '#/components/schemas/Crew' descriptions: type: array description: A list of descriptions for the season. items: $ref: '#/components/schemas/Description' externalIDs: $ref: '#/components/schemas/ExternalIDs' finaleDate: type: string description: The date on which the season ends with the season's finale. format: date nonSeason: type: boolean description: Indicates that the season is a one-off occurrence and is non-repetitive. Mutually exclusive with SeasonNumber. ordinal: type: integer description: The order of which the season appears format: int64 originalSource: type: string description: 'The original source of the season (or network if the season originated on a network).' examples: - Lifetime releaseDate: type: string description: The date the season was release format: date seasonNumber: type: string description: Indicates which season of a show the season is. title: $ref: '#/components/schemas/Title' description: UpdateSeason defines what information may be provided to modify (or create) a Season MetaResponse: required: - rayID type: object properties: count: type: integer description: Count is the number of records included a Data field. format: int64 limit: type: integer description: Limit is the maximum requested number of objects returned by the request. format: int64 page: type: integer description: Page is the page number containing the objects in the response. format: int64 rayID: type: string description: 'RayID is the backend id of the request, generated at invocation time. Any questions or bug reports about a particular invocation should include the returned RequestID.' total: type: integer description: Total is the total number of hits on a query before pagination. format: int64 description: MetaResponse describes response data NewSeason: description: NewSeason represents the fields required for creating a season of a show type: object properties: cast: type: array description: 'The cast of the season. Each cast''s order field must be unique.' items: $ref: '#/components/schemas/Cast' crew: type: array description: 'The crew of the season. Each crew''s order field must be unique.' items: $ref: '#/components/schemas/Crew' descriptions: type: array description: A list of descriptions for the season. items: $ref: '#/components/schemas/Description' externalIDs: $ref: '#/components/schemas/ExternalIDs' finaleDate: type: string description: The date on which the season ends with the season's finale. format: date nonSeason: type: boolean description: Indicates that the season is a one-off occurrence and is non-repetitive. Mutually exclusive with SeasonNumber. ordinal: type: integer description: The order of which the season appears format: int64 originalSource: type: string description: 'The original source of the season (or network if the season originated on a network).' examples: - Lifetime releaseDate: type: string description: The date the season was release format: date seasonNumber: type: string description: Indicates which season of a show the season is. title: $ref: '#/components/schemas/Title' subType: type: string description: The high-level type of the program. examples: - series type: type: string description: The high-level type of the program. readOnly: true examples: - show required: - subType SeasonsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Season' meta: $ref: '#/components/schemas/MetaResponse' Title: required: - language - value type: object properties: language: type: string description: 'The language of the title''s text. User must be entitled to use the language. See the Gracenote Vocabulary for valid languages.' value: type: string description: The text of the title. description: 'Title holds information about a program''s title.' Name: required: - first type: object properties: first: type: string description: The first name of the member. last: type: string description: The last name of the member. middle: type: string description: The middle name of the member. prefix: type: string description: The prefix of the member's name. suffix: type: string description: The suffix of the member's name. description: 'Name contains the components of the full name of a crew or cast member.' parameters: apiKeyParam: name: GN-APIKEY in: header description: API key to authorize the request. required: true schema: type: string examples: - your-api-key securitySchemes: api_key: type: apiKey in: header name: GN-APIKEY description: API key to authorize the request. Click Authorize and paste the key created for your application. x-original-swagger-version: '2.0'