Disney API · Capability
Disney API — Characters
Characters — Disney API. 4 operations. Lead operation: List Characters. Self-contained Naftiko capability covering the entire Disney API character business surface (list, get-by-id, plural alias, and the service index).
What You Can Do
GET
Getserviceindex
— Returns the Disney API service index.
/v1/service-index
GET
Listcharacters
— Returns a paginated list of Disney characters.
/v1/characters
GET
Getcharacterbyid
— Retrieves a single Disney character by numeric id.
/v1/characters/{id}
GET
Getcharactersbyid
— Plural-path alias for retrieving a Disney character by id.
/v1/characters/{id}/alias
MCP Tools
get-service-index
Returns the Disney API service index map of endpoint URL templates.
read-only
idempotent
list-characters
Lists Disney characters with paging and field-level substring filters.
read-only
idempotent
get-character-by-id
Retrieves a single Disney character by numeric id.
read-only
idempotent
get-characters-by-id
Plural-path alias for retrieving a Disney character by id.
read-only
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "Disney API — Characters"
description: >-
Characters — Disney API. 4 operations. Lead operation: List Characters.
Self-contained Naftiko capability covering the entire Disney API
character business surface (list, get-by-id, plural alias, and the
service index).
tags:
- Disney API
- Characters
- Entertainment
- Open Source
created: "2026-05-29"
modified: "2026-05-29"
binds:
- namespace: env
keys: {}
capability:
# 1. Consumes — the upstream HTTP API this capability speaks to
consumes:
- type: http
namespace: "disney-characters"
baseUri: "https://api.disneyapi.dev"
description: "Disney API — Characters business capability. Public unauthenticated REST API exposing 9,820+ Disney characters."
resources:
- name: "root"
path: "/"
operations:
- name: "getServiceIndex"
method: GET
description: "Returns a map of available REST endpoint URL templates."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "character"
path: "/character"
operations:
- name: "listCharacters"
method: GET
description: "Returns a paginated list of Disney characters. Supports page, pageSize, and field-level substring filters."
inputParameters:
- name: page
type: integer
required: false
in: query
- name: pageSize
type: integer
required: false
in: query
- name: name
type: string
required: false
in: query
- name: films
type: string
required: false
in: query
- name: shortFilms
type: string
required: false
in: query
- name: tvShows
type: string
required: false
in: query
- name: videoGames
type: string
required: false
in: query
- name: parkAttractions
type: string
required: false
in: query
- name: allies
type: string
required: false
in: query
- name: enemies
type: string
required: false
in: query
- name: alignment
type: string
required: false
in: query
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "characterById"
path: "/character/{id}"
operations:
- name: "getCharacterById"
method: GET
description: "Retrieves a single Disney character by numeric id."
inputParameters:
- name: id
type: integer
required: true
in: path
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "charactersById"
path: "/characters/{id}"
operations:
- name: "getCharactersById"
method: GET
description: "Plural-path alias for /character/{id}."
inputParameters:
- name: id
type: integer
required: true
in: path
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
# 2. REST exposer — Spectral-compliant /v1 surface, one resource per consumed op
exposes:
- type: rest
namespace: "disney-characters-rest"
port: 8080
description: "REST adapter for Disney API — Characters. Spectral-compliant /v1 surface."
resources:
- path: "/v1/service-index"
name: "service-index"
description: "REST surface for the upstream service index map."
operations:
- method: GET
name: "getServiceIndex"
description: "Returns the Disney API service index."
call: "disney-characters.getServiceIndex"
with: {}
outputParameters:
- type: object
mapping: "$."
- path: "/v1/characters"
name: "characters"
description: "REST surface for listing Disney characters with paging and field filters."
operations:
- method: GET
name: "listCharacters"
description: "Returns a paginated list of Disney characters."
call: "disney-characters.listCharacters"
with:
page: "$query.page"
pageSize: "$query.pageSize"
name: "$query.name"
films: "$query.films"
shortFilms: "$query.shortFilms"
tvShows: "$query.tvShows"
videoGames: "$query.videoGames"
parkAttractions: "$query.parkAttractions"
allies: "$query.allies"
enemies: "$query.enemies"
alignment: "$query.alignment"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/characters/{id}"
name: "character-by-id"
description: "REST surface for retrieving a single Disney character by id."
operations:
- method: GET
name: "getCharacterById"
description: "Retrieves a single Disney character by numeric id."
call: "disney-characters.getCharacterById"
with:
id: "$path.id"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/characters/{id}/alias"
name: "character-by-id-alias"
description: "REST surface exposing the plural-path alias for retrieving a Disney character by id."
operations:
- method: GET
name: "getCharactersById"
description: "Plural-path alias for retrieving a Disney character by id."
call: "disney-characters.getCharactersById"
with:
id: "$path.id"
outputParameters:
- type: object
mapping: "$."
# 3. MCP exposer — one verb-noun tool per consumed op
- type: mcp
namespace: "disney-characters-mcp"
port: 9090
transport: http
description: "MCP adapter for Disney API — Characters. One tool per consumed operation."
tools:
- name: "get-service-index"
description: "Returns the Disney API service index map of endpoint URL templates."
hints:
readOnly: true
destructive: false
idempotent: true
call: "disney-characters.getServiceIndex"
with: {}
outputParameters:
- type: object
mapping: "$."
- name: "list-characters"
description: "Lists Disney characters with paging and field-level substring filters."
hints:
readOnly: true
destructive: false
idempotent: true
call: "disney-characters.listCharacters"
with:
page: "$input.page"
pageSize: "$input.pageSize"
name: "$input.name"
films: "$input.films"
shortFilms: "$input.shortFilms"
tvShows: "$input.tvShows"
videoGames: "$input.videoGames"
parkAttractions: "$input.parkAttractions"
allies: "$input.allies"
enemies: "$input.enemies"
alignment: "$input.alignment"
outputParameters:
- type: object
mapping: "$."
- name: "get-character-by-id"
description: "Retrieves a single Disney character by numeric id."
hints:
readOnly: true
destructive: false
idempotent: true
call: "disney-characters.getCharacterById"
with:
id: "$input.id"
outputParameters:
- type: object
mapping: "$."
- name: "get-characters-by-id"
description: "Plural-path alias for retrieving a Disney character by id."
hints:
readOnly: true
destructive: false
idempotent: true
call: "disney-characters.getCharactersById"
with:
id: "$input.id"
outputParameters:
- type: object
mapping: "$."