openapi: 3.2.0 info: title: GN IDS API v1.9.3 Movie Root 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: movie-root paths: /movies: post: tags: - movie-root summary: Create a movie root operationId: createMovieRoot requestBody: content: application/json: schema: $ref: '#/components/schemas/NewMovieRoot' required: false responses: '200': description: MovieRootResponse content: application/json: schema: $ref: '#/components/schemas/MovieRootResponse' '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 '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: NewMovieRoot parameters: - $ref: '#/components/parameters/apiKeyParam' /movies/{gnID}: get: tags: - movie-root summary: Query for a movie's root with the provided gnID operationId: getMovieRoot parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the root being queried. required: true schema: type: string responses: '200': description: MovieRootResponse content: application/json: schema: $ref: '#/components/schemas/MovieRootResponse' '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: [] put: tags: - movie-root summary: Update a movie root identified by the provided gnID operationId: updateMovieRoot parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the movie root. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMovieRoot' required: false responses: '200': description: MovieRootResponse content: application/json: schema: $ref: '#/components/schemas/MovieRootResponse' '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: UpdatedMovieRoot delete: tags: - movie-root summary: Delete a movie's root with the provided gnID description: All children versions and presentations will also be deleted. operationId: deleteMovieRoot parameters: - $ref: '#/components/parameters/apiKeyParam' - name: gnID in: path description: The Gracenote ID of the root being deleted. required: true schema: type: string responses: '200': description: DeletedMovieRootResponse content: application/json: schema: $ref: '#/components/schemas/DeletedMovieRootResponse' '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: NewMovieRoot: title: NewRoot represents the fields required for creating a root of a movie. required: - title - subType type: object properties: title: $ref: '#/components/schemas/Title' subType: type: string description: The high-level type of the program. examples: - featureFilm type: type: string description: The high-level type of the program. readOnly: true examples: - movie MovieRootResponse: type: object properties: data: $ref: '#/components/schemas/MovieRoot' 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.' UpdateMovieRoot: title: UpdateRoot represents the fields required for updating a root of a movie. required: - title type: object properties: title: $ref: '#/components/schemas/Title' MovieRoot: title: Root represents the root of a movie. required: - title - subType type: object properties: title: $ref: '#/components/schemas/Title' subType: type: string description: The high-level type of the program. examples: - featureFilm type: type: string description: The high-level type of the program. readOnly: true examples: - movie gnID: type: string description: The Gracenote ID of the program. 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 versionGnIDs: type: array description: The set of child version GnIDs of the root readOnly: true items: type: string DeletedMovieRoot: description: DeletedRoot represents the root of a deleted movie type: object properties: gnID: type: string description: The Gracenote ID of the deleted program. readOnly: true examples: - GNLZZXZ00000000 versions: type: array description: The Gracenote ID of the deleted program versions. items: $ref: '#/components/schemas/DeletedVersion' examples: - - GNLZZXZ00000000 DeletedMovieRootResponse: type: object properties: data: $ref: '#/components/schemas/DeletedMovieRoot' 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 DeletedVersion: description: DeletedVersion represents the version of a deleted entity type: object properties: gnID: type: string description: The Gracenote ID of the deleted program. readOnly: true examples: - GNLZZXZ00000000 rootGnID: type: string description: The GnID of the version's parent root. examples: - GNLZZZ300000000 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'