An API of Ice And Fire · Capability
An API of Ice And Fire — Houses
Houses — the noble families of Westeros and Essos with their seats, sigils, words, and sworn members. 2 operations. Lead operation: An API of Ice And Fire List Houses. Self-contained Naftiko capability covering one An API of Ice And Fire business surface.
What You Can Do
GET
Listhouses
— List Houses with optional filters.
/v1/houses
GET
Gethouse
— Get House by ID.
/v1/houses/{id}
MCP Tools
list-houses
List Houses with filters by name, region, words, and has-* booleans.
read-only
idempotent
get-house
Get a specific house by its numeric ID.
read-only
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "An API of Ice And Fire — Houses"
description: >-
Houses — the noble families of Westeros and Essos with their seats,
sigils, words, and sworn members. 2 operations. Lead operation: An API of
Ice And Fire List Houses. Self-contained Naftiko capability covering one
An API of Ice And Fire business surface.
tags:
- An API of Ice And Fire
- Houses
- A Song of Ice and Fire
created: "2026-05-30"
modified: "2026-05-30"
binds:
- namespace: env
keys: {}
capability:
consumes:
- type: http
namespace: "an-api-of-ice-and-fire-houses"
baseUri: "https://anapioficeandfire.com/api"
description: >-
An API of Ice And Fire — Houses business capability. Self-contained,
no shared references. No authentication required; rate-limited to
20,000 requests per IP per day.
resources:
- name: "houses"
path: "/houses"
operations:
- name: "listHouses"
method: GET
description: "List Houses with optional filters by name, region, words, and has-* boolean flags."
inputParameters:
- name: "page"
in: query
type: integer
required: false
description: "Page number (1-indexed)."
- name: "pageSize"
in: query
type: integer
required: false
description: "Items per page (default 10, max 50)."
- name: "name"
in: query
type: string
required: false
description: "Filter houses by exact house name."
- name: "region"
in: query
type: string
required: false
description: "Filter houses by region."
- name: "words"
in: query
type: string
required: false
description: "Filter houses by house words (motto)."
- name: "hasWords"
in: query
type: boolean
required: false
description: "Restrict to houses that have or do not have words."
- name: "hasTitles"
in: query
type: boolean
required: false
description: "Restrict to houses that have or do not have titles."
- name: "hasSeats"
in: query
type: boolean
required: false
description: "Restrict to houses that have or do not have seats."
- name: "hasDiedOut"
in: query
type: boolean
required: false
description: "Restrict to extinct or surviving houses."
- name: "hasAncestralWeapons"
in: query
type: boolean
required: false
description: "Restrict to houses with or without ancestral weapons."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "houses-by-id"
path: "/houses/{id}"
operations:
- name: "getHouse"
method: GET
description: "Get House by ID with full hypermedia lord, heir, overlord, founder, and member references."
inputParameters:
- name: "id"
in: path
type: integer
required: true
description: "Numeric house identifier."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
exposes:
- type: rest
namespace: "an-api-of-ice-and-fire-houses-rest"
port: 8080
description: >-
REST adapter for An API of Ice And Fire — Houses. One
Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: "/v1/houses"
name: "houses"
description: "REST surface for the houses collection."
operations:
- method: GET
name: "listHouses"
description: "List Houses with optional filters."
call: "an-api-of-ice-and-fire-houses.listHouses"
with:
page: "rest.page"
pageSize: "rest.pageSize"
name: "rest.name"
region: "rest.region"
words: "rest.words"
hasWords: "rest.hasWords"
hasTitles: "rest.hasTitles"
hasSeats: "rest.hasSeats"
hasDiedOut: "rest.hasDiedOut"
hasAncestralWeapons: "rest.hasAncestralWeapons"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/houses/{id}"
name: "houses-by-id"
description: "REST surface for retrieving a single house by ID."
operations:
- method: GET
name: "getHouse"
description: "Get House by ID."
call: "an-api-of-ice-and-fire-houses.getHouse"
with:
id: "rest.id"
outputParameters:
- type: object
mapping: "$."
- type: mcp
namespace: "an-api-of-ice-and-fire-houses-mcp"
port: 9090
transport: http
description: >-
MCP adapter for An API of Ice And Fire — Houses. One verb-noun tool
per consumed operation, routed through this capability's consumes
block.
tools:
- name: "list-houses"
description: "List Houses with filters by name, region, words, and has-* booleans."
hints:
readOnly: true
destructive: false
idempotent: true
call: "an-api-of-ice-and-fire-houses.listHouses"
with:
page: "tools.page"
pageSize: "tools.pageSize"
name: "tools.name"
region: "tools.region"
words: "tools.words"
hasWords: "tools.hasWords"
hasTitles: "tools.hasTitles"
hasSeats: "tools.hasSeats"
hasDiedOut: "tools.hasDiedOut"
hasAncestralWeapons: "tools.hasAncestralWeapons"
outputParameters:
- type: object
mapping: "$."
- name: "get-house"
description: "Get a specific house by its numeric ID."
hints:
readOnly: true
destructive: false
idempotent: true
call: "an-api-of-ice-and-fire-houses.getHouse"
with:
id: "tools.id"
outputParameters:
- type: object
mapping: "$."