naftiko: 1.0.0-alpha2 info: label: Port API — Action Runs description: 'Port API — Action Runs. 8 operations. Lead operation: Get all action runs. Self-contained Naftiko capability covering one Port business surface.' tags: - Port - Action Runs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORT_API_KEY: PORT_API_KEY capability: consumes: - type: http namespace: port-action-runs baseUri: '' description: Port API — Action Runs business capability. Self-contained, no shared references. resources: - name: v1-actions-runs path: /v1/actions/runs operations: - name: get method: GET description: Get all action runs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: entity in: query type: string description: The identifier of the entity associated with the action run. - name: blueprint in: query type: string description: The identifier of the blueprint associated with the action run. - name: active in: query type: boolean description: If `true`, only running action runs will be fetched. - name: user_email in: query type: string description: The email of the user who initiated the action run. - name: user_id in: query type: string description: The id of the user who initiated the action run. - name: limit in: query type: number description: The maximum number of action runs to fetch. - name: exclude in: query type: array description: The fields to exclude from the response - name: external_run_id in: query type: string description: The run id of your backend, for example the id that GitHub gives the workflow. This can be used to identify the action run instead of the `run_id`. - name: version in: query type: string description: Specifies the API version to use. Please use `v2` for the latest version of the API. - name: action in: query type: string - name: source in: query type: array - name: v1-actions-runs-run_id path: /v1/actions/runs/{run_id} operations: - name: patch method: PATCH description: Update an action run outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: version in: query type: string description: Specifies the API version to use. Please use `v2` for the latest version of the API. - name: run_id in: path type: string description: The identifier of the action run. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: get method: GET description: Get an action run's details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: version in: query type: string description: Specifies the API version to use. Please use `v2` for the latest version of the API. - name: run_id in: path type: string description: The identifier of the action run. required: true - name: v1-actions-runs-run_id-approval path: /v1/actions/runs/{run_id}/approval operations: - name: patch method: PATCH description: Approve an action run outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: version in: query type: string description: Specifies the API version to use. Please use `v2` for the latest version of the API. - name: run_id in: path type: string description: The identifier of the action run. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v1-actions-runs-run_id-approvers path: /v1/actions/runs/{run_id}/approvers operations: - name: get method: GET description: Get an action run's approvers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: include_pending_approvers in: query type: boolean description: If `true`, the route will also return the users who have not yet approved the action run. required: true - name: run_id in: path type: string description: The identifier of the action run. required: true - name: v1-actions-runs-run_id-logs path: /v1/actions/runs/{run_id}/logs operations: - name: post method: POST description: Add a log to an action run outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: run_id in: path type: string description: The identifier of the action run. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: get method: GET description: Get an action's run logs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: number description: The maximum number of logs to fetch. - name: offset in: query type: number description: The number of logs to skip. - name: run_id in: path type: string description: The identifier of the action run. required: true - name: v1-actions-action_identifier-runs path: /v1/actions/{action_identifier}/runs operations: - name: post method: POST description: Execute a self-service action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: run_as in: query type: string description: The executing user of the action. If not provided, the action will be run on behalf of the user/machine who initiated the action (identified by the bearer token - name: action_identifier in: path type: string description: The identifier of the action/automation you want to operate on. required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authorization value: '{{env.PORT_API_KEY}}' placement: header exposes: - type: rest namespace: port-action-runs-rest port: 8080 description: REST adapter for Port API — Action Runs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/actions/runs name: v1-actions-runs description: REST surface for v1-actions-runs. operations: - method: GET name: get description: Get all action runs call: port-action-runs.get with: entity: rest.entity blueprint: rest.blueprint active: rest.active user_email: rest.user_email user_id: rest.user_id limit: rest.limit exclude: rest.exclude external_run_id: rest.external_run_id version: rest.version action: rest.action source: rest.source outputParameters: - type: object mapping: $. - path: /v1/v1/actions/runs/{run-id} name: v1-actions-runs-run-id description: REST surface for v1-actions-runs-run_id. operations: - method: PATCH name: patch description: Update an action run call: port-action-runs.patch with: version: rest.version run_id: rest.run_id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: Get an action run's details call: port-action-runs.get with: version: rest.version run_id: rest.run_id outputParameters: - type: object mapping: $. - path: /v1/v1/actions/runs/{run-id}/approval name: v1-actions-runs-run-id-approval description: REST surface for v1-actions-runs-run_id-approval. operations: - method: PATCH name: patch description: Approve an action run call: port-action-runs.patch with: version: rest.version run_id: rest.run_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/actions/runs/{run-id}/approvers name: v1-actions-runs-run-id-approvers description: REST surface for v1-actions-runs-run_id-approvers. operations: - method: GET name: get description: Get an action run's approvers call: port-action-runs.get with: include_pending_approvers: rest.include_pending_approvers run_id: rest.run_id outputParameters: - type: object mapping: $. - path: /v1/v1/actions/runs/{run-id}/logs name: v1-actions-runs-run-id-logs description: REST surface for v1-actions-runs-run_id-logs. operations: - method: POST name: post description: Add a log to an action run call: port-action-runs.post with: run_id: rest.run_id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: Get an action's run logs call: port-action-runs.get with: limit: rest.limit offset: rest.offset run_id: rest.run_id outputParameters: - type: object mapping: $. - path: /v1/v1/actions/{action-identifier}/runs name: v1-actions-action-identifier-runs description: REST surface for v1-actions-action_identifier-runs. operations: - method: POST name: post description: Execute a self-service action call: port-action-runs.post with: run_as: rest.run_as action_identifier: rest.action_identifier body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: port-action-runs-mcp port: 9090 transport: http description: MCP adapter for Port API — Action Runs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-all-action-runs description: Get all action runs hints: readOnly: true destructive: false idempotent: true call: port-action-runs.get with: entity: tools.entity blueprint: tools.blueprint active: tools.active user_email: tools.user_email user_id: tools.user_id limit: tools.limit exclude: tools.exclude external_run_id: tools.external_run_id version: tools.version action: tools.action source: tools.source outputParameters: - type: object mapping: $. - name: update-action-run description: Update an action run hints: readOnly: false destructive: false idempotent: true call: port-action-runs.patch with: version: tools.version run_id: tools.run_id body: tools.body outputParameters: - type: object mapping: $. - name: get-action-run-s-details description: Get an action run's details hints: readOnly: true destructive: false idempotent: true call: port-action-runs.get with: version: tools.version run_id: tools.run_id outputParameters: - type: object mapping: $. - name: approve-action-run description: Approve an action run hints: readOnly: false destructive: false idempotent: true call: port-action-runs.patch with: version: tools.version run_id: tools.run_id body: tools.body outputParameters: - type: object mapping: $. - name: get-action-run-s-approvers description: Get an action run's approvers hints: readOnly: true destructive: false idempotent: true call: port-action-runs.get with: include_pending_approvers: tools.include_pending_approvers run_id: tools.run_id outputParameters: - type: object mapping: $. - name: add-log-action-run description: Add a log to an action run hints: readOnly: false destructive: false idempotent: false call: port-action-runs.post with: run_id: tools.run_id body: tools.body outputParameters: - type: object mapping: $. - name: get-action-s-run-logs description: Get an action's run logs hints: readOnly: true destructive: false idempotent: true call: port-action-runs.get with: limit: tools.limit offset: tools.offset run_id: tools.run_id outputParameters: - type: object mapping: $. - name: execute-self-service-action description: Execute a self-service action hints: readOnly: false destructive: false idempotent: false call: port-action-runs.post with: run_as: tools.run_as action_identifier: tools.action_identifier body: tools.body outputParameters: - type: object mapping: $.