naftiko: 1.0.0-alpha2 info: label: Relay App Automation API — Runs description: 'Relay App Automation API — Runs. 4 operations. Lead operation: Get Workflow Run. Self-contained Naftiko capability covering one Relay App business surface.' tags: - Relay App - Runs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RELAY_APP_API_KEY: RELAY_APP_API_KEY capability: consumes: - type: http namespace: relay-app-runs baseUri: https://api.relay.app/v1 description: Relay App Automation API — Runs business capability. Self-contained, no shared references. resources: - name: runs-runId path: /runs/{runId} operations: - name: getworkflowrun method: GET description: Get Workflow Run outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: runId in: path type: string description: The unique identifier of the workflow run. required: true - name: runs-runId-approve path: /runs/{runId}/approve operations: - name: approveworkflowrunstep method: POST description: Approve Workflow Run Step outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: runId in: path type: string description: The unique identifier of the workflow run. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: runs-runId-cancel path: /runs/{runId}/cancel operations: - name: cancelworkflowrun method: POST description: Cancel Workflow Run outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: runId in: path type: string description: The unique identifier of the workflow run. required: true - name: workflows-workflowId-runs path: /workflows/{workflowId}/runs operations: - name: listworkflowruns method: GET description: List Workflow Runs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: workflowId in: path type: string description: The unique identifier of the workflow. required: true - name: status in: query type: string description: Filter runs by status. - name: limit in: query type: integer description: Number of results to return. authentication: type: apikey key: X-Relay-API-Key value: '{{env.RELAY_APP_API_KEY}}' placement: header exposes: - type: rest namespace: relay-app-runs-rest port: 8080 description: REST adapter for Relay App Automation API — Runs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/runs/{runid} name: runs-runid description: REST surface for runs-runId. operations: - method: GET name: getworkflowrun description: Get Workflow Run call: relay-app-runs.getworkflowrun with: runId: rest.runId outputParameters: - type: object mapping: $. - path: /v1/runs/{runid}/approve name: runs-runid-approve description: REST surface for runs-runId-approve. operations: - method: POST name: approveworkflowrunstep description: Approve Workflow Run Step call: relay-app-runs.approveworkflowrunstep with: runId: rest.runId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/runs/{runid}/cancel name: runs-runid-cancel description: REST surface for runs-runId-cancel. operations: - method: POST name: cancelworkflowrun description: Cancel Workflow Run call: relay-app-runs.cancelworkflowrun with: runId: rest.runId outputParameters: - type: object mapping: $. - path: /v1/workflows/{workflowid}/runs name: workflows-workflowid-runs description: REST surface for workflows-workflowId-runs. operations: - method: GET name: listworkflowruns description: List Workflow Runs call: relay-app-runs.listworkflowruns with: workflowId: rest.workflowId status: rest.status limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: relay-app-runs-mcp port: 9090 transport: http description: MCP adapter for Relay App Automation API — Runs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-workflow-run description: Get Workflow Run hints: readOnly: true destructive: false idempotent: true call: relay-app-runs.getworkflowrun with: runId: tools.runId outputParameters: - type: object mapping: $. - name: approve-workflow-run-step description: Approve Workflow Run Step hints: readOnly: false destructive: false idempotent: false call: relay-app-runs.approveworkflowrunstep with: runId: tools.runId body: tools.body outputParameters: - type: object mapping: $. - name: cancel-workflow-run description: Cancel Workflow Run hints: readOnly: false destructive: false idempotent: false call: relay-app-runs.cancelworkflowrun with: runId: tools.runId outputParameters: - type: object mapping: $. - name: list-workflow-runs description: List Workflow Runs hints: readOnly: true destructive: false idempotent: true call: relay-app-runs.listworkflowruns with: workflowId: tools.workflowId status: tools.status limit: tools.limit outputParameters: - type: object mapping: $.