The Cat API · Capability
The Cat API — Images
The Cat API — Images. 5 operations. Lead operation: Get Uploaded Images. Self-contained Naftiko capability covering one The Cat Api business surface.
What You Can Do
GET
Getuploadedimages
— Get Uploaded Images
/v1/images
GET
Searchimages
— Search Cat Images
/v1/images/search
POST
Uploadimage
— Upload Cat Image
/v1/images/upload
GET
Getimage
— Get Image
/v1/images/{image-id}
DELETE
Deleteimage
— Delete Image
/v1/images/{image-id}
MCP Tools
get-uploaded-images
Get Uploaded Images
read-only
idempotent
search-cat-images
Search Cat Images
read-only
idempotent
upload-cat-image
Upload Cat Image
get-image
Get Image
read-only
idempotent
delete-image
Delete Image
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: The Cat API — Images
description: 'The Cat API — Images. 5 operations. Lead operation: Get Uploaded Images. Self-contained Naftiko capability
covering one The Cat Api business surface.'
tags:
- The Cat Api
- Images
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
THE_CAT_API_API_KEY: THE_CAT_API_API_KEY
capability:
consumes:
- type: http
namespace: the-cat-images
baseUri: https://api.thecatapi.com/v1
description: The Cat API — Images business capability. Self-contained, no shared references.
resources:
- name: images
path: /images
operations:
- name: getuploadedimages
method: GET
description: Get Uploaded Images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: integer
- name: page
in: query
type: integer
- name: order
in: query
type: string
- name: images-search
path: /images/search
operations:
- name: searchimages
method: GET
description: Search Cat Images
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: integer
description: Number of results to return (1–100).
- name: page
in: query
type: integer
description: Page number for paginated results.
- name: order
in: query
type: string
description: Order of results.
- name: breed_ids
in: query
type: string
description: Comma-separated breed IDs to filter images.
- name: category_ids
in: query
type: string
description: Comma-separated category IDs to filter images.
- name: size
in: query
type: string
description: Preferred image size.
- name: mime_types
in: query
type: string
description: Comma-separated MIME types to filter by (jpg, png, gif).
- name: has_breeds
in: query
type: integer
description: Filter to only images that have breed information.
- name: images-upload
path: /images/upload
operations:
- name: uploadimage
method: POST
description: Upload Cat Image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: images-image_id
path: /images/{image_id}
operations:
- name: getimage
method: GET
description: Get Image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: image_id
in: path
type: string
description: Unique identifier of the image.
required: true
- name: deleteimage
method: DELETE
description: Delete Image
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: image_id
in: path
type: string
required: true
authentication:
type: apikey
key: x-api-key
value: '{{env.THE_CAT_API_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: the-cat-images-rest
port: 8080
description: REST adapter for The Cat API — Images. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/images
name: images
description: REST surface for images.
operations:
- method: GET
name: getuploadedimages
description: Get Uploaded Images
call: the-cat-images.getuploadedimages
with:
limit: rest.limit
page: rest.page
order: rest.order
outputParameters:
- type: object
mapping: $.
- path: /v1/images/search
name: images-search
description: REST surface for images-search.
operations:
- method: GET
name: searchimages
description: Search Cat Images
call: the-cat-images.searchimages
with:
limit: rest.limit
page: rest.page
order: rest.order
breed_ids: rest.breed_ids
category_ids: rest.category_ids
size: rest.size
mime_types: rest.mime_types
has_breeds: rest.has_breeds
outputParameters:
- type: object
mapping: $.
- path: /v1/images/upload
name: images-upload
description: REST surface for images-upload.
operations:
- method: POST
name: uploadimage
description: Upload Cat Image
call: the-cat-images.uploadimage
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/images/{image-id}
name: images-image-id
description: REST surface for images-image_id.
operations:
- method: GET
name: getimage
description: Get Image
call: the-cat-images.getimage
with:
image_id: rest.image_id
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleteimage
description: Delete Image
call: the-cat-images.deleteimage
with:
image_id: rest.image_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: the-cat-images-mcp
port: 9090
transport: http
description: MCP adapter for The Cat API — Images. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-uploaded-images
description: Get Uploaded Images
hints:
readOnly: true
destructive: false
idempotent: true
call: the-cat-images.getuploadedimages
with:
limit: tools.limit
page: tools.page
order: tools.order
outputParameters:
- type: object
mapping: $.
- name: search-cat-images
description: Search Cat Images
hints:
readOnly: true
destructive: false
idempotent: true
call: the-cat-images.searchimages
with:
limit: tools.limit
page: tools.page
order: tools.order
breed_ids: tools.breed_ids
category_ids: tools.category_ids
size: tools.size
mime_types: tools.mime_types
has_breeds: tools.has_breeds
outputParameters:
- type: object
mapping: $.
- name: upload-cat-image
description: Upload Cat Image
hints:
readOnly: false
destructive: false
idempotent: false
call: the-cat-images.uploadimage
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-image
description: Get Image
hints:
readOnly: true
destructive: false
idempotent: true
call: the-cat-images.getimage
with:
image_id: tools.image_id
outputParameters:
- type: object
mapping: $.
- name: delete-image
description: Delete Image
hints:
readOnly: false
destructive: true
idempotent: true
call: the-cat-images.deleteimage
with:
image_id: tools.image_id
outputParameters:
- type: object
mapping: $.