Port · Capability
Port API — Integrations
Port API — Integrations. 7 operations. Lead operation: Get all integrations. Self-contained Naftiko capability covering one Port business surface.
What You Can Do
GET
Get
— Get all integrations
/v1/v1/integration
GET
Get
— Get all integrations meta-data (member view)
/v1/v1/integration/metadata
GET
Get
— Get an integration
/v1/v1/integration/{identifier}
PATCH
Patch
— Update an integration
/v1/v1/integration/{identifier}
DELETE
Delete
— Delete an integration
/v1/v1/integration/{identifier}
PATCH
Patch
— Update an integration's config
/v1/v1/integration/{identifier}/config
GET
Get
— Get an integration's event logs
/v1/v1/integration/{identifier}/logs
MCP Tools
get-all-integrations
Get all integrations
read-only
idempotent
get-all-integrations-meta-data
Get all integrations meta-data (member view)
read-only
idempotent
get-integration
Get an integration
read-only
idempotent
update-integration
Update an integration
idempotent
delete-integration
Delete an integration
idempotent
update-integration-s-config
Update an integration's config
idempotent
get-integration-s-event-logs
Get an integration's event logs
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Port API — Integrations
description: 'Port API — Integrations. 7 operations. Lead operation: Get all integrations. Self-contained Naftiko capability
covering one Port business surface.'
tags:
- Port
- Integrations
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
PORT_API_KEY: PORT_API_KEY
capability:
consumes:
- type: http
namespace: port-integrations
baseUri: ''
description: Port API — Integrations business capability. Self-contained, no shared references.
resources:
- name: v1-integration
path: /v1/integration
operations:
- name: get
method: GET
description: Get all integrations
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: actionsProcessingEnabled
in: query
type: boolean
description: filter by integrations that has actions processing enabled
- name: v1-integration-metadata
path: /v1/integration/metadata
operations:
- name: get
method: GET
description: Get all integrations meta-data (member view)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: v1-integration-identifier
path: /v1/integration/{identifier}
operations:
- name: get
method: GET
description: Get an integration
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: byField
in: query
type: string
description: The field used to identify the integration. When set to `logIngestId`, the `identifier` parameter should
be changed accordingly.
- name: isPolling
in: query
type: boolean
description: Whether to return the integration in polling mode.
- name: oceanCoreVersion
in: query
type: string
description: The version of the core to use.
- name: identifier
in: path
type: string
description: The unique identifier of the resource you want to operate on.
required: true
- name: patch
method: PATCH
description: Update an integration
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: identifier
in: path
type: string
description: The unique identifier of the resource you want to operate on.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: delete
method: DELETE
description: Delete an integration
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: identifier
in: path
type: string
description: The unique identifier of the resource you want to operate on.
required: true
- name: v1-integration-identifier-config
path: /v1/integration/{identifier}/config
operations:
- name: patch
method: PATCH
description: Update an integration's config
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: identifier
in: path
type: string
description: The unique identifier of the resource you want to operate on.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-integration-identifier-logs
path: /v1/integration/{identifier}/logs
operations:
- name: get
method: GET
description: Get an integration's event logs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: number
description: The number of logs to fetch per page.
- name: timestamp
in: query
type: string
description: The date of time from which to fetch the logs, in `ISO format IE 2022-04-23T18:25:43.511Z`.
- name: log_id
in: query
type: string
description: The identifier of the log.
- name: direction
in: query
type: string
description: Determines whether to fetch logs before or after the specified timestamp.
- name: event_id
in: query
type: string
description: Filter logs belonging to a specific event.
- name: levels
in: query
type: array
description: Filter logs by severity level.
- name: etl_phases
in: query
type: array
description: Filter logs by ETL phases.
- name: kinds
in: query
type: array
description: Filter logs by kinds (e.g `pull-request`, `branch` for GitHub, `issue` for Jira, etc.)
- name: identifier
in: path
type: string
description: The unique identifier of the resource you want to operate on.
required: true
authentication:
type: apikey
key: Authorization
value: '{{env.PORT_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: port-integrations-rest
port: 8080
description: REST adapter for Port API — Integrations. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/integration
name: v1-integration
description: REST surface for v1-integration.
operations:
- method: GET
name: get
description: Get all integrations
call: port-integrations.get
with:
actionsProcessingEnabled: rest.actionsProcessingEnabled
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/integration/metadata
name: v1-integration-metadata
description: REST surface for v1-integration-metadata.
operations:
- method: GET
name: get
description: Get all integrations meta-data (member view)
call: port-integrations.get
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/integration/{identifier}
name: v1-integration-identifier
description: REST surface for v1-integration-identifier.
operations:
- method: GET
name: get
description: Get an integration
call: port-integrations.get
with:
byField: rest.byField
isPolling: rest.isPolling
oceanCoreVersion: rest.oceanCoreVersion
identifier: rest.identifier
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: patch
description: Update an integration
call: port-integrations.patch
with:
identifier: rest.identifier
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: delete
description: Delete an integration
call: port-integrations.delete
with:
identifier: rest.identifier
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/integration/{identifier}/config
name: v1-integration-identifier-config
description: REST surface for v1-integration-identifier-config.
operations:
- method: PATCH
name: patch
description: Update an integration's config
call: port-integrations.patch
with:
identifier: rest.identifier
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/integration/{identifier}/logs
name: v1-integration-identifier-logs
description: REST surface for v1-integration-identifier-logs.
operations:
- method: GET
name: get
description: Get an integration's event logs
call: port-integrations.get
with:
limit: rest.limit
timestamp: rest.timestamp
log_id: rest.log_id
direction: rest.direction
event_id: rest.event_id
levels: rest.levels
etl_phases: rest.etl_phases
kinds: rest.kinds
identifier: rest.identifier
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: port-integrations-mcp
port: 9090
transport: http
description: MCP adapter for Port API — Integrations. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: get-all-integrations
description: Get all integrations
hints:
readOnly: true
destructive: false
idempotent: true
call: port-integrations.get
with:
actionsProcessingEnabled: tools.actionsProcessingEnabled
outputParameters:
- type: object
mapping: $.
- name: get-all-integrations-meta-data
description: Get all integrations meta-data (member view)
hints:
readOnly: true
destructive: false
idempotent: true
call: port-integrations.get
outputParameters:
- type: object
mapping: $.
- name: get-integration
description: Get an integration
hints:
readOnly: true
destructive: false
idempotent: true
call: port-integrations.get
with:
byField: tools.byField
isPolling: tools.isPolling
oceanCoreVersion: tools.oceanCoreVersion
identifier: tools.identifier
outputParameters:
- type: object
mapping: $.
- name: update-integration
description: Update an integration
hints:
readOnly: false
destructive: false
idempotent: true
call: port-integrations.patch
with:
identifier: tools.identifier
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-integration
description: Delete an integration
hints:
readOnly: false
destructive: true
idempotent: true
call: port-integrations.delete
with:
identifier: tools.identifier
outputParameters:
- type: object
mapping: $.
- name: update-integration-s-config
description: Update an integration's config
hints:
readOnly: false
destructive: false
idempotent: true
call: port-integrations.patch
with:
identifier: tools.identifier
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-integration-s-event-logs
description: Get an integration's event logs
hints:
readOnly: true
destructive: false
idempotent: true
call: port-integrations.get
with:
limit: tools.limit
timestamp: tools.timestamp
log_id: tools.log_id
direction: tools.direction
event_id: tools.event_id
levels: tools.levels
etl_phases: tools.etl_phases
kinds: tools.kinds
identifier: tools.identifier
outputParameters:
- type: object
mapping: $.