openapi: 3.2.0 info: title: GN IDS API v1.9.3 Show Version 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-version paths: /shows/{gnID}/versions: post: tags: - show-version summary: Create a show version under a show root given the root's gnID operationId: createShowVersion parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the parent show root to create the version under. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NewShowVersion' required: false responses: '200': description: ShowVersionResponse content: application/json: schema: $ref: '#/components/schemas/ShowVersionResponse' '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 '413': description: RequestEntityTooLargeError content: application/json: schema: type: object properties: description: type: string examples: - request size exceeds 25MB limit error: type: string examples: - request_entity_too_large instance: type: string examples: - /api/v1/bulk/movies/batches meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 413 '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 '598': description: RequestReadTimeout content: application/json: schema: type: object properties: description: type: string examples: - request read timed out error: type: string examples: - request_read_timeout instance: type: string examples: - /api/v1/bulk/movies/batches meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 598 security: - api_key: [] x-codegen-request-body-name: ShowVersion /shows/versions: get: tags: - show-version summary: Query for show versions which match the provided search criteria description: At least one query parameter must be specified. operationId: getShowVersions parameters: - $ref: '#/components/parameters/apiKeyParam' - name: rootGnID in: query description: The gnID of a version's parent show Root. schema: type: string responses: '200': description: ShowVersionsResponse content: application/json: schema: $ref: '#/components/schemas/ShowVersionsResponse' '400': description: BadRequestError content: application/json: schema: type: object properties: description: type: string examples: - request body must not be empty error: type: string examples: - bad_request 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 '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 /shows/versions/{gnID}: get: tags: - show-version summary: Query for a show's version with the provided gnID operationId: getShowVersion parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the version being queried. required: true schema: type: string responses: '200': description: ShowVersionResponse content: application/json: schema: $ref: '#/components/schemas/ShowVersionResponse' '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-version summary: Update a show version identified by the provided gnID operationId: updateShowVersion parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the show version. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateShowVersion' required: false responses: '200': description: ShowVersionResponse content: application/json: schema: $ref: '#/components/schemas/ShowVersionResponse' '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 '413': description: RequestEntityTooLargeError content: application/json: schema: type: object properties: description: type: string examples: - request size exceeds 25MB limit error: type: string examples: - request_entity_too_large instance: type: string examples: - /api/v1/bulk/movies/batches meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 413 '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 '598': description: RequestReadTimeout content: application/json: schema: type: object properties: description: type: string examples: - request read timed out error: type: string examples: - request_read_timeout instance: type: string examples: - /api/v1/bulk/movies/batches meta: type: object properties: rayID: type: string examples: - 52fdfc07-2182-454f-963f-5f0f9a621d72 status: type: integer format: int64 examples: - 598 security: - api_key: [] x-codegen-request-body-name: UpdatedShowVersion delete: tags: - show-version summary: Delete a show's version with the provided gnID description: All children presentations, seasons, and episodes will be deleted as well. operationId: deleteShowVersion parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the version being deleted. required: true schema: type: string responses: '200': description: DeletedShowVersionResponse content: application/json: schema: $ref: '#/components/schemas/DeletedShowVersionResponse' '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: UpdateShowVersion: required: - title type: object properties: color: type: string description: 'The color of the show. Color is required for publishing the show.' examples: - bw duration: type: integer description: 'The runtime (milliseconds) of the program. Not required for registration, but it is required for publishing when the subType is neither a series nor a miniseries.' format: int64 examples: - 30800000 genres: type: array description: Version level genres of a program. items: type: string examples: - - Adventure releaseDate: type: string description: 'The releaseDate of the show. ReleaseDate is optional for creating a show version, but is required for publishing a show presentation. ReleaseDate is required for update when the presentation is in publishing/published state.' format: date title: $ref: '#/components/schemas/Title' versionLabels: type: array description: 'A free-form list of version types. Refer to the Gracenote Vocabulary for suggested values.' items: type: string examples: - - Director's Cut description: 'UpdateVersion defines what information may be provided to modify an existing Version record. All field are required, pointers are used to indicate that a field was not provided. Normally we do not encourage pointer usage for basic operations, but here an exception is being made.' DeletedShowVersion: type: object properties: gnID: type: string description: The Gracenote ID of the deleted program. readOnly: true examples: - GNLZZXZ00000000 presentations: type: array description: The deleted show presentations that belong to the deleted show version. readOnly: true items: $ref: '#/components/schemas/DeletedShowPresentation' rootGnID: type: string description: The GnID of the version's parent root. readOnly: true examples: - GNLZZZ300000000 description: 'DeletedVersion contains the ID of the deleted Version as well as the parent and child IDs of the Version.' 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 ShowVersionResponse: type: object properties: data: $ref: '#/components/schemas/ShowVersion' meta: $ref: '#/components/schemas/MetaResponse' 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.' NewShowVersion: description: NewVersion represents the fields required for creating a version of a show required: - title - subType type: object properties: color: type: string description: 'The color of the show. Color is required for publishing the show.' examples: - bw duration: type: integer description: 'The runtime (milliseconds) of the program. Not required for registration, but it is required for publishing when the subType is neither a series nor a miniseries.' format: int64 examples: - 30800000 genres: type: array description: Version level genres of a program. items: type: string examples: - - Adventure releaseDate: type: string description: 'The releaseDate of the show. ReleaseDate is optional for creating a show version, but is required for publishing a show presentation. ReleaseDate is required for update when the presentation is in publishing/published state.' format: date title: $ref: '#/components/schemas/Title' versionLabels: type: array description: 'A free-form list of version types. Refer to the Gracenote Vocabulary for suggested values.' items: type: string examples: - - Director's Cut 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 DeletedShowPresentation: type: object properties: gnID: type: string description: The Gracenote ID of the deleted program. readOnly: true examples: - GNLZZZ200000001 seasons: type: array description: The deleted show seasons that belong to the deleted show presentation. readOnly: true items: $ref: '#/components/schemas/DeletedShowSeason' versionGnID: type: string description: The Gracenote ID of the presentation's parent version. readOnly: true examples: - GNLZZZ300000001 description: 'DeletedPresentation contains the ID of the deleted Presentation as well as the parent and child IDs of the Presentation.' ShowVersionsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/ShowVersion' meta: $ref: '#/components/schemas/MetaResponse' ShowVersion: description: Version represents the version of a show required: - title - subType type: object properties: color: type: string description: 'The color of the show. Color is required for publishing the show.' examples: - bw duration: type: integer description: 'The runtime (milliseconds) of the program. Not required for registration, but it is required for publishing when the subType is neither a series nor a miniseries.' format: int64 examples: - 30800000 genres: type: array description: Version level genres of a program. items: type: string examples: - - Adventure releaseDate: type: string description: 'The releaseDate of the show. ReleaseDate is optional for creating a show version, but is required for publishing a show presentation. ReleaseDate is required for update when the presentation is in publishing/published state.' format: date title: $ref: '#/components/schemas/Title' versionLabels: type: array description: 'A free-form list of version types. Refer to the Gracenote Vocabulary for suggested values.' items: type: string examples: - - Director's Cut 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 gnID: type: string description: The Gracenote ID of the program. readOnly: true presentationGnIDs: type: array description: A list of the version's children presentation GnIDs. readOnly: true items: type: string rootGnID: type: string description: The GnID of the version's parent root. 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 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.' DeletedShowVersionResponse: type: object properties: data: $ref: '#/components/schemas/DeletedShowVersion' meta: $ref: '#/components/schemas/MetaResponse' 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 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'