Port Actions API

The Actions API from Port — 5 operation(s) for actions.

OpenAPI Specification

port-actions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Port Action Runs Actions API
  version: '1.0'
tags:
- name: Actions
paths:
  /v1/actions:
    post:
      summary: Create an action/automation
      tags:
      - Actions
      description: This route allows you to create a new self-service action or automation in your Port account.<br/><br/>To learn more about actions and automations, check out the [documentation](https://docs.port.io/actions-and-automations/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:=-]+$
                  description: The identifier of the action.
                title:
                  type: string
                  description: The title of the action.
                icon:
                  type: string
                  description: The icon of the action.
                description:
                  type: string
                  description: The description of the action.
                trigger:
                  oneOf:
                  - type: object
                    description: The trigger definition of the action.
                    properties:
                      operation:
                        type: string
                        enum:
                        - DAY-2
                        - DELETE
                        description: The [operation type](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details) of the action.
                      type:
                        type: string
                        enum:
                        - self-service
                      blueprintIdentifier:
                        type: string
                        description: The identifier of the blueprint that the action is associated with.<br/>Note that this is optional, as actions do not have to be tied directly to a blueprint.
                      userInputs:
                        oneOf:
                        - type: object
                          title: Default order
                          description: Use this option when you don't want to define a custom order/steps for the user inputs.
                          properties:
                            properties:
                              type: object
                              propertyNames:
                                pattern: ^[A-Za-z0-9@_=\\-]+$
                              additionalProperties:
                                type: object
                                properties:
                                  type:
                                    enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                    title: Type
                                    description: The type of the input.
                                  jqQuery:
                                    type: 'null'
                                  format:
                                    enum:
                                    - date-time
                                    - url
                                    - email
                                    - ipv4
                                    - ipv6
                                    - yaml
                                    - entity
                                    - user
                                    - team
                                    - proto
                                    - markdown
                                    - multi-line
                                    - labeled-url
                                    title: Format
                                    description: The format of the input.
                                  blueprint:
                                    type: string
                                    title: Blueprint
                                    description: When using the `entity` format, this is the identifier of the blueprint whose entities will be selectable via this input.
                                  dependsOn:
                                    type: array
                                    items:
                                      type: string
                                    title: Depends On
                                    description: The identifiers of the inputs that this input depends on. This input will be disabled until they have been given a value.
                                  visible:
                                    oneOf:
                                    - $ref: '#/components/schemas/def-0'
                                      description: A [jq query](https://stedolan.github.io/jq/manual/) that resolves to `true` or `false`, determining the visibility of the input.
                                      title: jqQuery
                                    - type: boolean
                                      description: A boolean value determining the visibility of the input.
                                      title: boolean
                                    title: Visible
                                    description: The visibility of the input. Resolves to a boolean value (`true` = visible).
                                  icon:
                                    type: string
                                    title: Icon
                                    description: The icon of the input.
                                  dataset:
                                    $ref: '#/components/schemas/def-2'
                                    title: Dataset
                                    description: The dataset to use for entity selection inputs.
                                  sort:
                                    type: object
                                    title: Sort
                                    description: Relevant only for `Entity selection` inputs (`type` = `string` and `format` = `entity`).<br/>This input allows you to sort the entities in the dropdown by a specific property.
                                    properties:
                                      property:
                                        type: string
                                        title: Property
                                        description: The property by which to sort the entities.
                                      order:
                                        type: string
                                        enum:
                                        - ASC
                                        - DESC
                                        title: Order
                                        description: The order in which to sort the entities.
                                    required:
                                    - property
                                    - order
                                required:
                                - type
                            titles:
                              type: object
                              propertyNames:
                                pattern: ^[A-Za-z0-9@_=\\-]+$
                              additionalProperties:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    maxLength: 140
                                    minLength: 1
                                  description:
                                    type: string
                                    maxLength: 1000
                                  visible:
                                    anyOf:
                                    - type: boolean
                                    - $ref: '#/components/schemas/def-0'
                            required:
                              oneOf:
                              - $ref: '#/components/schemas/def-0'
                                description: A jq query that runs on the action's inputs and resolves to a boolean value (`true` = required).
                                title: jqQuery
                              - type: array
                                description: The identifiers of the required inputs.
                                items:
                                  type: string
                                title: array
                          required:
                          - properties
                          additionalProperties: false
                        - type: object
                          title: Custom order
                          description: Use this option when you want to define a custom order for the user inputs.
                          properties:
                            properties:
                              type: object
                              propertyNames:
                                pattern: ^[A-Za-z0-9@_=\\-]+$
                              additionalProperties:
                                type: object
                                properties:
                                  type:
                                    enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                    title: Type
                                    description: The type of the input.
                                  jqQuery:
                                    type: 'null'
                                  format:
                                    enum:
                                    - date-time
                                    - url
                                    - email
                                    - ipv4
                                    - ipv6
                                    - yaml
                                    - entity
                                    - user
                                    - team
                                    - proto
                                    - markdown
                                    - multi-line
                                    - labeled-url
                                    title: Format
                                    description: The format of the input.
                                  blueprint:
                                    type: string
                                    title: Blueprint
                                    description: When using the `entity` format, this is the identifier of the blueprint whose entities will be selectable via this input.
                                  dependsOn:
                                    type: array
                                    items:
                                      type: string
                                    title: Depends On
                                    description: The identifiers of the inputs that this input depends on. This input will be disabled until they have been given a value.
                                  visible:
                                    oneOf:
                                    - $ref: '#/components/schemas/def-0'
                                      description: A [jq query](https://stedolan.github.io/jq/manual/) that resolves to `true` or `false`, determining the visibility of the input.
                                      title: jqQuery
                                    - type: boolean
                                      description: A boolean value determining the visibility of the input.
                                      title: boolean
                                    title: Visible
                                    description: The visibility of the input. Resolves to a boolean value (`true` = visible).
                                  icon:
                                    type: string
                                    title: Icon
                                    description: The icon of the input.
                                  dataset:
                                    $ref: '#/components/schemas/def-2'
                                    title: Dataset
                                    description: The dataset to use for entity selection inputs.
                                  sort:
                                    type: object
                                    title: Sort
                                    description: Relevant only for `Entity selection` inputs (`type` = `string` and `format` = `entity`).<br/>This input allows you to sort the entities in the dropdown by a specific property.
                                    properties:
                                      property:
                                        type: string
                                        title: Property
                                        description: The property by which to sort the entities.
                                      order:
                                        type: string
                                        enum:
                                        - ASC
                                        - DESC
                                        title: Order
                                        description: The order in which to sort the entities.
                                    required:
                                    - property
                                    - order
                                required:
                                - type
                            required:
                              oneOf:
                              - $ref: '#/components/schemas/def-0'
                                description: A jq query that runs on the action's inputs and resolves to a boolean value (`true` = required).
                                title: jqQuery
                              - type: array
                                description: The identifiers of the required inputs.
                                items:
                                  type: string
                                title: array
                            titles:
                              type: object
                              propertyNames:
                                pattern: ^[A-Za-z0-9@_=\\-]+$
                              additionalProperties:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    maxLength: 140
                                    minLength: 1
                                  description:
                                    type: string
                                    maxLength: 1000
                                  visible:
                                    anyOf:
                                    - type: boolean
                                    - $ref: '#/components/schemas/def-0'
                            order:
                              type: array
                              items:
                                type: string
                          required:
                          - properties
                          - order
                          additionalProperties: false
                        - type: object
                          title: Custom steps
                          description: Use this option when you want to define custom steps for the user inputs.
                          properties:
                            properties:
                              type: object
                              propertyNames:
                                pattern: ^[A-Za-z0-9@_=\\-]+$
                              additionalProperties:
                                type: object
                                properties:
                                  type:
                                    enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                    title: Type
                                    description: The type of the input.
                                  jqQuery:
                                    type: 'null'
                                  format:
                                    enum:
                                    - date-time
                                    - url
                                    - email
                                    - ipv4
                                    - ipv6
                                    - yaml
                                    - entity
                                    - user
                                    - team
                                    - proto
                                    - markdown
                                    - multi-line
                                    - labeled-url
                                    title: Format
                                    description: The format of the input.
                                  blueprint:
                                    type: string
                                    title: Blueprint
                                    description: When using the `entity` format, this is the identifier of the blueprint whose entities will be selectable via this input.
                                  dependsOn:
                                    type: array
                                    items:
                                      type: string
                                    title: Depends On
                                    description: The identifiers of the inputs that this input depends on. This input will be disabled until they have been given a value.
                                  visible:
                                    oneOf:
                                    - $ref: '#/components/schemas/def-0'
                                      description: A [jq query](https://stedolan.github.io/jq/manual/) that resolves to `true` or `false`, determining the visibility of the input.
                                      title: jqQuery
                                    - type: boolean
                                      description: A boolean value determining the visibility of the input.
                                      title: boolean
                                    title: Visible
                                    description: The visibility of the input. Resolves to a boolean value (`true` = visible).
                                  icon:
                                    type: string
                                    title: Icon
                                    description: The icon of the input.
                                  dataset:
                                    $ref: '#/components/schemas/def-2'
                                    title: Dataset
                                    description: The dataset to use for entity selection inputs.
                                  sort:
                                    type: object
                                    title: Sort
                                    description: Relevant only for `Entity selection` inputs (`type` = `string` and `format` = `entity`).<br/>This input allows you to sort the entities in the dropdown by a specific property.
                                    properties:
                                      property:
                                        type: string
                                        title: Property
                                        description: The property by which to sort the entities.
                                      order:
                                        type: string
                                        enum:
                                        - ASC
                                        - DESC
                                        title: Order
                                        description: The order in which to sort the entities.
                                    required:
                                    - property
                                    - order
                                required:
                                - type
                            required:
                              oneOf:
                              - $ref: '#/components/schemas/def-0'
                                description: A jq query that runs on the action's inputs and resolves to a boolean value (`true` = required).
                                title: jqQuery
                              - type: array
                                description: The identifiers of the required inputs.
                                items:
                                  type: string
                                title: array
                            titles:
                              type: object
                              propertyNames:
                                pattern: ^[A-Za-z0-9@_=\\-]+$
                              additionalProperties:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    maxLength: 140
                                    minLength: 1
                                  description:
                                    type: string
                                    maxLength: 1000
                                  visible:
                                    anyOf:
                                    - type: boolean
                                    - $ref: '#/components/schemas/def-0'
                            steps:
                              type: array
                              description: The steps of the user inputs. Each step is an object containing its title and the order of its properties.
                              items:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    description: The title of the step.
                                  order:
                                    type: array
                                    description: The order of the properties in the step - an array of property identifiers.
                                    items:
                                      type: string
                                  visible:
                                    oneOf:
                                    - $ref: '#/components/schemas/def-0'
                                      description: A [jq query](https://stedolan.github.io/jq/manual/) that resolves to `true` or `false`, determining the visibility of the step.
                                      title: jqQuery
                                    - type: boolean
                                      description: A boolean value determining the visibility of the step.
                                      title: boolean
                                    title: Visible
                                    description: The visibility of the step. Resolves to a boolean value (`true` = visible).
                                required:
                                - title
                                additionalProperties: false
                          required:
                          - properties
                          - steps
                          additionalProperties: false
                        description: The [user inputs](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/user-inputs/) of the action.
                      actionCardButtonText:
                        type: string
                        maxLength: 15
                        minLength: 1
                        pattern: ^[^\s].*[^\s]$
                      executeActionButtonText:
                        type: string
                        maxLength: 15
                        minLength: 1
                        pattern: ^[^\s].*[^\s]$
                      condition:
                        type: object
                        description: Filters used to include/exclude specific entities from the action.
                        additionalProperties: false
                        properties:
                          type:
                            type: string
                            enum:
                            - SEARCH
                          rules:
                            type: array
                            items:
                              anyOf:
                              - type: object
                                title: Date Rule
                                properties:
                                  property:
                                    oneOf:
                                    - type: string
                                    - type: object
                                      properties:
                                        property:
                                          type: string
                                        context:
                                          type: string
                                          enum:
                                          - user
                                          - userTeams
                                      required:
                                      - property
                                      - context
                                  operator:
                                    enum:
                                    - between
                                    - notBetween
                                    - '='
                                  value:
                                    type: object
                                    oneOf:
                                    - type: object
                                      title: Date Range
                                      properties:
                                        from:
                                          type: string
                                          format: date-time
                                        to:
                                          type: string
                                          format: date-time
                                      required:
                                      - from
                                      - to
                                    - type: object
                                      title: Date Preset
                                      properties:
                                        preset:
                                          type: string
                                          enum:
                                          - today
                                          - tomorrow
                                          - yesterday
                                          - lastDay
                                          - lastWeek
                                          - last2Weeks
                                          - lastMonth
                                          - last3Months
                                          - last6Months
                                          - last12Months
                                          - last2Years
                                          - last3Years
                                          - nextDay
                                          - nextWeek
                                          - next2Weeks
                                          - nextMonth
                                          - next3Months
                                          - next6Months
                                          - next12Months
                                      required:
                                      - preset
                                    - type: object
                                      properties:
                                        property:
                                          type: string
                                        context:
                                          type: string
                                          enum:
                                          - user
                                          - userTeams
                                      required:
                                      - property
                                      - context
                                required:
                                - property
                                - operator
                                - value
                                additionalProperties: false
                              - type: object
                                title: Empty Rule
                                oneOf:
                                - type: object
                                  title: Empty Rule
                                  properties:
                                    operator:
                                      enum:
                                      - isEmpty
                                      - isNotEmpty
                                    property:
                                      type: string
                                  required:
                                  - operator
                                  - property
                                  additionalProperties: false
                              - type: object
                                title: Number Rule
                                properties:
                                  property:
                                    oneOf:
                                    - type: string
                                    - type: object
                                      properties:
                                        property:
                                          type: string
                                        context:
                                          type: string
                                          enum:
                                          - user
                                          - userTeams
                                      required:
                                      - property
                                      - context
                                  operator:
                                    enum:
                                    - '>'
                                    - '>='
                                    - <
                                    - <=
                                  value:
                                    anyOf:
                                    - type: number
                                      title: number
                                    - type: string
                                      format: date-time
                                      title: date-time
                                    - type: object
                                      properties:
                                        property:
                                          type: string
                                        context:
                                          type: string
                                          enum:
                                          - user
                                          - userTeams
                                      required:
                                      - property
                                      - context
                                required:
                                - property
                                - operator
                                - value
                                additionalProperties: false
                              - type: object
                                title: Expired Rule
                                oneOf:
                                - type: object
                

# --- truncated at 32 KB (229 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/port/refs/heads/main/openapi/port-actions-api-openapi.yml