Gracenote Movie Root API

The movie-root API from Gracenote — 2 operation(s) for movie-root.

Operations 4

POST /movies Create a movie root #
GET /movies/{gnID} Query for a movie's root with the provided gnID #
PUT /movies/{gnID} Update a movie root identified by the provided gnID #
DELETE /movies/{gnID} Delete a movie's root with the provided gnID #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gracenote-movie-root-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gracenote-movie-root-api-openapi.yml Raw ↑
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'