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: "$."