TheTVDB Genres API

The Genres API from TheTVDB — 2 operation(s) for genres.

OpenAPI Specification

tvdb-genres-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: 'Documentation of [TheTVDB](https://thetvdb.com/) API V4. All related information is linked from our [Github repo](https://github.com/thetvdb/v4-api). You might also want to use our [Postman collection] (https://www.getpostman.com/collections/7a9397ce69ff246f74d0)

    ## Authentication

    1. Use the /login endpoint and provide your API key as "apikey". If you have a user-supported key, also provide your subscriber PIN as "pin". Otherwise completely remove "pin" from your call.

    2. Executing this call will provide you with a bearer token, which is valid for 1 month.

    3. Provide your bearer token for subsequent API calls by clicking Authorize below or including in the header of all direct API calls: `Authorization: Bearer [your-token]`


    ## Notes

    1. "score" is a field across almost all entities.  We generate scores for different types of entities in various ways, so no assumptions should be made about the meaning of this value.  It is simply used to hint at relative popularity for sorting purposes.

    '
  title: TVDB API V4 Artwork Genres API
  version: 4.7.10
  x-last-validated: '2026-05-30'
  x-spec-source: https://github.com/thetvdb/v4-api/blob/main/docs/swagger.yml
servers:
- url: https://api4.thetvdb.com/v4
  description: TheTVDB v4 API production
security:
- bearerAuth: []
tags:
- name: Genres
paths:
  /genres:
    get:
      description: returns list of genre records
      operationId: getAllGenres
      responses:
        '200':
          description: response
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/GenreBaseRecord'
                    type: array
                  status:
                    type: string
                type: object
              examples:
                GetAllGenres200Example:
                  summary: Default getAllGenres 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - id: 12345
                      name: Example Name
                      slug: example-slug
                    status: Continuing
        '401':
          description: Unauthorized
      tags:
      - Genres
      summary: TheTVDB Get All Genres
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /genres/{id}:
    get:
      description: Returns genre record
      operationId: getGenreBase
      parameters:
      - description: id
        in: path
        name: id
        required: true
        schema:
          type: number
        example: 12345
      responses:
        '200':
          description: response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GenreBaseRecord'
                  status:
                    type: string
                type: object
              examples:
                GetGenreBase200Example:
                  summary: Default getGenreBase 200 response
                  x-microcks-default: true
                  value:
                    data:
                      id: 12345
                      name: Example Name
                      slug: example-slug
                    status: Continuing
        '400':
          description: Invalid genre id
        '401':
          description: Unauthorized
        '404':
          description: Genre not found
      tags:
      - Genres
      summary: TheTVDB Get Genre Base
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    GenreBaseRecord:
      description: base genre record
      properties:
        id:
          format: int64
          type: integer
          x-go-name: ID
          example: 12345
        name:
          type: string
          x-go-name: Name
          example: Example Name
        slug:
          type: string
          x-go-name: Slug
          example: example-slug
      type: object
      x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT