ReqRes · Capability
ReqRes API - Collections
Collections surface of the ReqRes API. 10 operations. Lead operation: ReqRes List Collections. Self-contained Naftiko capability covering one ReqRes business surface.
What You Can Do
GET
Listcollections
— ReqRes List Collections
/v1/collections
POST
Createcollection
— ReqRes Create Collection
/v1/collections
GET
Getcollection
— ReqRes Get Collection
/v1/collections/{slug}
PUT
Updatecollection
— ReqRes Update Collection
/v1/collections/{slug}
DELETE
Deletecollection
— ReqRes Delete Collection
/v1/collections/{slug}
GET
Listcollectionrecords
— ReqRes List Records
/v1/collections/{slug}/records
POST
Createcollectionrecord
— ReqRes Create Record
/v1/collections/{slug}/records
GET
Getcollectionrecord
— ReqRes Get Record
/v1/collections/{slug}/records/{record-id}
PUT
Updatecollectionrecord
— ReqRes Update Record
/v1/collections/{slug}/records/{record-id}
DELETE
Deletecollectionrecord
— ReqRes Delete Record
/v1/collections/{slug}/records/{record-id}
MCP Tools
list-collections
ReqRes List Collections
read-only
idempotent
create-collection
ReqRes Create Collection
get-collection
ReqRes Get Collection
read-only
idempotent
update-collection
ReqRes Update Collection
idempotent
delete-collection
ReqRes Delete Collection
idempotent
list-records
ReqRes List Records
read-only
idempotent
create-record
ReqRes Create Record
get-record
ReqRes Get Record
read-only
idempotent
update-record
ReqRes Update Record
idempotent
delete-record
ReqRes Delete Record
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "ReqRes API - Collections"
description: >-
Collections surface of the ReqRes API. 10 operations. Lead operation: ReqRes List Collections. Self-contained Naftiko capability covering one ReqRes business surface.
tags:
- ReqRes
- Collections
created: "2026-05-29"
modified: "2026-05-29"
binds:
- namespace: env
keys:
REQRES_API_KEY: REQRES_API_KEY
capability:
consumes:
- type: http
namespace: "reqres-collections"
baseUri: "https://reqres.in"
description: "ReqRes Collections business capability. Self-contained, no shared references."
authentication:
type: apikey
key: x-api-key
value: "{{env.REQRES_API_KEY}}"
placement: header
resources:
- name: "api-collections"
path: "/api/collections"
operations:
- name: "listCollections"
method: GET
description: "ReqRes List Collections"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "createCollection"
method: POST
description: "ReqRes Create Collection"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-collections-slug"
path: "/api/collections/{slug}"
operations:
- name: "getCollection"
method: GET
description: "ReqRes Get Collection"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "updateCollection"
method: PUT
description: "ReqRes Update Collection"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "deleteCollection"
method: DELETE
description: "ReqRes Delete Collection"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-collections-slug-records"
path: "/api/collections/{slug}/records"
operations:
- name: "listCollectionRecords"
method: GET
description: "ReqRes List Records"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
- name: "page"
in: query
type: integer
required: false
description: "Page number."
- name: "limit"
in: query
type: integer
required: false
description: "Page size (max 100)."
- name: "search"
in: query
type: string
required: false
description: "Case-insensitive search on record data."
- name: "created_before"
in: query
type: string
required: false
description: "Filter records created before timestamp."
- name: "created_after"
in: query
type: string
required: false
description: "Filter records created after timestamp."
- name: "data_contains"
in: query
type: string
required: false
description: "JSON string for containment filter."
- name: "order"
in: query
type: string
required: false
description: "Sort order by created_at."
- name: "include_deleted"
in: query
type: boolean
required: false
description: "Include soft-deleted records."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "createCollectionRecord"
method: POST
description: "ReqRes Create Record"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-collections-slug-records-recordid"
path: "/api/collections/{slug}/records/{recordId}"
operations:
- name: "getCollectionRecord"
method: GET
description: "ReqRes Get Record"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
- name: "recordId"
in: path
type: string
required: true
description: "Record id."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "updateCollectionRecord"
method: PUT
description: "ReqRes Update Record"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
- name: "recordId"
in: path
type: string
required: true
description: "Record id."
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "deleteCollectionRecord"
method: DELETE
description: "ReqRes Delete Record"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
- name: "recordId"
in: path
type: string
required: true
description: "Record id."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
exposes:
- type: rest
namespace: "reqres-collections-rest"
port: 8080
description: "REST adapter for ReqRes Collections. One Spectral-compliant resource per consumed operation, prefixed with /v1."
resources:
- path: "/v1/collections"
name: "v1-collections"
description: "REST surface for /api/collections."
operations:
- method: GET
name: "listCollections"
description: "ReqRes List Collections"
call: "reqres-collections.listCollections"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
outputParameters:
- type: object
mapping: "$."
- method: POST
name: "createCollection"
description: "ReqRes Create Collection"
call: "reqres-collections.createCollection"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/collections/{slug}"
name: "v1-collections-slug"
description: "REST surface for /api/collections/{slug}."
operations:
- method: GET
name: "getCollection"
description: "ReqRes Get Collection"
call: "reqres-collections.getCollection"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
outputParameters:
- type: object
mapping: "$."
- method: PUT
name: "updateCollection"
description: "ReqRes Update Collection"
call: "reqres-collections.updateCollection"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- method: DELETE
name: "deleteCollection"
description: "ReqRes Delete Collection"
call: "reqres-collections.deleteCollection"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/collections/{slug}/records"
name: "v1-collections-slug-records"
description: "REST surface for /api/collections/{slug}/records."
operations:
- method: GET
name: "listCollectionRecords"
description: "ReqRes List Records"
call: "reqres-collections.listCollectionRecords"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
"page": "rest.page"
"limit": "rest.limit"
"search": "rest.search"
"created_before": "rest.created_before"
"created_after": "rest.created_after"
"data_contains": "rest.data_contains"
"order": "rest.order"
"include_deleted": "rest.include_deleted"
outputParameters:
- type: object
mapping: "$."
- method: POST
name: "createCollectionRecord"
description: "ReqRes Create Record"
call: "reqres-collections.createCollectionRecord"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/collections/{slug}/records/{record-id}"
name: "v1-collections-slug-records-record-id"
description: "REST surface for /api/collections/{slug}/records/{recordId}."
operations:
- method: GET
name: "getCollectionRecord"
description: "ReqRes Get Record"
call: "reqres-collections.getCollectionRecord"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
"recordId": "rest.recordId"
outputParameters:
- type: object
mapping: "$."
- method: PUT
name: "updateCollectionRecord"
description: "ReqRes Update Record"
call: "reqres-collections.updateCollectionRecord"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
"recordId": "rest.recordId"
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- method: DELETE
name: "deleteCollectionRecord"
description: "ReqRes Delete Record"
call: "reqres-collections.deleteCollectionRecord"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"slug": "rest.slug"
"recordId": "rest.recordId"
outputParameters:
- type: object
mapping: "$."
- type: mcp
namespace: "reqres-collections-mcp"
port: 9090
transport: http
description: "MCP adapter for ReqRes Collections. One tool per consumed operation, routed inline through this capability's consumes block."
tools:
- name: "list-collections"
description: "ReqRes List Collections"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-collections.listCollections"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
outputParameters:
- type: object
mapping: "$."
- name: "create-collection"
description: "ReqRes Create Collection"
hints:
readOnly: false
destructive: false
idempotent: false
call: "reqres-collections.createCollection"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "get-collection"
description: "ReqRes Get Collection"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-collections.getCollection"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
outputParameters:
- type: object
mapping: "$."
- name: "update-collection"
description: "ReqRes Update Collection"
hints:
readOnly: false
destructive: false
idempotent: true
call: "reqres-collections.updateCollection"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "delete-collection"
description: "ReqRes Delete Collection"
hints:
readOnly: false
destructive: true
idempotent: true
call: "reqres-collections.deleteCollection"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
outputParameters:
- type: object
mapping: "$."
- name: "list-records"
description: "ReqRes List Records"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-collections.listCollectionRecords"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
"page": "tools.page"
"limit": "tools.limit"
"search": "tools.search"
"created_before": "tools.created_before"
"created_after": "tools.created_after"
"data_contains": "tools.data_contains"
"order": "tools.order"
"include_deleted": "tools.include_deleted"
outputParameters:
- type: object
mapping: "$."
- name: "create-record"
description: "ReqRes Create Record"
hints:
readOnly: false
destructive: false
idempotent: false
call: "reqres-collections.createCollectionRecord"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "get-record"
description: "ReqRes Get Record"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-collections.getCollectionRecord"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
"recordId": "tools.recordId"
outputParameters:
- type: object
mapping: "$."
- name: "update-record"
description: "ReqRes Update Record"
hints:
readOnly: false
destructive: false
idempotent: true
call: "reqres-collections.updateCollectionRecord"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
"recordId": "tools.recordId"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "delete-record"
description: "ReqRes Delete Record"
hints:
readOnly: false
destructive: true
idempotent: true
call: "reqres-collections.deleteCollectionRecord"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"slug": "tools.slug"
"recordId": "tools.recordId"
outputParameters:
- type: object
mapping: "$."