ReqRes · Capability

ReqRes API - Custom Endpoints

Custom Endpoints surface of the ReqRes API. 5 operations. Lead operation: ReqRes Execute Custom Endpoint. Self-contained Naftiko capability covering one ReqRes business surface.

Run with Naftiko ReqResCustom Endpoints

What You Can Do

GET
Executecustomendpointget — ReqRes Execute Custom Endpoint
/v1/custom/{path}
POST
Executecustomendpointpost — ReqRes Execute Custom Endpoint
/v1/custom/{path}
PUT
Executecustomendpointput — ReqRes Execute Custom Endpoint
/v1/custom/{path}
PATCH
Executecustomendpointpatch — ReqRes Execute Custom Endpoint
/v1/custom/{path}
DELETE
Executecustomendpointdelete — ReqRes Execute Custom Endpoint
/v1/custom/{path}

MCP Tools

execute-custom-endpoint

ReqRes Execute Custom Endpoint

read-only idempotent
execute-custom-endpoint-2

ReqRes Execute Custom Endpoint

execute-custom-endpoint-3

ReqRes Execute Custom Endpoint

idempotent
execute-custom-endpoint-4

ReqRes Execute Custom Endpoint

idempotent
execute-custom-endpoint-5

ReqRes Execute Custom Endpoint

idempotent

Capability Spec

reqres-custom-endpoints.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "ReqRes API - Custom Endpoints"
  description: >-
    Custom Endpoints surface of the ReqRes API. 5 operations. Lead operation: ReqRes Execute Custom Endpoint. Self-contained Naftiko capability covering one ReqRes business surface.
  tags:
    - ReqRes
    - Custom Endpoints
  created: "2026-05-29"
  modified: "2026-05-29"

binds:
  - namespace: env
    keys:
      REQRES_API_KEY: REQRES_API_KEY

capability:

  consumes:
    - type: http
      namespace: "reqres-custom-endpoints"
      baseUri: "https://reqres.in"
      description: "ReqRes Custom Endpoints business capability. Self-contained, no shared references."
      authentication:
        type: apikey
        key: x-api-key
        value: "{{env.REQRES_API_KEY}}"
        placement: header
      resources:
        - name: "api-custom-path"
          path: "/api/custom/{path}"
          operations:
            - name: "executeCustomEndpointGet"
              method: GET
              description: "ReqRes Execute Custom Endpoint"
              inputParameters:
                - name: "path"
                  in: path
                  type: string
                  required: true
                  description: "Custom endpoint path (supports nested segments)."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "executeCustomEndpointPost"
              method: POST
              description: "ReqRes Execute Custom Endpoint"
              inputParameters:
                - name: "path"
                  in: path
                  type: string
                  required: true
                  description: "Custom endpoint path (supports nested segments)."
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request body payload."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "executeCustomEndpointPut"
              method: PUT
              description: "ReqRes Execute Custom Endpoint"
              inputParameters:
                - name: "path"
                  in: path
                  type: string
                  required: true
                  description: "Custom endpoint path (supports nested segments)."
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request body payload."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "executeCustomEndpointPatch"
              method: PATCH
              description: "ReqRes Execute Custom Endpoint"
              inputParameters:
                - name: "path"
                  in: path
                  type: string
                  required: true
                  description: "Custom endpoint path (supports nested segments)."
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request body payload."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "executeCustomEndpointDelete"
              method: DELETE
              description: "ReqRes Execute Custom Endpoint"
              inputParameters:
                - name: "path"
                  in: path
                  type: string
                  required: true
                  description: "Custom endpoint path (supports nested segments)."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "reqres-custom-endpoints-rest"
      port: 8080
      description: "REST adapter for ReqRes Custom Endpoints. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/custom/{path}"
          name: "v1-custom-path"
          description: "REST surface for /api/custom/{path}."
          operations:
            - method: GET
              name: "executeCustomEndpointGet"
              description: "ReqRes Execute Custom Endpoint"
              call: "reqres-custom-endpoints.executeCustomEndpointGet"
              with:
                "path": "rest.path"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: "executeCustomEndpointPost"
              description: "ReqRes Execute Custom Endpoint"
              call: "reqres-custom-endpoints.executeCustomEndpointPost"
              with:
                "path": "rest.path"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: "executeCustomEndpointPut"
              description: "ReqRes Execute Custom Endpoint"
              call: "reqres-custom-endpoints.executeCustomEndpointPut"
              with:
                "path": "rest.path"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PATCH
              name: "executeCustomEndpointPatch"
              description: "ReqRes Execute Custom Endpoint"
              call: "reqres-custom-endpoints.executeCustomEndpointPatch"
              with:
                "path": "rest.path"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: "executeCustomEndpointDelete"
              description: "ReqRes Execute Custom Endpoint"
              call: "reqres-custom-endpoints.executeCustomEndpointDelete"
              with:
                "path": "rest.path"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "reqres-custom-endpoints-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for ReqRes Custom Endpoints. One tool per consumed operation, routed inline through this capability's consumes block."
      tools:
        - name: "execute-custom-endpoint"
          description: "ReqRes Execute Custom Endpoint"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "reqres-custom-endpoints.executeCustomEndpointGet"
          with:
            "path": "tools.path"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "execute-custom-endpoint-2"
          description: "ReqRes Execute Custom Endpoint"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "reqres-custom-endpoints.executeCustomEndpointPost"
          with:
            "path": "tools.path"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "execute-custom-endpoint-3"
          description: "ReqRes Execute Custom Endpoint"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "reqres-custom-endpoints.executeCustomEndpointPut"
          with:
            "path": "tools.path"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "execute-custom-endpoint-4"
          description: "ReqRes Execute Custom Endpoint"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "reqres-custom-endpoints.executeCustomEndpointPatch"
          with:
            "path": "tools.path"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "execute-custom-endpoint-5"
          description: "ReqRes Execute Custom Endpoint"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "reqres-custom-endpoints.executeCustomEndpointDelete"
          with:
            "path": "tools.path"
          outputParameters:
            - type: object
              mapping: "$."