ReqRes · Capability
ReqRes API - App Users
App Users surface of the ReqRes API. 19 operations. Lead operation: ReqRes App User Login. Self-contained Naftiko capability covering one ReqRes business surface.
What You Can Do
POST
Appuserlogin
— ReqRes App User Login
/v1/app-users/login
POST
Verifyappusertoken
— ReqRes Verify App User Token
/v1/app-users/verify
GET
Getappuserme
— ReqRes Current App User
/v1/app-users/me
GET
Listappusers
— ReqRes List App Users
/v1/app-users
POST
Createappuser
— ReqRes Create App User
/v1/app-users
GET
Getappuser
— ReqRes Get App User
/v1/app-users/{id}
PUT
Updateappuser
— ReqRes Update App User
/v1/app-users/{id}
DELETE
Deleteappuser
— ReqRes Delete App User
/v1/app-users/{id}
POST
Simulateappusersession
— ReqRes Simulate App User Session
/v1/app-users/{id}/sessions/simulate
GET
Listprojectappusers
— ReqRes List Project App Users
/v1/projects/{project-id}/app-users
GET
Getprojectappusertotal
— ReqRes App Users Total
/v1/projects/{project-id}/app-users/total
GET
Getappsessionprofile
— ReqRes App User Profile
/v1/me
GET
Listcollectionsappuser
— ReqRes List Collections (app User)
/v1/collections
GET
Getcollectionappuser
— ReqRes Get Collection (app User)
/v1/collections/{slug}
GET
Listrecordsappuser
— ReqRes List Records (app User)
/v1/collections/{slug}/records
POST
Createrecordappuser
— ReqRes Create Record (app User)
/v1/collections/{slug}/records
GET
Getrecordappuser
— ReqRes Get Record (app User)
/v1/collections/{slug}/records/{record-id}
PUT
Updaterecordappuser
— ReqRes Update Record (app User)
/v1/collections/{slug}/records/{record-id}
DELETE
Deleterecordappuser
— ReqRes Delete Record (app User)
/v1/collections/{slug}/records/{record-id}
MCP Tools
app-user-login
ReqRes App User Login
verify-app-user-token
ReqRes Verify App User Token
read-only
current-app-user
ReqRes Current App User
read-only
idempotent
list-app-users
ReqRes List App Users
read-only
idempotent
create-app-user
ReqRes Create App User
get-app-user
ReqRes Get App User
read-only
idempotent
update-app-user
ReqRes Update App User
idempotent
delete-app-user
ReqRes Delete App User
idempotent
simulate-app-user-session
ReqRes Simulate App User Session
list-project-app-users
ReqRes List Project App Users
read-only
idempotent
app-users-total
ReqRes App Users Total
read-only
idempotent
app-user-profile
ReqRes App User Profile
read-only
idempotent
list-collections
ReqRes List Collections (app User)
read-only
idempotent
get-collection
ReqRes Get Collection (app User)
read-only
idempotent
list-records
ReqRes List Records (app User)
read-only
idempotent
create-record
ReqRes Create Record (app User)
get-record
ReqRes Get Record (app User)
read-only
idempotent
update-record
ReqRes Update Record (app User)
idempotent
delete-record
ReqRes Delete Record (app User)
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "ReqRes API - App Users"
description: >-
App Users surface of the ReqRes API. 19 operations. Lead operation: ReqRes App User Login. Self-contained Naftiko capability covering one ReqRes business surface.
tags:
- ReqRes
- App Users
created: "2026-05-29"
modified: "2026-05-29"
binds:
- namespace: env
keys:
REQRES_API_KEY: REQRES_API_KEY
REQRES_BEARER_TOKEN: REQRES_BEARER_TOKEN
capability:
consumes:
- type: http
namespace: "reqres-app-users"
baseUri: "https://reqres.in"
description: "ReqRes App Users business capability. Self-contained, no shared references."
authentication:
type: apikey
key: x-api-key
value: "{{env.REQRES_API_KEY}}"
placement: header
resources:
- name: "api-app-users-login"
path: "/api/app-users/login"
operations:
- name: "appUserLogin"
method: POST
description: "ReqRes App User Login"
inputParameters:
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-app-users-verify"
path: "/api/app-users/verify"
operations:
- name: "verifyAppUserToken"
method: POST
description: "ReqRes Verify App User Token"
inputParameters:
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-app-users-me"
path: "/api/app-users/me"
operations:
- name: "getAppUserMe"
method: GET
description: "ReqRes Current App User"
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-app-users"
path: "/api/app-users"
operations:
- name: "listAppUsers"
method: GET
description: "ReqRes List App Users"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "limit"
in: query
type: integer
required: false
description: "Max results (default 50)."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "createAppUser"
method: POST
description: "ReqRes Create App User"
inputParameters:
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-app-users-id"
path: "/api/app-users/{id}"
operations:
- name: "getAppUser"
method: GET
description: "ReqRes Get App User"
inputParameters:
- name: "id"
in: path
type: string
required: true
description: "App user id."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "updateAppUser"
method: PUT
description: "ReqRes Update App User"
inputParameters:
- name: "id"
in: path
type: string
required: true
description: "App user id."
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "deleteAppUser"
method: DELETE
description: "ReqRes Delete App User"
inputParameters:
- name: "id"
in: path
type: string
required: true
description: "App user id."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-app-users-id-sessions-simulate"
path: "/api/app-users/{id}/sessions/simulate"
operations:
- name: "simulateAppUserSession"
method: POST
description: "ReqRes Simulate App User Session"
inputParameters:
- name: "id"
in: path
type: string
required: true
description: "App user id."
- name: "body"
in: body
type: object
required: true
description: "Request body payload."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-projects-projectid-app-users"
path: "/api/projects/{projectId}/app-users"
operations:
- name: "listProjectAppUsers"
method: GET
description: "ReqRes List Project App Users"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "projectId"
in: path
type: string
required: true
description: "Project id."
- name: "statuses"
in: query
type: string
required: false
description: "Filter by status (active, pending) or use \"all\"."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "api-projects-projectid-app-users-total"
path: "/api/projects/{projectId}/app-users/total"
operations:
- name: "getProjectAppUserTotal"
method: GET
description: "ReqRes App Users Total"
inputParameters:
- name: "X-Reqres-Env"
in: header
type: string
required: false
description: "Environment key (for example: prod or dev)."
- name: "projectId"
in: path
type: string
required: true
description: "Project id."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "app-me"
path: "/app/me"
operations:
- name: "getAppSessionProfile"
method: GET
description: "ReqRes App User Profile"
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "app-collections"
path: "/app/collections"
operations:
- name: "listCollectionsAppUser"
method: GET
description: "ReqRes List Collections (app User)"
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "app-collections-slug"
path: "/app/collections/{slug}"
operations:
- name: "getCollectionAppUser"
method: GET
description: "ReqRes Get Collection (app User)"
inputParameters:
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "app-collections-slug-records"
path: "/app/collections/{slug}/records"
operations:
- name: "listRecordsAppUser"
method: GET
description: "ReqRes List Records (app User)"
inputParameters:
- name: "slug"
in: path
type: string
required: true
description: "Collection slug."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "createRecordAppUser"
method: POST
description: "ReqRes Create Record (app User)"
inputParameters:
- 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: "app-collections-slug-records-recordid"
path: "/app/collections/{slug}/records/{recordId}"
operations:
- name: "getRecordAppUser"
method: GET
description: "ReqRes Get Record (app User)"
inputParameters:
- 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: "updateRecordAppUser"
method: PUT
description: "ReqRes Update Record (app User)"
inputParameters:
- 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: "deleteRecordAppUser"
method: DELETE
description: "ReqRes Delete Record (app User)"
inputParameters:
- 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-app-users-rest"
port: 8080
description: "REST adapter for ReqRes App Users. One Spectral-compliant resource per consumed operation, prefixed with /v1."
resources:
- path: "/v1/app-users/login"
name: "v1-app-users-login"
description: "REST surface for /api/app-users/login."
operations:
- method: POST
name: "appUserLogin"
description: "ReqRes App User Login"
call: "reqres-app-users.appUserLogin"
with:
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/app-users/verify"
name: "v1-app-users-verify"
description: "REST surface for /api/app-users/verify."
operations:
- method: POST
name: "verifyAppUserToken"
description: "ReqRes Verify App User Token"
call: "reqres-app-users.verifyAppUserToken"
with:
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/app-users/me"
name: "v1-app-users-me"
description: "REST surface for /api/app-users/me."
operations:
- method: GET
name: "getAppUserMe"
description: "ReqRes Current App User"
call: "reqres-app-users.getAppUserMe"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/app-users"
name: "v1-app-users"
description: "REST surface for /api/app-users."
operations:
- method: GET
name: "listAppUsers"
description: "ReqRes List App Users"
call: "reqres-app-users.listAppUsers"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"limit": "rest.limit"
outputParameters:
- type: object
mapping: "$."
- method: POST
name: "createAppUser"
description: "ReqRes Create App User"
call: "reqres-app-users.createAppUser"
with:
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/app-users/{id}"
name: "v1-app-users-id"
description: "REST surface for /api/app-users/{id}."
operations:
- method: GET
name: "getAppUser"
description: "ReqRes Get App User"
call: "reqres-app-users.getAppUser"
with:
"id": "rest.id"
outputParameters:
- type: object
mapping: "$."
- method: PUT
name: "updateAppUser"
description: "ReqRes Update App User"
call: "reqres-app-users.updateAppUser"
with:
"id": "rest.id"
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- method: DELETE
name: "deleteAppUser"
description: "ReqRes Delete App User"
call: "reqres-app-users.deleteAppUser"
with:
"id": "rest.id"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/app-users/{id}/sessions/simulate"
name: "v1-app-users-id-sessions-simulate"
description: "REST surface for /api/app-users/{id}/sessions/simulate."
operations:
- method: POST
name: "simulateAppUserSession"
description: "ReqRes Simulate App User Session"
call: "reqres-app-users.simulateAppUserSession"
with:
"id": "rest.id"
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/projects/{project-id}/app-users"
name: "v1-projects-project-id-app-users"
description: "REST surface for /api/projects/{projectId}/app-users."
operations:
- method: GET
name: "listProjectAppUsers"
description: "ReqRes List Project App Users"
call: "reqres-app-users.listProjectAppUsers"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"projectId": "rest.projectId"
"statuses": "rest.statuses"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/projects/{project-id}/app-users/total"
name: "v1-projects-project-id-app-users-total"
description: "REST surface for /api/projects/{projectId}/app-users/total."
operations:
- method: GET
name: "getProjectAppUserTotal"
description: "ReqRes App Users Total"
call: "reqres-app-users.getProjectAppUserTotal"
with:
"X-Reqres-Env": "rest.X-Reqres-Env"
"projectId": "rest.projectId"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/me"
name: "v1-me"
description: "REST surface for /app/me."
operations:
- method: GET
name: "getAppSessionProfile"
description: "ReqRes App User Profile"
call: "reqres-app-users.getAppSessionProfile"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/collections"
name: "v1-collections"
description: "REST surface for /app/collections."
operations:
- method: GET
name: "listCollectionsAppUser"
description: "ReqRes List Collections (app User)"
call: "reqres-app-users.listCollectionsAppUser"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/collections/{slug}"
name: "v1-collections-slug"
description: "REST surface for /app/collections/{slug}."
operations:
- method: GET
name: "getCollectionAppUser"
description: "ReqRes Get Collection (app User)"
call: "reqres-app-users.getCollectionAppUser"
with:
"slug": "rest.slug"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/collections/{slug}/records"
name: "v1-collections-slug-records"
description: "REST surface for /app/collections/{slug}/records."
operations:
- method: GET
name: "listRecordsAppUser"
description: "ReqRes List Records (app User)"
call: "reqres-app-users.listRecordsAppUser"
with:
"slug": "rest.slug"
outputParameters:
- type: object
mapping: "$."
- method: POST
name: "createRecordAppUser"
description: "ReqRes Create Record (app User)"
call: "reqres-app-users.createRecordAppUser"
with:
"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 /app/collections/{slug}/records/{recordId}."
operations:
- method: GET
name: "getRecordAppUser"
description: "ReqRes Get Record (app User)"
call: "reqres-app-users.getRecordAppUser"
with:
"slug": "rest.slug"
"recordId": "rest.recordId"
outputParameters:
- type: object
mapping: "$."
- method: PUT
name: "updateRecordAppUser"
description: "ReqRes Update Record (app User)"
call: "reqres-app-users.updateRecordAppUser"
with:
"slug": "rest.slug"
"recordId": "rest.recordId"
"body": "rest.body"
outputParameters:
- type: object
mapping: "$."
- method: DELETE
name: "deleteRecordAppUser"
description: "ReqRes Delete Record (app User)"
call: "reqres-app-users.deleteRecordAppUser"
with:
"slug": "rest.slug"
"recordId": "rest.recordId"
outputParameters:
- type: object
mapping: "$."
- type: mcp
namespace: "reqres-app-users-mcp"
port: 9090
transport: http
description: "MCP adapter for ReqRes App Users. One tool per consumed operation, routed inline through this capability's consumes block."
tools:
- name: "app-user-login"
description: "ReqRes App User Login"
hints:
readOnly: false
destructive: false
idempotent: false
call: "reqres-app-users.appUserLogin"
with:
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "verify-app-user-token"
description: "ReqRes Verify App User Token"
hints:
readOnly: true
destructive: false
idempotent: false
call: "reqres-app-users.verifyAppUserToken"
with:
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "current-app-user"
description: "ReqRes Current App User"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.getAppUserMe"
outputParameters:
- type: object
mapping: "$."
- name: "list-app-users"
description: "ReqRes List App Users"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.listAppUsers"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"limit": "tools.limit"
outputParameters:
- type: object
mapping: "$."
- name: "create-app-user"
description: "ReqRes Create App User"
hints:
readOnly: false
destructive: false
idempotent: false
call: "reqres-app-users.createAppUser"
with:
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "get-app-user"
description: "ReqRes Get App User"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.getAppUser"
with:
"id": "tools.id"
outputParameters:
- type: object
mapping: "$."
- name: "update-app-user"
description: "ReqRes Update App User"
hints:
readOnly: false
destructive: false
idempotent: true
call: "reqres-app-users.updateAppUser"
with:
"id": "tools.id"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "delete-app-user"
description: "ReqRes Delete App User"
hints:
readOnly: false
destructive: true
idempotent: true
call: "reqres-app-users.deleteAppUser"
with:
"id": "tools.id"
outputParameters:
- type: object
mapping: "$."
- name: "simulate-app-user-session"
description: "ReqRes Simulate App User Session"
hints:
readOnly: false
destructive: false
idempotent: false
call: "reqres-app-users.simulateAppUserSession"
with:
"id": "tools.id"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "list-project-app-users"
description: "ReqRes List Project App Users"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.listProjectAppUsers"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"projectId": "tools.projectId"
"statuses": "tools.statuses"
outputParameters:
- type: object
mapping: "$."
- name: "app-users-total"
description: "ReqRes App Users Total"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.getProjectAppUserTotal"
with:
"X-Reqres-Env": "tools.X-Reqres-Env"
"projectId": "tools.projectId"
outputParameters:
- type: object
mapping: "$."
- name: "app-user-profile"
description: "ReqRes App User Profile"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.getAppSessionProfile"
outputParameters:
- type: object
mapping: "$."
- name: "list-collections"
description: "ReqRes List Collections (app User)"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.listCollectionsAppUser"
outputParameters:
- type: object
mapping: "$."
- name: "get-collection"
description: "ReqRes Get Collection (app User)"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.getCollectionAppUser"
with:
"slug": "tools.slug"
outputParameters:
- type: object
mapping: "$."
- name: "list-records"
description: "ReqRes List Records (app User)"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.listRecordsAppUser"
with:
"slug": "tools.slug"
outputParameters:
- type: object
mapping: "$."
- name: "create-record"
description: "ReqRes Create Record (app User)"
hints:
readOnly: false
destructive: false
idempotent: false
call: "reqres-app-users.createRecordAppUser"
with:
"slug": "tools.slug"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "get-record"
description: "ReqRes Get Record (app User)"
hints:
readOnly: true
destructive: false
idempotent: true
call: "reqres-app-users.getRecordAppUser"
with:
"slug": "tools.slug"
"recordId": "tools.recordId"
outputParameters:
- type: object
mapping: "$."
- name: "update-record"
description: "ReqRes Update Record (app User)"
hints:
readOnly: false
destructive: false
idempotent: true
call: "reqres-app-users.updateRecordAppUser"
with:
"slug": "tools.slug"
"recordId": "tools.recordId"
"body": "tools.body"
outputParameters:
- type: object
mapping: "$."
- name: "delete-record"
description: "ReqRes Delete Record (app User)"
hints:
readOnly: false
destructive: true
idempotent: true
call: "reqres-app-users.deleteRecordAppUser"
with:
"slug": "tools.slug"
"recordId": "tools.recordId"
outputParameters:
- type: object
mapping: "$."