Tivo · Capability
TiVo Video Metadata API — Content
TiVo Video Metadata API — Content. 4 operations. Lead operation: Search Content. Self-contained Naftiko capability covering one Tivo business surface.
What You Can Do
GET
Searchcontent
— Search Content
/v1/v3/content/search
GET
Getcontentepisodes
— Get Content Episodes
/v1/v3/content/{contentid}/episodes
GET
Getcontentimages
— Get Content Images
/v1/v3/content/{contentid}/images
GET
Getcontentseasons
— Get Content Seasons
/v1/v3/content/{contentid}/seasons
MCP Tools
search-content
Search Content
read-only
idempotent
get-content-episodes
Get Content Episodes
read-only
idempotent
get-content-images
Get Content Images
read-only
idempotent
get-content-seasons
Get Content Seasons
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: TiVo Video Metadata API — Content
description: 'TiVo Video Metadata API — Content. 4 operations. Lead operation: Search Content. Self-contained Naftiko capability
covering one Tivo business surface.'
tags:
- Tivo
- Content
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
TIVO_API_KEY: TIVO_API_KEY
capability:
consumes:
- type: http
namespace: video-metadata-content
baseUri: https://data.tivo.com
description: TiVo Video Metadata API — Content business capability. Self-contained, no shared references.
resources:
- name: v3-content-search
path: /v3/content/search
operations:
- name: searchcontent
method: GET
description: Search Content
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Search query text - title, person name, or keyword
- name: type
in: query
type: string
description: Content type filter
- name: genre
in: query
type: string
description: Genre filter
- name: year
in: query
type: integer
description: Release year filter
- name: language
in: query
type: string
description: Language code (ISO 639-1)
- name: limit
in: query
type: integer
description: Maximum number of results to return
- name: offset
in: query
type: integer
description: Pagination offset
- name: include
in: query
type: string
description: Comma-separated list of additional fields to include
- name: v3-content-contentId-episodes
path: /v3/content/{contentId}/episodes
operations:
- name: getcontentepisodes
method: GET
description: Get Content Episodes
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contentId
in: path
type: string
required: true
- name: season
in: query
type: integer
description: Season number to filter episodes
- name: limit
in: query
type: integer
- name: offset
in: query
type: integer
- name: v3-content-contentId-images
path: /v3/content/{contentId}/images
operations:
- name: getcontentimages
method: GET
description: Get Content Images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contentId
in: path
type: string
required: true
- name: type
in: query
type: string
description: Image type filter
- name: width
in: query
type: integer
description: Preferred image width in pixels
- name: height
in: query
type: integer
description: Preferred image height in pixels
- name: v3-content-contentId-seasons
path: /v3/content/{contentId}/seasons
operations:
- name: getcontentseasons
method: GET
description: Get Content Seasons
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contentId
in: path
type: string
required: true
- name: language
in: query
type: string
authentication:
type: bearer
token: '{{env.TIVO_API_KEY}}'
exposes:
- type: rest
namespace: video-metadata-content-rest
port: 8080
description: REST adapter for TiVo Video Metadata API — Content. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/v3/content/search
name: v3-content-search
description: REST surface for v3-content-search.
operations:
- method: GET
name: searchcontent
description: Search Content
call: video-metadata-content.searchcontent
with:
q: rest.q
type: rest.type
genre: rest.genre
year: rest.year
language: rest.language
limit: rest.limit
offset: rest.offset
include: rest.include
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/content/{contentid}/episodes
name: v3-content-contentid-episodes
description: REST surface for v3-content-contentId-episodes.
operations:
- method: GET
name: getcontentepisodes
description: Get Content Episodes
call: video-metadata-content.getcontentepisodes
with:
contentId: rest.contentId
season: rest.season
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/content/{contentid}/images
name: v3-content-contentid-images
description: REST surface for v3-content-contentId-images.
operations:
- method: GET
name: getcontentimages
description: Get Content Images
call: video-metadata-content.getcontentimages
with:
contentId: rest.contentId
type: rest.type
width: rest.width
height: rest.height
outputParameters:
- type: object
mapping: $.
- path: /v1/v3/content/{contentid}/seasons
name: v3-content-contentid-seasons
description: REST surface for v3-content-contentId-seasons.
operations:
- method: GET
name: getcontentseasons
description: Get Content Seasons
call: video-metadata-content.getcontentseasons
with:
contentId: rest.contentId
language: rest.language
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: video-metadata-content-mcp
port: 9090
transport: http
description: MCP adapter for TiVo Video Metadata API — Content. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: search-content
description: Search Content
hints:
readOnly: true
destructive: false
idempotent: true
call: video-metadata-content.searchcontent
with:
q: tools.q
type: tools.type
genre: tools.genre
year: tools.year
language: tools.language
limit: tools.limit
offset: tools.offset
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: get-content-episodes
description: Get Content Episodes
hints:
readOnly: true
destructive: false
idempotent: true
call: video-metadata-content.getcontentepisodes
with:
contentId: tools.contentId
season: tools.season
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: get-content-images
description: Get Content Images
hints:
readOnly: true
destructive: false
idempotent: true
call: video-metadata-content.getcontentimages
with:
contentId: tools.contentId
type: tools.type
width: tools.width
height: tools.height
outputParameters:
- type: object
mapping: $.
- name: get-content-seasons
description: Get Content Seasons
hints:
readOnly: true
destructive: false
idempotent: true
call: video-metadata-content.getcontentseasons
with:
contentId: tools.contentId
language: tools.language
outputParameters:
- type: object
mapping: $.