TheTVDB · Capability

TVDB API V4 — Series

TVDB API V4 — Series. 10 operations. Lead operation: Get All Series. Self-contained Naftiko capability covering one TheTVDB business surface.

Run with Naftiko TheTVDBTelevisionSeries

What You Can Do

GET
Getallseries — TheTVDB Get All Series
/v1/series
GET
Getseriesbase — TheTVDB Get Series Base
/v1/series/{id}
GET
Getseriesartworks — TheTVDB Get Series Artworks
/v1/series/{id}/artworks
GET
Getseriesnextaired — TheTVDB Get Series Next Aired
/v1/series/{id}/next-aired
GET
Getseriesextended — TheTVDB Get Series Extended
/v1/series/{id}/extended
GET
Getseriesepisodes — TheTVDB Get Series Episodes
/v1/series/{id}/episodes/{season-type}
GET
Getseriesseasonepisodestranslated — TheTVDB Get Series Season Episodes Translated
/v1/series/{id}/episodes/{season-type}/{lang}
GET
Getseriesfilter — TheTVDB Get Series Filter
/v1/series/filter
GET
Getseriesbasebyslug — TheTVDB Get Series Base by Slug
/v1/series/slug/{slug}
GET
Getseriestranslation — TheTVDB Get Series Translation
/v1/series/{id}/translations/{language}

MCP Tools

get-series

TheTVDB Get All Series

read-only idempotent
get-series-base

TheTVDB Get Series Base

read-only idempotent
get-series-artworks

TheTVDB Get Series Artworks

read-only idempotent
get-series-next-aired

TheTVDB Get Series Next Aired

read-only idempotent
get-series-extended

TheTVDB Get Series Extended

read-only idempotent
get-series-episodes

TheTVDB Get Series Episodes

read-only idempotent
get-series-season-episodes-translated

TheTVDB Get Series Season Episodes Translated

read-only idempotent
get-series-filter

TheTVDB Get Series Filter

read-only idempotent
get-series-base-slug

TheTVDB Get Series Base by Slug

read-only idempotent
get-series-translation

TheTVDB Get Series Translation

read-only idempotent

Capability Spec

v4-series.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: TVDB API V4 — Series
  description: 'TVDB API V4 — Series. 10 operations. Lead operation: Get All Series. Self-contained Naftiko capability covering one TheTVDB business surface.'
  tags:
  - TheTVDB
  - Television
  - Series
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
- namespace: env
  keys:
    TVDB_BEARER_TOKEN: TVDB_BEARER_TOKEN
capability:
  consumes:
  - type: http
    namespace: v4-series
    baseUri: 'https://api4.thetvdb.com/v4'
    description: TVDB API V4 — Series business capability. Self-contained, no shared references.
    authentication:
      type: bearer
      token: '{{env.TVDB_BEARER_TOKEN}}'
    resources:
    - name: series
      path: /series
      operations:
      - name: getAllSeries
        method: GET
        description: TheTVDB Get All Series
        inputParameters:
        - name: page
          in: query
          type: number
          required: false
          description: page number
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-id
      path: '/series/{id}'
      operations:
      - name: getSeriesBase
        method: GET
        description: TheTVDB Get Series Base
        inputParameters:
        - name: id
          in: path
          type: number
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-id-artworks
      path: '/series/{id}/artworks'
      operations:
      - name: getSeriesArtworks
        method: GET
        description: TheTVDB Get Series Artworks
        inputParameters:
        - name: id
          in: path
          type: number
          required: true
          description: id
        - name: lang
          in: query
          type: string
          required: false
          description: lang
        - name: type
          in: query
          type: integer
          required: false
          description: type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-id-nextaired
      path: '/series/{id}/nextAired'
      operations:
      - name: getSeriesNextAired
        method: GET
        description: TheTVDB Get Series Next Aired
        inputParameters:
        - name: id
          in: path
          type: number
          required: true
          description: id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-id-extended
      path: '/series/{id}/extended'
      operations:
      - name: getSeriesExtended
        method: GET
        description: TheTVDB Get Series Extended
        inputParameters:
        - name: id
          in: path
          type: number
          required: true
          description: id
        - name: meta
          in: query
          type: string
          required: false
          description: meta
        - name: short
          in: query
          type: boolean
          required: false
          description: reduce the payload and returns the short version of this record without characters and artworks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-id-episodes-season-type
      path: '/series/{id}/episodes/{season-type}'
      operations:
      - name: getSeriesEpisodes
        method: GET
        description: TheTVDB Get Series Episodes
        inputParameters:
        - name: page
          in: query
          type: integer
          required: true
          description: page parameter
        - name: id
          in: path
          type: number
          required: true
          description: id
        - name: season-type
          in: path
          type: string
          required: true
          description: season-type
        - name: season
          in: query
          type: integer
          required: false
          description: season parameter
        - name: episodeNumber
          in: query
          type: integer
          required: false
          description: episodeNumber parameter
        - name: airDate
          in: query
          type: string
          required: false
          description: airDate of the episode, format is yyyy-mm-dd
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-id-episodes-season-type-lang
      path: '/series/{id}/episodes/{season-type}/{lang}'
      operations:
      - name: getSeriesSeasonEpisodesTranslated
        method: GET
        description: TheTVDB Get Series Season Episodes Translated
        inputParameters:
        - name: page
          in: query
          type: integer
          required: true
          description: page parameter
        - name: id
          in: path
          type: number
          required: true
          description: id
        - name: season-type
          in: path
          type: string
          required: true
          description: season-type
        - name: lang
          in: path
          type: string
          required: true
          description: lang parameter
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-filter
      path: '/series/filter'
      operations:
      - name: getSeriesFilter
        method: GET
        description: TheTVDB Get Series Filter
        inputParameters:
        - name: company
          in: query
          type: number
          required: false
          description: production company
        - name: contentRating
          in: query
          type: number
          required: false
          description: content rating id base on a country
        - name: country
          in: query
          type: string
          required: true
          description: country of origin
        - name: genre
          in: query
          type: number
          required: false
          description: Genre id. This id can be found using **/genres** endpoint.
        - name: lang
          in: query
          type: string
          required: true
          description: original language
        - name: sort
          in: query
          type: string
          required: false
          description: sort by results
        - name: sortType
          in: query
          type: string
          required: false
          description: sort type ascending or descending
        - name: status
          in: query
          type: number
          required: false
          description: status
        - name: year
          in: query
          type: number
          required: false
          description: release year
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-slug-slug
      path: '/series/slug/{slug}'
      operations:
      - name: getSeriesBaseBySlug
        method: GET
        description: TheTVDB Get Series Base by Slug
        inputParameters:
        - name: slug
          in: path
          type: string
          required: true
          description: slug
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: series-id-translations-language
      path: '/series/{id}/translations/{language}'
      operations:
      - name: getSeriesTranslation
        method: GET
        description: TheTVDB Get Series Translation
        inputParameters:
        - name: id
          in: path
          type: number
          required: true
          description: id
        - name: language
          in: path
          type: string
          required: true
          description: language
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: v4-series-rest
    port: 8080
    description: REST adapter for TVDB API V4 — Series. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/series
      name: series
      description: REST surface for series.
      operations:
      - method: GET
        name: getAllSeries
        description: TheTVDB Get All Series
        call: v4-series.getAllSeries
        with:
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/{id}
      name: series-id
      description: REST surface for series-id.
      operations:
      - method: GET
        name: getSeriesBase
        description: TheTVDB Get Series Base
        call: v4-series.getSeriesBase
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/{id}/artworks
      name: series-id-artworks
      description: REST surface for series-id-artworks.
      operations:
      - method: GET
        name: getSeriesArtworks
        description: TheTVDB Get Series Artworks
        call: v4-series.getSeriesArtworks
        with:
          id: rest.id
          lang: rest.lang
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/{id}/next-aired
      name: series-id-nextaired
      description: REST surface for series-id-nextaired.
      operations:
      - method: GET
        name: getSeriesNextAired
        description: TheTVDB Get Series Next Aired
        call: v4-series.getSeriesNextAired
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/{id}/extended
      name: series-id-extended
      description: REST surface for series-id-extended.
      operations:
      - method: GET
        name: getSeriesExtended
        description: TheTVDB Get Series Extended
        call: v4-series.getSeriesExtended
        with:
          id: rest.id
          meta: rest.meta
          short: rest.short
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/{id}/episodes/{season-type}
      name: series-id-episodes-season-type
      description: REST surface for series-id-episodes-season-type.
      operations:
      - method: GET
        name: getSeriesEpisodes
        description: TheTVDB Get Series Episodes
        call: v4-series.getSeriesEpisodes
        with:
          page: rest.page
          id: rest.id
          season-type: rest.season-type
          season: rest.season
          episodeNumber: rest.episodeNumber
          airDate: rest.airDate
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/{id}/episodes/{season-type}/{lang}
      name: series-id-episodes-season-type-lang
      description: REST surface for series-id-episodes-season-type-lang.
      operations:
      - method: GET
        name: getSeriesSeasonEpisodesTranslated
        description: TheTVDB Get Series Season Episodes Translated
        call: v4-series.getSeriesSeasonEpisodesTranslated
        with:
          page: rest.page
          id: rest.id
          season-type: rest.season-type
          lang: rest.lang
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/filter
      name: series-filter
      description: REST surface for series-filter.
      operations:
      - method: GET
        name: getSeriesFilter
        description: TheTVDB Get Series Filter
        call: v4-series.getSeriesFilter
        with:
          company: rest.company
          contentRating: rest.contentRating
          country: rest.country
          genre: rest.genre
          lang: rest.lang
          sort: rest.sort
          sortType: rest.sortType
          status: rest.status
          year: rest.year
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/slug/{slug}
      name: series-slug-slug
      description: REST surface for series-slug-slug.
      operations:
      - method: GET
        name: getSeriesBaseBySlug
        description: TheTVDB Get Series Base by Slug
        call: v4-series.getSeriesBaseBySlug
        with:
          slug: rest.slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/series/{id}/translations/{language}
      name: series-id-translations-language
      description: REST surface for series-id-translations-language.
      operations:
      - method: GET
        name: getSeriesTranslation
        description: TheTVDB Get Series Translation
        call: v4-series.getSeriesTranslation
        with:
          id: rest.id
          language: rest.language
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v4-series-mcp
    port: 9090
    transport: http
    description: MCP adapter for TVDB API V4 — Series. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: get-series
      description: TheTVDB Get All Series
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getAllSeries
      with:
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-base
      description: TheTVDB Get Series Base
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesBase
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-artworks
      description: TheTVDB Get Series Artworks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesArtworks
      with:
        id: tools.id
        lang: tools.lang
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-next-aired
      description: TheTVDB Get Series Next Aired
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesNextAired
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-extended
      description: TheTVDB Get Series Extended
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesExtended
      with:
        id: tools.id
        meta: tools.meta
        short: tools.short
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-episodes
      description: TheTVDB Get Series Episodes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesEpisodes
      with:
        page: tools.page
        id: tools.id
        season-type: tools.season-type
        season: tools.season
        episodeNumber: tools.episodeNumber
        airDate: tools.airDate
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-season-episodes-translated
      description: TheTVDB Get Series Season Episodes Translated
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesSeasonEpisodesTranslated
      with:
        page: tools.page
        id: tools.id
        season-type: tools.season-type
        lang: tools.lang
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-filter
      description: TheTVDB Get Series Filter
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesFilter
      with:
        company: tools.company
        contentRating: tools.contentRating
        country: tools.country
        genre: tools.genre
        lang: tools.lang
        sort: tools.sort
        sortType: tools.sortType
        status: tools.status
        year: tools.year
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-base-slug
      description: TheTVDB Get Series Base by Slug
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesBaseBySlug
      with:
        slug: tools.slug
      outputParameters:
      - type: object
        mapping: $.
    - name: get-series-translation
      description: TheTVDB Get Series Translation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v4-series.getSeriesTranslation
      with:
        id: tools.id
        language: tools.language
      outputParameters:
      - type: object
        mapping: $.