naftiko: 1.0.0-alpha2 info: label: Port API — Actions description: 'Port API — Actions. 13 operations. Lead operation: Create an action/automation. Self-contained Naftiko capability covering one Port business surface.' tags: - Port - Actions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORT_API_KEY: PORT_API_KEY capability: consumes: - type: http namespace: port-actions baseUri: '' description: Port API — Actions business capability. Self-contained, no shared references. resources: - name: v1-actions path: /v1/actions operations: - name: post method: POST description: Create an action/automation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: get method: GET description: Get actions/automations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: action_identifier in: query type: array description: The identifier/s of the action/s and/or automation/s you want to fetch. - name: blueprint_identifier in: query type: array description: The identifier/s of the blueprint/s whose actions/automations you wish to fetch. - name: operation in: query type: array description: The [operation type/s](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details) of the action/s you want to fetch. Relevant only - name: published in: query type: boolean description: Only relevant for **automations**. If `true`, only published automations will be fetched. - name: trigger_type in: query type: string - name: trigger_event in: query type: array description: The event/s that triggered the automation/s you want to fetch. Relevant only for automations. - name: trigger_event_action_identifier in: query type: array - name: version in: query type: string description: Specifies the API version to use. Please use `v2` for the latest version of the API. - name: v1-actions-action_identifier path: /v1/actions/{action_identifier} operations: - name: put method: PUT description: Change an action/automation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - 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 - name: get method: GET description: Get an action/automation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: action_identifier in: path type: string description: The identifier of the action/automation you want to operate on. required: true - name: delete method: DELETE description: Delete an action/automation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: action_identifier in: path type: string description: The identifier of the action/automation you want to operate on. required: true - name: v1-actions-action_identifier-permissions path: /v1/actions/{action_identifier}/permissions operations: - name: get method: GET description: Get an action's permissions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: action_identifier in: path type: string description: The identifier of the action/automation you want to operate on. required: true - name: patch method: PATCH description: Update an action's permissions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - 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: false - name: v1-blueprints-blueprint_identifier-actions path: /v1/blueprints/{blueprint_identifier}/actions operations: - name: post method: POST description: This route is deprecated since November 20th 2024 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string required: true - name: nullable in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: put method: PUT description: This route is deprecated since November 20th 2024 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string required: true - name: nullable in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: get method: GET description: This route is deprecated since November 20th 2024 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string required: true - name: nullable in: path type: string required: true - name: v1-blueprints-blueprint_identifier-actions-action_identifier path: /v1/blueprints/{blueprint_identifier}/actions/{action_identifier} operations: - name: put method: PUT description: This route is deprecated since November 20th 2024 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string required: true - name: nullable in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: get method: GET description: This route is deprecated since November 20th 2024 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string required: true - name: nullable in: path type: string required: true - name: delete method: DELETE description: This route is deprecated since November 20th 2024 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string required: true - name: nullable in: path type: string required: true authentication: type: apikey key: Authorization value: '{{env.PORT_API_KEY}}' placement: header exposes: - type: rest namespace: port-actions-rest port: 8080 description: REST adapter for Port API — Actions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/actions name: v1-actions description: REST surface for v1-actions. operations: - method: POST name: post description: Create an action/automation call: port-actions.post with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: Get actions/automations call: port-actions.get with: action_identifier: rest.action_identifier blueprint_identifier: rest.blueprint_identifier operation: rest.operation published: rest.published trigger_type: rest.trigger_type trigger_event: rest.trigger_event trigger_event_action_identifier: rest.trigger_event_action_identifier version: rest.version outputParameters: - type: object mapping: $. - path: /v1/v1/actions/{action-identifier} name: v1-actions-action-identifier description: REST surface for v1-actions-action_identifier. operations: - method: PUT name: put description: Change an action/automation call: port-actions.put with: action_identifier: rest.action_identifier body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: Get an action/automation call: port-actions.get with: action_identifier: rest.action_identifier outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Delete an action/automation call: port-actions.delete with: action_identifier: rest.action_identifier outputParameters: - type: object mapping: $. - path: /v1/v1/actions/{action-identifier}/permissions name: v1-actions-action-identifier-permissions description: REST surface for v1-actions-action_identifier-permissions. operations: - method: GET name: get description: Get an action's permissions call: port-actions.get with: action_identifier: rest.action_identifier outputParameters: - type: object mapping: $. - method: PATCH name: patch description: Update an action's permissions call: port-actions.patch with: action_identifier: rest.action_identifier body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/blueprints/{blueprint-identifier}/actions name: v1-blueprints-blueprint-identifier-actions description: REST surface for v1-blueprints-blueprint_identifier-actions. operations: - method: POST name: post description: This route is deprecated since November 20th 2024 call: port-actions.post with: type: rest.type nullable: rest.nullable body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: put description: This route is deprecated since November 20th 2024 call: port-actions.put with: type: rest.type nullable: rest.nullable body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: This route is deprecated since November 20th 2024 call: port-actions.get with: type: rest.type nullable: rest.nullable outputParameters: - type: object mapping: $. - path: /v1/v1/blueprints/{blueprint-identifier}/actions/{action-identifier} name: v1-blueprints-blueprint-identifier-actions-action-identifier description: REST surface for v1-blueprints-blueprint_identifier-actions-action_identifier. operations: - method: PUT name: put description: This route is deprecated since November 20th 2024 call: port-actions.put with: type: rest.type nullable: rest.nullable body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: This route is deprecated since November 20th 2024 call: port-actions.get with: type: rest.type nullable: rest.nullable outputParameters: - type: object mapping: $. - method: DELETE name: delete description: This route is deprecated since November 20th 2024 call: port-actions.delete with: type: rest.type nullable: rest.nullable outputParameters: - type: object mapping: $. - type: mcp namespace: port-actions-mcp port: 9090 transport: http description: MCP adapter for Port API — Actions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-action-automation description: Create an action/automation hints: readOnly: false destructive: false idempotent: false call: port-actions.post with: body: tools.body outputParameters: - type: object mapping: $. - name: get-actions-automations description: Get actions/automations hints: readOnly: true destructive: false idempotent: true call: port-actions.get with: action_identifier: tools.action_identifier blueprint_identifier: tools.blueprint_identifier operation: tools.operation published: tools.published trigger_type: tools.trigger_type trigger_event: tools.trigger_event trigger_event_action_identifier: tools.trigger_event_action_identifier version: tools.version outputParameters: - type: object mapping: $. - name: change-action-automation description: Change an action/automation hints: readOnly: false destructive: false idempotent: true call: port-actions.put with: action_identifier: tools.action_identifier body: tools.body outputParameters: - type: object mapping: $. - name: get-action-automation description: Get an action/automation hints: readOnly: true destructive: false idempotent: true call: port-actions.get with: action_identifier: tools.action_identifier outputParameters: - type: object mapping: $. - name: delete-action-automation description: Delete an action/automation hints: readOnly: false destructive: true idempotent: true call: port-actions.delete with: action_identifier: tools.action_identifier outputParameters: - type: object mapping: $. - name: get-action-s-permissions description: Get an action's permissions hints: readOnly: true destructive: false idempotent: true call: port-actions.get with: action_identifier: tools.action_identifier outputParameters: - type: object mapping: $. - name: update-action-s-permissions description: Update an action's permissions hints: readOnly: false destructive: false idempotent: true call: port-actions.patch with: action_identifier: tools.action_identifier body: tools.body outputParameters: - type: object mapping: $. - name: this-route-is-deprecated-since description: This route is deprecated since November 20th 2024 hints: readOnly: false destructive: false idempotent: false call: port-actions.post with: type: tools.type nullable: tools.nullable body: tools.body outputParameters: - type: object mapping: $. - name: this-route-is-deprecated-since-2 description: This route is deprecated since November 20th 2024 hints: readOnly: false destructive: false idempotent: true call: port-actions.put with: type: tools.type nullable: tools.nullable body: tools.body outputParameters: - type: object mapping: $. - name: this-route-is-deprecated-since-3 description: This route is deprecated since November 20th 2024 hints: readOnly: true destructive: false idempotent: true call: port-actions.get with: type: tools.type nullable: tools.nullable outputParameters: - type: object mapping: $. - name: this-route-is-deprecated-since-4 description: This route is deprecated since November 20th 2024 hints: readOnly: false destructive: false idempotent: true call: port-actions.put with: type: tools.type nullable: tools.nullable body: tools.body outputParameters: - type: object mapping: $. - name: this-route-is-deprecated-since-5 description: This route is deprecated since November 20th 2024 hints: readOnly: true destructive: false idempotent: true call: port-actions.get with: type: tools.type nullable: tools.nullable outputParameters: - type: object mapping: $. - name: this-route-is-deprecated-since-6 description: This route is deprecated since November 20th 2024 hints: readOnly: false destructive: true idempotent: true call: port-actions.delete with: type: tools.type nullable: tools.nullable outputParameters: - type: object mapping: $.