Port · Capability
Port API — Action Runs
Port API — Action Runs. 8 operations. Lead operation: Get all action runs. Self-contained Naftiko capability covering one Port business surface.
What You Can Do
GET
Get
— Get all action runs
/v1/v1/actions/runs
PATCH
Patch
— Update an action run
/v1/v1/actions/runs/{run-id}
GET
Get
— Get an action run's details
/v1/v1/actions/runs/{run-id}
PATCH
Patch
— Approve an action run
/v1/v1/actions/runs/{run-id}/approval
GET
Get
— Get an action run's approvers
/v1/v1/actions/runs/{run-id}/approvers
POST
Post
— Add a log to an action run
/v1/v1/actions/runs/{run-id}/logs
GET
Get
— Get an action's run logs
/v1/v1/actions/runs/{run-id}/logs
POST
Post
— Execute a self-service action
/v1/v1/actions/{action-identifier}/runs
MCP Tools
get-all-action-runs
Get all action runs
read-only
idempotent
update-action-run
Update an action run
idempotent
get-action-run-s-details
Get an action run's details
read-only
idempotent
approve-action-run
Approve an action run
idempotent
get-action-run-s-approvers
Get an action run's approvers
read-only
idempotent
add-log-action-run
Add a log to an action run
get-action-s-run-logs
Get an action's run logs
read-only
idempotent
execute-self-service-action
Execute a self-service action
Capability Spec
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: $.