ReqRes · Capability

ReqRes API - Authentication

Authentication surface of the ReqRes API. 3 operations. Lead operation: ReqRes Register User. Self-contained Naftiko capability covering one ReqRes business surface.

Run with Naftiko ReqResAuthentication

What You Can Do

POST
Registeruser — ReqRes Register User
/v1/register
POST
Loginuser — ReqRes Login User
/v1/login
POST
Logoutuser — ReqRes Logout User
/v1/logout

MCP Tools

register-user

ReqRes Register User

login-user

ReqRes Login User

logout-user

ReqRes Logout User

Capability Spec

reqres-authentication.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "ReqRes API - Authentication"
  description: >-
    Authentication surface of the ReqRes API. 3 operations. Lead operation: ReqRes Register User. Self-contained Naftiko capability covering one ReqRes business surface.
  tags:
    - ReqRes
    - Authentication
  created: "2026-05-29"
  modified: "2026-05-29"

binds:
  - namespace: env
    keys:
      REQRES_API_KEY: REQRES_API_KEY

capability:

  consumes:
    - type: http
      namespace: "reqres-authentication"
      baseUri: "https://reqres.in"
      description: "ReqRes Authentication business capability. Self-contained, no shared references."
      authentication:
        type: apikey
        key: x-api-key
        value: "{{env.REQRES_API_KEY}}"
        placement: header
      resources:
        - name: "api-register"
          path: "/api/register"
          operations:
            - name: "registerUser"
              method: POST
              description: "ReqRes Register User"
              inputParameters:
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request body payload."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "api-login"
          path: "/api/login"
          operations:
            - name: "loginUser"
              method: POST
              description: "ReqRes Login User"
              inputParameters:
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request body payload."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "api-logout"
          path: "/api/logout"
          operations:
            - name: "logoutUser"
              method: POST
              description: "ReqRes Logout User"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "reqres-authentication-rest"
      port: 8080
      description: "REST adapter for ReqRes Authentication. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/register"
          name: "v1-register"
          description: "REST surface for /api/register."
          operations:
            - method: POST
              name: "registerUser"
              description: "ReqRes Register User"
              call: "reqres-authentication.registerUser"
              with:
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/login"
          name: "v1-login"
          description: "REST surface for /api/login."
          operations:
            - method: POST
              name: "loginUser"
              description: "ReqRes Login User"
              call: "reqres-authentication.loginUser"
              with:
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/logout"
          name: "v1-logout"
          description: "REST surface for /api/logout."
          operations:
            - method: POST
              name: "logoutUser"
              description: "ReqRes Logout User"
              call: "reqres-authentication.logoutUser"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "reqres-authentication-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for ReqRes Authentication. One tool per consumed operation, routed inline through this capability's consumes block."
      tools:
        - name: "register-user"
          description: "ReqRes Register User"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "reqres-authentication.registerUser"
          with:
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "login-user"
          description: "ReqRes Login User"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "reqres-authentication.loginUser"
          with:
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "logout-user"
          description: "ReqRes Logout User"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "reqres-authentication.logoutUser"
          outputParameters:
            - type: object
              mapping: "$."