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