ReqRes · Capability

ReqRes API - Agent Sandbox

Agent Sandbox surface of the ReqRes API. 7 operations. Lead operation: ReqRes Agent Sandbox Health Probe. Self-contained Naftiko capability covering one ReqRes business surface.

Run with Naftiko ReqResAgent Sandbox

What You Can Do

GET
Agenthealth — ReqRes Agent Sandbox Health Probe
/v1/health
GET
Agentlistusers — ReqRes List Agent Users (cursor Pagination)
/v1/users
GET
Agentgetuser — ReqRes Get a Single Agent User with Optional Expansion
/v1/users/{id}
POST
Agentlogin — ReqRes Agent Auth Login (with MFA Branch)
/v1/auth/login
GET
Agentlistorders — ReqRes List Agent Orders (relational Data)
/v1/orders
GET
Agentlistscenarios — ReqRes List Training Scenarios
/v1/scenarios
GET
Agentscenario — ReqRes Trigger a Deliberate Failure Scenario
/v1/scenarios/{scenario}

MCP Tools

agent-sandbox-health-probe

ReqRes Agent Sandbox Health Probe

read-only idempotent
list-agent-users

ReqRes List Agent Users (cursor Pagination)

read-only idempotent
get-single-agent-user-optional

ReqRes Get a Single Agent User with Optional Expansion

read-only idempotent
agent-auth-login

ReqRes Agent Auth Login (with MFA Branch)

list-agent-orders

ReqRes List Agent Orders (relational Data)

read-only idempotent
list-training-scenarios

ReqRes List Training Scenarios

read-only idempotent
trigger-deliberate-failure-scenario

ReqRes Trigger a Deliberate Failure Scenario

read-only idempotent

Capability Spec

reqres-agent-sandbox.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "ReqRes API - Agent Sandbox"
  description: >-
    Agent Sandbox surface of the ReqRes API. 7 operations. Lead operation: ReqRes Agent Sandbox Health Probe. Self-contained Naftiko capability covering one ReqRes business surface.
  tags:
    - ReqRes
    - Agent Sandbox
  created: "2026-05-29"
  modified: "2026-05-29"

binds:
  - namespace: env
    keys:
      REQRES_BASE_URL: REQRES_BASE_URL

capability:

  consumes:
    - type: http
      namespace: "reqres-agent-sandbox"
      baseUri: "https://reqres.in"
      description: "ReqRes Agent Sandbox business capability. Self-contained, no shared references."
      resources:
        - name: "agent-v1-health"
          path: "/agent/v1/health"
          operations:
            - name: "agentHealth"
              method: GET
              description: "ReqRes Agent Sandbox Health Probe"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "agent-v1-users"
          path: "/agent/v1/users"
          operations:
            - name: "agentListUsers"
              method: GET
              description: "ReqRes List Agent Users (cursor Pagination)"
              inputParameters:
                - name: "cursor"
                  in: query
                  type: string
                  required: false
                  description: "Opaque cursor from previous response. Omit for first page."
                - name: "limit"
                  in: query
                  type: integer
                  required: false
                  description: "Page size (silently clamped at 100)."
                - name: "fields"
                  in: query
                  type: string
                  required: false
                  description: "Comma-separated sparse fieldset (e.g. id,email,full_name)."
                - name: "seed"
                  in: query
                  type: integer
                  required: false
                  description: "Deterministic fixture seed."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "agent-v1-users-id"
          path: "/agent/v1/users/{id}"
          operations:
            - name: "agentGetUser"
              method: GET
              description: "ReqRes Get a Single Agent User with Optional Expansion"
              inputParameters:
                - name: "id"
                  in: path
                  type: string
                  required: true
                  description: "ULID with usr_ prefix."
                - name: "expand"
                  in: query
                  type: string
                  required: false
                  description: "Comma-separated: addresses, activity, organizations."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "agent-v1-auth-login"
          path: "/agent/v1/auth/login"
          operations:
            - name: "agentLogin"
              method: POST
              description: "ReqRes Agent Auth Login (with MFA Branch)"
              inputParameters:
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request body payload."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "agent-v1-orders"
          path: "/agent/v1/orders"
          operations:
            - name: "agentListOrders"
              method: GET
              description: "ReqRes List Agent Orders (relational Data)"
              inputParameters:
                - name: "cursor"
                  in: query
                  type: string
                  required: false
                  description: ""
                - name: "limit"
                  in: query
                  type: integer
                  required: false
                  description: ""
                - name: "status"
                  in: query
                  type: string
                  required: false
                  description: ""
                - name: "seed"
                  in: query
                  type: integer
                  required: false
                  description: ""
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "agent-v1-scenarios"
          path: "/agent/v1/scenarios"
          operations:
            - name: "agentListScenarios"
              method: GET
              description: "ReqRes List Training Scenarios"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "agent-v1-scenarios-scenario"
          path: "/agent/v1/scenarios/{scenario}"
          operations:
            - name: "agentScenario"
              method: GET
              description: "ReqRes Trigger a Deliberate Failure Scenario"
              inputParameters:
                - name: "scenario"
                  in: path
                  type: string
                  required: true
                  description: ""
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "reqres-agent-sandbox-rest"
      port: 8080
      description: "REST adapter for ReqRes Agent Sandbox. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/health"
          name: "v1-health"
          description: "REST surface for /agent/v1/health."
          operations:
            - method: GET
              name: "agentHealth"
              description: "ReqRes Agent Sandbox Health Probe"
              call: "reqres-agent-sandbox.agentHealth"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/users"
          name: "v1-users"
          description: "REST surface for /agent/v1/users."
          operations:
            - method: GET
              name: "agentListUsers"
              description: "ReqRes List Agent Users (cursor Pagination)"
              call: "reqres-agent-sandbox.agentListUsers"
              with:
                "cursor": "rest.cursor"
                "limit": "rest.limit"
                "fields": "rest.fields"
                "seed": "rest.seed"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/users/{id}"
          name: "v1-users-id"
          description: "REST surface for /agent/v1/users/{id}."
          operations:
            - method: GET
              name: "agentGetUser"
              description: "ReqRes Get a Single Agent User with Optional Expansion"
              call: "reqres-agent-sandbox.agentGetUser"
              with:
                "id": "rest.id"
                "expand": "rest.expand"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/auth/login"
          name: "v1-auth-login"
          description: "REST surface for /agent/v1/auth/login."
          operations:
            - method: POST
              name: "agentLogin"
              description: "ReqRes Agent Auth Login (with MFA Branch)"
              call: "reqres-agent-sandbox.agentLogin"
              with:
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/orders"
          name: "v1-orders"
          description: "REST surface for /agent/v1/orders."
          operations:
            - method: GET
              name: "agentListOrders"
              description: "ReqRes List Agent Orders (relational Data)"
              call: "reqres-agent-sandbox.agentListOrders"
              with:
                "cursor": "rest.cursor"
                "limit": "rest.limit"
                "status": "rest.status"
                "seed": "rest.seed"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/scenarios"
          name: "v1-scenarios"
          description: "REST surface for /agent/v1/scenarios."
          operations:
            - method: GET
              name: "agentListScenarios"
              description: "ReqRes List Training Scenarios"
              call: "reqres-agent-sandbox.agentListScenarios"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/scenarios/{scenario}"
          name: "v1-scenarios-scenario"
          description: "REST surface for /agent/v1/scenarios/{scenario}."
          operations:
            - method: GET
              name: "agentScenario"
              description: "ReqRes Trigger a Deliberate Failure Scenario"
              call: "reqres-agent-sandbox.agentScenario"
              with:
                "scenario": "rest.scenario"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "reqres-agent-sandbox-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for ReqRes Agent Sandbox. One tool per consumed operation, routed inline through this capability's consumes block."
      tools:
        - name: "agent-sandbox-health-probe"
          description: "ReqRes Agent Sandbox Health Probe"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "reqres-agent-sandbox.agentHealth"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "list-agent-users"
          description: "ReqRes List Agent Users (cursor Pagination)"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "reqres-agent-sandbox.agentListUsers"
          with:
            "cursor": "tools.cursor"
            "limit": "tools.limit"
            "fields": "tools.fields"
            "seed": "tools.seed"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "get-single-agent-user-optional"
          description: "ReqRes Get a Single Agent User with Optional Expansion"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "reqres-agent-sandbox.agentGetUser"
          with:
            "id": "tools.id"
            "expand": "tools.expand"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "agent-auth-login"
          description: "ReqRes Agent Auth Login (with MFA Branch)"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "reqres-agent-sandbox.agentLogin"
          with:
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "list-agent-orders"
          description: "ReqRes List Agent Orders (relational Data)"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "reqres-agent-sandbox.agentListOrders"
          with:
            "cursor": "tools.cursor"
            "limit": "tools.limit"
            "status": "tools.status"
            "seed": "tools.seed"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "list-training-scenarios"
          description: "ReqRes List Training Scenarios"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "reqres-agent-sandbox.agentListScenarios"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "trigger-deliberate-failure-scenario"
          description: "ReqRes Trigger a Deliberate Failure Scenario"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "reqres-agent-sandbox.agentScenario"
          with:
            "scenario": "tools.scenario"
          outputParameters:
            - type: object
              mapping: "$."