# This file is auto-generated by scripts/generate-unified-services.js.
# Do not edit it directly - edit the individual static/apispec-*.yaml files
# and regenerate with: npm run generate-unified-services
openapi: 3.1.0
info:
  title: Port API
  version: '1.0'
servers:
  - url: https://api.port.io
  - url: https://api.us.port.io
paths:
  /v1/blueprints/{blueprint_identifier}/permissions:
    get:
      summary: Get a blueprint's permissions
      tags:
        - Blueprints
      description: This route allows you to retrieve the permissions of a blueprint.<br/><br/>To learn more about permissions, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/examples/).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer:
            - read:blueprints
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update a blueprint's permissions
      tags:
        - Blueprints
      description: This route allows you to update the permissions of a blueprint.<br/><br/>To learn more about permissions, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/examples/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entities:
                  type: object
                  properties:
                    read:
                      type: object
                      properties:
                        users:
                          type: array
                          items:
                            type: string
                          description: List of users (email addresses) that are allowed to perform the action.
                        teams:
                          type: array
                          items:
                            type: string
                          description: List of teams that are allowed to perform the action.
                        roles:
                          type: array
                          items:
                            type: string
                          description: List of roles that are allowed to perform the action.
                        ownedByTeam:
                          type: boolean
                        policy:
                          $ref: '#/components/schemas/def-1'
                      additionalProperties: false
                    register:
                      type: object
                      properties:
                        users:
                          type: array
                          items:
                            type: string
                          description: List of users (email addresses) that are allowed to perform the action.
                        teams:
                          type: array
                          items:
                            type: string
                          description: List of teams that are allowed to perform the action.
                        roles:
                          type: array
                          items:
                            type: string
                          description: List of roles that are allowed to perform the action.
                        ownedByTeam:
                          type: boolean
                        policy:
                          $ref: '#/components/schemas/def-1'
                      additionalProperties: false
                      description: Defines who has permissions to create entities of this blueprint.
                    update:
                      type: object
                      properties:
                        users:
                          type: array
                          items:
                            type: string
                          description: List of users (email addresses) that are allowed to perform the action.
                        teams:
                          type: array
                          items:
                            type: string
                          description: List of teams that are allowed to perform the action.
                        roles:
                          type: array
                          items:
                            type: string
                          description: List of roles that are allowed to perform the action.
                        ownedByTeam:
                          type: boolean
                        policy:
                          $ref: '#/components/schemas/def-1'
                      additionalProperties: false
                      description: Defines who has permissions to modify entities of this blueprint.
                    unregister:
                      type: object
                      properties:
                        users:
                          type: array
                          items:
                            type: string
                          description: List of users (email addresses) that are allowed to perform the action.
                        teams:
                          type: array
                          items:
                            type: string
                          description: List of teams that are allowed to perform the action.
                        roles:
                          type: array
                          items:
                            type: string
                          description: List of roles that are allowed to perform the action.
                        ownedByTeam:
                          type: boolean
                        policy:
                          $ref: '#/components/schemas/def-1'
                      additionalProperties: false
                      description: Defines who has permissions to delete entities of this blueprint.
                    updateProperties:
                      type: object
                      description: Defines who has permissions to modify specific properties in entities of this blueprint.
                      additionalProperties:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                            description: List of users (email addresses) that are allowed to perform the action.
                          teams:
                            type: array
                            items:
                              type: string
                            description: List of teams that are allowed to perform the action.
                          roles:
                            type: array
                            items:
                              type: string
                            description: List of roles that are allowed to perform the action.
                          ownedByTeam:
                            type: boolean
                            description: If `true`, permissions will be determined by team ownership, rather than by roles or direct assignment to users. Every user will be able to modify properties in entities belonging to their team/s.
                    updateRelations:
                      type: object
                      description: Defines who has permissions to modify specific relations in entities of this blueprint.
                      additionalProperties:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                            description: List of users (email addresses) that are allowed to perform the action.
                          teams:
                            type: array
                            items:
                              type: string
                            description: List of teams that are allowed to perform the action.
                          roles:
                            type: array
                            items:
                              type: string
                            description: List of roles that are allowed to perform the action.
                          ownedByTeam:
                            type: boolean
                            description: If `true`, permissions will be determined by team ownership, rather than by roles or direct assignment to users. Every user will be able to modify relations in entities belonging to their team/s.
                    readProperties:
                      type: object
                      description: Defines which users, roles, and teams are allowed to read specific properties, when defined all non allowed will be restricted.
                      additionalProperties:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                            description: List of users (email addresses) that are allowed to perform the action.
                          teams:
                            type: array
                            items:
                              type: string
                            description: List of teams that are allowed to perform the action.
                          roles:
                            type: array
                            items:
                              type: string
                            description: List of roles that are allowed to perform the action.
                  additionalProperties: false
              additionalProperties: false
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/permissions/simulate:
    post:
      summary: Simulate permissions for a user
      tags:
        - Blueprints
      description: This route allows you to simulate what permissions a specific user would have for entities in a blueprint.<br/>Provide a userIdentifier and operation to see which entities are accessible, or additionally provide an entityIdentifier to see detailed permission checks for that specific entity.<br/><br/>To learn more, see the [permission simulator documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview#permission-simulator).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userIdentifier:
                  type: string
                  description: The identifier of the user to simulate permissions for.
                operation:
                  type: string
                  enum:
                    - read
                    - register
                    - update
                    - unregister
                  description: The operation to simulate permissions for.
                entityIdentifier:
                  type: string
                  description: The identifier of the entity to simulate permissions for.
                entity:
                  allOf:
                    - type: object
                      properties:
                        _id:
                          type: string
                        title:
                          type: string
                        team:
                          type: array
                          items:
                            type: string
                        icon:
                          type: string
                        properties:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                        relations:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties:
                            anyOf:
                              - type: string
                              - type: array
                                items:
                                  type: string
                              - type: 'null'
                      required:
                        - properties
                      additionalProperties: false
                    - type: object
                      properties:
                        identifier:
                          type: string
                      additionalProperties: false
                  description: The entity to register or update.
                permissions:
                  description: The permissions to simulate.
                  type: object
                  properties:
                    entities:
                      type: object
                      properties:
                        read:
                          type: object
                          properties:
                            roles:
                              description: The roles to simulate permissions for.
                              type: array
                              items:
                                type: string
                            users:
                              description: The users to simulate permissions for.
                              type: array
                              items:
                                type: string
                            teams:
                              description: The teams to simulate permissions for.
                              type: array
                              items:
                                type: string
                            ownedByTeam:
                              description: The owned by team to simulate permissions for.
                              type: boolean
                            policy:
                              description: The policy to simulate permissions for.
                              type: object
                              properties:
                                combinator:
                                  type: string
                                  enum:
                                    - and
                                    - or
                                rules:
                                  type: array
                                  items: {}
                              required:
                                - combinator
                                - rules
                              additionalProperties: false
                          additionalProperties: false
                          description: The read permissions to simulate.
                        register:
                          type: object
                          properties:
                            roles:
                              description: The roles to simulate permissions for.
                              type: array
                              items:
                                type: string
                            users:
                              description: The users to simulate permissions for.
                              type: array
                              items:
                                type: string
                            teams:
                              description: The teams to simulate permissions for.
                              type: array
                              items:
                                type: string
                            ownedByTeam:
                              description: The owned by team to simulate permissions for.
                              type: boolean
                            policy:
                              type: object
                              properties:
                                combinator:
                                  type: string
                                  enum:
                                    - and
                                    - or
                                rules:
                                  type: array
                                  items: {}
                              required:
                                - combinator
                                - rules
                              additionalProperties: false
                          additionalProperties: false
                        update:
                          type: object
                          properties:
                            roles:
                              description: The roles to simulate permissions for.
                              type: array
                              items:
                                type: string
                            users:
                              description: The users to simulate permissions for.
                              type: array
                              items:
                                type: string
                            teams:
                              description: The teams to simulate permissions for.
                              type: array
                              items:
                                type: string
                            ownedByTeam:
                              description: The owned by team to simulate permissions for.
                              type: boolean
                            policy:
                              type: object
                              properties:
                                combinator:
                                  type: string
                                  enum:
                                    - and
                                    - or
                                rules:
                                  type: array
                                  items: {}
                              required:
                                - combinator
                                - rules
                              additionalProperties: false
                          additionalProperties: false
                        unregister:
                          type: object
                          properties:
                            roles:
                              description: The roles to simulate permissions for.
                              type: array
                              items:
                                type: string
                            users:
                              description: The users to simulate permissions for.
                              type: array
                              items:
                                type: string
                            teams:
                              description: The teams to simulate permissions for.
                              type: array
                              items:
                                type: string
                            ownedByTeam:
                              description: The owned by team to simulate permissions for.
                              type: boolean
                            policy:
                              type: object
                              properties:
                                combinator:
                                  type: string
                                  enum:
                                    - and
                                    - or
                                rules:
                                  type: array
                                  items: {}
                              required:
                                - combinator
                                - rules
                              additionalProperties: false
                          additionalProperties: false
                        updateProperties:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties:
                            type: object
                            properties:
                              roles:
                                description: The roles to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              users:
                                description: The users to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              teams:
                                description: The teams to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              ownedByTeam:
                                description: The owned by team to simulate permissions for.
                                type: boolean
                            additionalProperties: false
                        updateRelations:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties:
                            type: object
                            properties:
                              roles:
                                description: The roles to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              users:
                                description: The users to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              teams:
                                description: The teams to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              ownedByTeam:
                                description: The owned by team to simulate permissions for.
                                type: boolean
                            additionalProperties: false
                        readProperties:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties:
                            type: object
                            properties:
                              roles:
                                description: The roles to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              users:
                                description: The users to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              teams:
                                description: The teams to simulate permissions for.
                                type: array
                                items:
                                  type: string
                              ownedByTeam:
                                description: The owned by team to simulate permissions for.
                                type: boolean
                            additionalProperties: false
                      additionalProperties: false
                      description: The entities to simulate permissions for.
                  additionalProperties: false
              required:
                - userIdentifier
                - operation
              additionalProperties: false
        required: true
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/pages/permissions:
    get:
      summary: Get organization-level page permissions
      tags:
        - Pages
      description: This route allows you to get organization-level page permissions, such as who can create private pages.
      security:
        - bearer:
            - read:organization
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  permissions:
                    type: object
                    properties:
                      create:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                          roles:
                            type: array
                            items:
                              type: string
                          teams:
                            type: array
                            items:
                              type: string
                          ownedByTeam:
                            type: boolean
                        additionalProperties: false
                    additionalProperties: false
                required:
                  - permissions
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update organization-level page permissions
      tags:
        - Pages
      description: This route allows you to update organization-level page permissions, such as who can create private pages.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                create:
                  type: object
                  properties:
                    users:
                      type: array
                      items:
                        type: string
                    roles:
                      type: array
                      items:
                        type: string
                    teams:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
              additionalProperties: false
      security:
        - bearer:
            - update:organization
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  permissions:
                    type: object
                    properties:
                      create:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                          roles:
                            type: array
                            items:
                              type: string
                          teams:
                            type: array
                            items:
                              type: string
                          ownedByTeam:
                            type: boolean
                        additionalProperties: false
                    additionalProperties: false
                required:
                  - permissions
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/pages/{page_identifier}/permissions:
    get:
      summary: Get a page's permissions
      tags:
        - Pages
      description: This route allows you to get a specific page's permissions.<br/><br/>To learn more about pages, check out the [documentation](https://docs.port.io/interface-builder/port-interface/page/page-permissions).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: page_identifier
          required: true
      security:
        - bearer: []
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  permissions:
                    type: object
                    properties:
                      read:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                          roles:
                            type: array
                            items:
                              type: string
                          teams:
                            type: array
                            items:
                              type: string
                        additionalProperties: false
                      update:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                          roles:
                            type: array
                            items:
                              type: string
                          teams:
                            type: array
                            items:
                              type: string
                        additionalProperties: false
                    additionalProperties: false
                required:
                  - permissions
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update a page's permissions
      tags:
        - Pages
      description: This route allows you to update a specific page’s permissions. <br/><br/>To learn more about pages, check out the [documentation](https://docs.port.io/interface-builder/port-interface/page/page-permissions).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                read:
                  type: object
                  properties:
                    users:
                      type: array
                      items:
                        type: string
                    roles:
                      type: array
                      items:
                        type: string
                    teams:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
                update:
                  type: object
                  properties:
                    users:
                      type: array
                      items:
                        type: string
                    roles:
                      type: array
                      items:
                        type: string
                    teams:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
              additionalProperties: false
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: page_identifier
          required: true
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  permissions:
                    type: object
                    properties:
                      read:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                          roles:
                            type: array
                            items:
                              type: string
                          teams:
                            type: array
                            items:
                              type: string
                        additionalProperties: false
                      update:
                        type: object
                        properties:
                          users:
                            type: array
                            items:
                              type: string
                          roles:
                            type: array
                            items:
                              type: string
                          teams:
                            type: array
                            items:
                              type: string
                        additionalProperties: false
                    additionalProperties: false
                required:
                  - permissions
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/auth/access_token:
    post:
      summary: Create an access token
      tags:
        - Authentication / Authorization
      description: This route allows you to create an access token for your Port account. You can use this token to authenticate your requests to the Port API.<br/><br/>To obtain your client ID and client secret, go to your [Port application](https://app.port.io), click on the `...` button in the top right corner, then click `Credentials`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                clientId:
                  type: string
                  description: Your Port client ID
                clientSecret:
                  type: string
                  description: Your Port client secret
              additionalProperties: false
              required:
                - clientId
                - clientSecret
        required: true
      responses:
        '200':
          description: Authorized successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  accessToken:
                    type: string
                  expiresIn:
                    type: number
                    description: The number of seconds until the access token expires
                  tokenType:
                    type: string
                additionalProperties: false
                required:
                  - accessToken
                  - expiresIn
                  - tokenType
                description: Authorized successfully
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
      security:
        - bearer: []
  /v1/blueprints/{blueprint_identifier}/entities:
    post:
      summary: Create an entity
      tags:
        - Entities
      description: This route allows you to create an entity in your software catalog based on an existing blueprint in your data model. It can also be used to overwrite or update an existing entity.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  oneOf:
                    - type:
                        - string
                      pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                      maxLength: 1000
                      title: String identifier
                      description: The identifier of the entity.
                    - $ref: '#/components/schemas/def-5'
                      title: Search query
                title:
                  type: string
                  description: The title of the entity.
                icon:
                  type: string
                  description: The icon of the entity.
                team:
                  oneOf:
                    - title: Team (Single)
                      type: string
                      description: The Port team/s to which the entity will belong.
                    - title: Teams (Multiple)
                      type: array
                      items:
                        type: string
                      description: The Port team/s to which the entity will belong.
                    - title: Additional query
                      $ref: '#/components/schemas/def-6'
                properties:
                  type: object
                  default: {}
                  description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                relations:
                  type: object
                  description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                  additionalProperties:
                    anyOf:
                      - type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                        maxLength: 1000
                        title: string
                      - type: array
                        items:
                          type: string
                          pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                        title: array
                      - type: 'null'
                        title: 'null'
                      - $ref: '#/components/schemas/def-6'
              additionalProperties: true
              example:
                identifier: new-microservice
                title: MyNewMicroservice
                icon: Microservice
                team: []
                properties:
                  content: my content
                relations: {}
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: upsert
          required: true
          description: If `true`, this call will override the entire entity/ies, if it/they already exist/s.
        - schema:
            type: boolean
            default: false
          in: query
          name: validation_only
          required: false
          description: If `true`, this call will only validate the entity/ies and return the validation errors.
        - schema:
            type: boolean
            default: false
          in: query
          name: create_missing_related_entities
          required: false
          description: If `true`, this call will also create missing related entities.<br/>This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
        - schema:
            type: boolean
            default: false
          in: query
          name: merge
          required: false
          description: If `true` and `upsert` is also `true`, this call will update the entity/ies, if it/they already exist/s.
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: You can provide a `run_id` to associate the created entities with a specific [action run](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/#tying-entities-to-an-action-run).
        - schema:
            type: string
          in: query
          name: ocean_info_resync_id
          required: false
          description: Resync run identifier. Only valid when `ocean_info_event_type` is `resync`.
        - schema:
            type: string
          in: query
          name: ocean_info_event_type
          required: false
          description: How the operation was triggered.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '201':
          description: Created successfully.
          content:
            application/json:
              schema:
                description: Created successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  entity:
                    type: object
                    properties:
                      identifier:
                        oneOf:
                          - type:
                              - string
                            pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                            maxLength: 1000
                            title: String identifier
                            description: The identifier of the entity.
                          - $ref: '#/components/schemas/def-5'
                            title: Search query
                      title:
                        type: string
                        description: The title of the entity.
                      icon:
                        type: string
                        description: The icon of the entity.
                      team:
                        oneOf:
                          - title: Team (Single)
                            type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Teams (Multiple)
                            type: array
                            items:
                              type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Additional query
                            $ref: '#/components/schemas/def-6'
                      properties:
                        type: object
                        default: {}
                        description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                      relations:
                        type: object
                        description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                        additionalProperties:
                          anyOf:
                            - type: string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: string
                            - type: array
                              items:
                                type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              title: array
                            - type: 'null'
                              title: 'null'
                            - $ref: '#/components/schemas/def-6'
                    additionalProperties: false
                required:
                  - entity
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get all entities of a blueprint
      tags:
        - Entities
      description: This route allows you to fetch all entities in your software catalog based on a given blueprint.<br/><br/>**Not recommended for large datasets:** This endpoint does not support pagination and may fail or return errors when a blueprint contains a large number of entities. For large datasets, use the [Search a blueprint's entities](https://docs.port.io/api-reference/search-a-blueprints-entities) endpoint instead, which supports pagination via the `limit` and `from` body parameters.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: exclude_calculated_properties
          required: false
          description: If `true`, [calculated properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) will be excluded from the entities.
        - schema:
            type: array
            items:
              type: string
          in: query
          name: include
          required: false
          description: 'An array of values from the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure). Only these values will be returned in the response.<br/>For example: `{ "properties.propertyIdentifier","identifier"}`.'
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
          in: query
          name: exclude
          required: false
          description: 'An array of values from the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) to be ommitted from the response.<br/>For example: `{ "properties.propertyIdentifier","identifier"}`'
          style: form
          explode: true
        - schema:
            type: boolean
            default: false
          in: query
          name: attach_title_to_relation
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: attach_identifier_to_title_mirror_properties
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: allow_partial_results
          required: false
          description: When enabled allows some of the blueprint searches to fail without failing the full request.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  entities:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          oneOf:
                            - type:
                                - string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: String identifier
                              description: The identifier of the entity.
                            - $ref: '#/components/schemas/def-5'
                              title: Search query
                        title:
                          type: string
                          description: The title of the entity.
                        icon:
                          type: string
                          description: The icon of the entity.
                        team:
                          oneOf:
                            - title: Team (Single)
                              type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Teams (Multiple)
                              type: array
                              items:
                                type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Additional query
                              $ref: '#/components/schemas/def-6'
                        properties:
                          type: object
                          default: {}
                          description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                        relations:
                          type: object
                          description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                          additionalProperties:
                            anyOf:
                              - type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                maxLength: 1000
                                title: string
                              - type: array
                                items:
                                  type: string
                                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                title: array
                              - type: 'null'
                                title: 'null'
                              - $ref: '#/components/schemas/def-6'
                      additionalProperties: false
                required:
                  - entities
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/blueprints/{blueprint_identifier}/entities/bulk:
    post:
      summary: Create multiple entities
      tags:
        - Entities
      description: This route allows you to create multiple entities (No more than 20 entities per request) in your software catalog based on an existing blueprint in your data model. It can also be used to overwrite or update existing entities.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).<br/><br/> **Note:** A failure response does not necessarily mean that all entities failed. A `207 Multi-Status` response indicates that some entities were successfully created while others failed.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entities:
                  type: array
                  items:
                    type: object
                    properties:
                      identifier:
                        oneOf:
                          - type:
                              - string
                            pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                            maxLength: 1000
                            title: String identifier
                            description: The identifier of the entity.
                          - $ref: '#/components/schemas/def-5'
                            title: Search query
                      title:
                        type: string
                        description: The title of the entity.
                      icon:
                        type: string
                        description: The icon of the entity.
                      team:
                        oneOf:
                          - title: Team (Single)
                            type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Teams (Multiple)
                            type: array
                            items:
                              type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Additional query
                            $ref: '#/components/schemas/def-6'
                      properties:
                        type: object
                        default: {}
                        description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                      relations:
                        type: object
                        description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                        additionalProperties:
                          anyOf:
                            - type: string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: string
                            - type: array
                              items:
                                type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              title: array
                            - type: 'null'
                              title: 'null'
                            - $ref: '#/components/schemas/def-6'
                    additionalProperties: true
                  description: Array of entities to create
                  minItems: 1
                  maxItems: 50
              required:
                - entities
              additionalProperties: false
        required: true
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: upsert
          required: true
          description: If `true`, this call will override the entire entity/ies, if it/they already exist/s.
        - schema:
            type: boolean
            default: false
          in: query
          name: validation_only
          required: false
          description: If `true`, this call will only validate the entity/ies and return the validation errors.
        - schema:
            type: boolean
            default: false
          in: query
          name: create_missing_related_entities
          required: false
          description: If `true`, this call will also create missing related entities.<br/>This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
        - schema:
            type: boolean
            default: false
          in: query
          name: merge
          required: false
          description: If `true` and `upsert` is also `true`, this call will update the entity/ies, if it/they already exist/s.
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: You can provide a `run_id` to associate the created entities with a specific [action run](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/#tying-entities-to-an-action-run).
        - schema:
            type: string
          in: query
          name: ocean_info_resync_id
          required: false
          description: Resync run identifier. Only valid when `ocean_info_event_type` is `resync`.
        - schema:
            type: string
          in: query
          name: ocean_info_event_type
          required: false
          description: How the operation was triggered.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Created successfully.
          content:
            application/json:
              schema:
                description: Created successfully.
                type: object
                properties:
                  ok:
                    type: boolean
                  maxBulkSize:
                    type: number
                  entities:
                    type: array
                    items:
                      type: object
                      properties:
                        created:
                          type: boolean
                        updated:
                          type: boolean
                        identifier:
                          type: string
                        index:
                          type: number
                        additionalData:
                          type: object
                          additionalProperties: true
                      required:
                        - created
                        - updated
                        - identifier
                        - index
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                        index:
                          type: number
                        statusCode:
                          type: number
                        error:
                          type: string
                        message:
                          type: string
                      required:
                        - identifier
                        - index
                        - statusCode
                        - error
                        - message
                    description: Failed entities with error details
                required:
                  - ok
                  - entities
                  - errors
                  - ok
                additionalProperties: false
        '207':
          description: Partially created successfully. Some entities were created while others failed.
          content:
            application/json:
              schema:
                description: Partially created successfully. Some entities were created while others failed.
                type: object
                properties:
                  ok:
                    type: boolean
                  maxBulkSize:
                    type: number
                  entities:
                    type: array
                    items:
                      type: object
                      properties:
                        created:
                          type: boolean
                        updated:
                          type: boolean
                        identifier:
                          type: string
                        index:
                          type: number
                        additionalData:
                          type: object
                          additionalProperties: true
                      required:
                        - created
                        - updated
                        - identifier
                        - index
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                        index:
                          type: number
                        statusCode:
                          type: number
                        error:
                          type: string
                        message:
                          type: string
                      required:
                        - identifier
                        - index
                        - statusCode
                        - error
                        - message
                    description: Failed entities with error details
                required:
                  - ok
                  - entities
                  - errors
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/entities/{entity_identifier}:
    patch:
      summary: Update an entity
      tags:
        - Entities
      description: This route allows you to edit a specific entity in your software catalog and update its properties.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type:
                    - string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                  maxLength: 1000
                  description: The identifier of the entity.
                title:
                  type:
                    - string
                    - 'null'
                  description: The title of the entity.
                icon:
                  type:
                    - string
                    - 'null'
                  description: The icon of the entity.
                team:
                  oneOf:
                    - type:
                        - string
                        - 'null'
                    - type: array
                      items:
                        type: string
                    - $ref: '#/components/schemas/def-6'
                  description: The Port team/s to which the entity will belong.
                properties:
                  type: object
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                  description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                relations:
                  type: object
                  description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                  additionalProperties:
                    anyOf:
                      - type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                        maxLength: 1000
                      - type: array
                        items:
                          type: string
                          pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                      - type: 'null'
                      - $ref: '#/components/schemas/def-6'
              additionalProperties: false
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: create_missing_related_entities
          required: false
          description: If `true`, this call will also create missing related entities.<br/>This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: You can provide a `run_id` to associate the created entities with a specific [action run](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/#tying-entities-to-an-action-run).
        - schema:
            type: string
          in: query
          name: ocean_info_resync_id
          required: false
          description: Resync run identifier. Only valid when `ocean_info_event_type` is `resync`.
        - schema:
            type: string
          in: query
          name: ocean_info_event_type
          required: false
          description: How the operation was triggered.
        - schema:
            type: string
            minLength: 1
          in: path
          name: entity_identifier
          required: true
          description: The identifier of the entity to operate on.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  entity:
                    type: object
                    properties:
                      identifier:
                        oneOf:
                          - type:
                              - string
                            pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                            maxLength: 1000
                            title: String identifier
                            description: The identifier of the entity.
                          - $ref: '#/components/schemas/def-5'
                            title: Search query
                      title:
                        type: string
                        description: The title of the entity.
                      icon:
                        type: string
                        description: The icon of the entity.
                      team:
                        oneOf:
                          - title: Team (Single)
                            type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Teams (Multiple)
                            type: array
                            items:
                              type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Additional query
                            $ref: '#/components/schemas/def-6'
                      properties:
                        type: object
                        default: {}
                        description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                      relations:
                        type: object
                        description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                        additionalProperties:
                          anyOf:
                            - type: string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: string
                            - type: array
                              items:
                                type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              title: array
                            - type: 'null'
                              title: 'null'
                            - $ref: '#/components/schemas/def-6'
                    additionalProperties: false
                required:
                  - entity
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    put:
      summary: Change an entity
      tags:
        - Entities
      description: This route allows you to edit a specific entity in your software catalog and update its properties.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type:
                    - string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                  maxLength: 1000
                  description: The identifier of the entity.
                title:
                  type: string
                  description: The title of the entity.
                icon:
                  type: string
                  description: The icon of the entity.
                team:
                  oneOf:
                    - title: Team (Single)
                      type: string
                      description: The Port team/s to which the entity will belong.
                    - title: Teams (Multiple)
                      type: array
                      items:
                        type: string
                      description: The Port team/s to which the entity will belong.
                    - title: Additional query
                      $ref: '#/components/schemas/def-6'
                  description: The Port team/s to which the entity will belong.
                properties:
                  type: object
                  default: {}
                  description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                relations:
                  type: object
                  description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                  additionalProperties:
                    anyOf:
                      - type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                        maxLength: 1000
                      - type: array
                        items:
                          type: string
                          pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                      - type: 'null'
                      - $ref: '#/components/schemas/def-6'
              additionalProperties: true
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: create_missing_related_entities
          required: false
          description: If `true`, this call will also create missing related entities.<br/>This is useful when you want to create an entity and its related entities in one call, or if you want to create an entity whose related entity does not exist yet.
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: You can provide a `run_id` to associate the created entities with a specific [action run](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/#tying-entities-to-an-action-run).
        - schema:
            type: string
          in: query
          name: ocean_info_resync_id
          required: false
          description: Resync run identifier. Only valid when `ocean_info_event_type` is `resync`.
        - schema:
            type: string
          in: query
          name: ocean_info_event_type
          required: false
          description: How the operation was triggered.
        - schema:
            type: string
            minLength: 1
          in: path
          name: entity_identifier
          required: true
          description: The identifier of the entity to operate on.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  entity:
                    type: object
                    properties:
                      identifier:
                        oneOf:
                          - type:
                              - string
                            pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                            maxLength: 1000
                            title: String identifier
                            description: The identifier of the entity.
                          - $ref: '#/components/schemas/def-5'
                            title: Search query
                      title:
                        type: string
                        description: The title of the entity.
                      icon:
                        type: string
                        description: The icon of the entity.
                      team:
                        oneOf:
                          - title: Team (Single)
                            type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Teams (Multiple)
                            type: array
                            items:
                              type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Additional query
                            $ref: '#/components/schemas/def-6'
                      properties:
                        type: object
                        default: {}
                        description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                      relations:
                        type: object
                        description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                        additionalProperties:
                          anyOf:
                            - type: string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: string
                            - type: array
                              items:
                                type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              title: array
                            - type: 'null'
                              title: 'null'
                            - $ref: '#/components/schemas/def-6'
                    additionalProperties: false
                required:
                  - entity
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get an entity
      tags:
        - Entities
      description: This route allows you to fetch a specific entity in your software catalog.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: exclude_calculated_properties
          required: false
          description: If `true`, [calculated properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) will be excluded from the entities.
        - schema:
            type: array
            items:
              type: string
          in: query
          name: include
          required: false
          description: 'An array of values from the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure). Only these values will be returned in the response.<br/>For example: `{ "properties.propertyIdentifier","identifier"}`.'
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
          in: query
          name: exclude
          required: false
          description: 'An array of values from the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) to be ommitted from the response.<br/>For example: `{ "properties.propertyIdentifier","identifier"}`'
          style: form
          explode: true
        - schema:
            type: boolean
            default: false
          in: query
          name: attach_title_to_relation
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: attach_identifier_to_title_mirror_properties
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: allow_partial_results
          required: false
          description: When enabled allows some of the blueprint searches to fail without failing the full request.
        - schema:
            type: string
            minLength: 1
          in: path
          name: entity_identifier
          required: true
          description: The identifier of the entity to operate on.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  entity:
                    type: object
                    properties:
                      identifier:
                        oneOf:
                          - type:
                              - string
                            pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                            maxLength: 1000
                            title: String identifier
                            description: The identifier of the entity.
                          - $ref: '#/components/schemas/def-5'
                            title: Search query
                      title:
                        type: string
                        description: The title of the entity.
                      icon:
                        type: string
                        description: The icon of the entity.
                      team:
                        oneOf:
                          - title: Team (Single)
                            type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Teams (Multiple)
                            type: array
                            items:
                              type: string
                            description: The Port team/s to which the entity will belong.
                          - title: Additional query
                            $ref: '#/components/schemas/def-6'
                      properties:
                        type: object
                        default: {}
                        description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                      relations:
                        type: object
                        description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                        additionalProperties:
                          anyOf:
                            - type: string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: string
                            - type: array
                              items:
                                type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              title: array
                            - type: 'null'
                              title: 'null'
                            - $ref: '#/components/schemas/def-6'
                    additionalProperties: false
                required:
                  - entity
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    delete:
      summary: Delete an entity
      tags:
        - Entities
      description: This route allows you to delete a specific entity in your software catalog.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: delete_dependents
          required: true
          description: If `true`, this call will also delete all entities with a relation to the deleted entity.
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: You can provide a `run_id` to associate the created entities with a specific [action run](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/#tying-entities-to-an-action-run).
        - schema:
            type: string
          in: query
          name: ocean_info_resync_id
          required: false
          description: Resync run identifier. Only valid when `ocean_info_event_type` is `resync`.
        - schema:
            type: string
          in: query
          name: ocean_info_event_type
          required: false
          description: How the operation was triggered.
        - schema:
            type: string
            minLength: 1
          in: path
          name: entity_identifier
          required: true
          description: The identifier of the entity to operate on.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Entities deleted successfully
          content:
            application/json:
              schema:
                description: Entities deleted successfully
                properties:
                  ok:
                    enum:
                      - true
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/entities-count:
    get:
      summary: Get a blueprint's entity count
      tags:
        - Entities
      description: This route allows you to count the number of entities in a specific blueprint in your software catalog.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                properties:
                  ok:
                    enum:
                      - true
                  count:
                    type: number
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/blueprints/{blueprint_identifier}/all-entities:
    delete:
      summary: Delete all entities of a blueprint
      tags:
        - Entities
      description: This route allows you to delete all entities of a specific blueprint in your software catalog.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      parameters:
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: You can provide a `run_id` to associate the deleted entities with a specific [action run](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/#tying-entities-to-an-action-run).
        - schema:
            type: string
          in: query
          name: ocean_info_resync_id
          required: false
          description: Resync run identifier. Only valid when `ocean_info_event_type` is `resync`.
        - schema:
            type: string
          in: query
          name: ocean_info_event_type
          required: false
          description: How the operation was triggered.
        - schema:
            type: boolean
          in: query
          name: delete_blueprint
          required: false
          description: If `true`, this call will also delete the blueprint itself.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Entities deleted successfully
          content:
            application/json:
              schema:
                description: Entities deleted successfully
                properties:
                  ok:
                    enum:
                      - true
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/bulk/entities/delete:
    post:
      summary: Delete multiple entities
      tags:
        - Entities
      description: This route allows you to delete multiple entities (up to 100 entities per request) from a specific blueprint in your software catalog. All entities must belong to the same blueprint.<br/><br/>If any entity has dependent entities and delete_dependents is false, the entire operation will fail and no entities will be deleted.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entities:
                  type: array
                  items:
                    type: string
                  description: Array of entity identifiers to delete
                  minItems: 1
                  maxItems: 100
              required:
                - entities
              additionalProperties: false
        required: true
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: delete_dependents
          required: true
          description: If `true`, this call will also delete all entities with a relation to the deleted entity.
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: You can provide a `run_id` to associate the created entities with a specific [action run](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/#tying-entities-to-an-action-run).
        - schema:
            type: string
          in: query
          name: ocean_info_resync_id
          required: false
          description: Resync run identifier. Only valid when `ocean_info_event_type` is `resync`.
        - schema:
            type: string
          in: query
          name: ocean_info_event_type
          required: false
          description: How the operation was triggered.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Entities deleted successfully.
          content:
            application/json:
              schema:
                description: Entities deleted successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  deletedEntities:
                    type: array
                    items:
                      type: string
                    description: Array of deleted entity IDs
                  maxBulkSize:
                    type: number
                required:
                  - deletedEntities
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/entities/search:
    post:
      summary: Search entities
      tags:
        - Entities
      description: This route allows you to search for entities in your software catalog based on a given set of rules.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).<br/><br/>For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                combinator:
                  enum:
                    - and
                    - or
                  description: The combinator to use for the rules.
                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
                            title: Expired Rule
                            properties:
                              operator:
                                enum:
                                  - isExpired
                                  - isNotExpired
                              property:
                                type: string
                            required:
                              - operator
                              - property
                            additionalProperties: false
                      - type: object
                        title: String Rule
                        oneOf:
                          - type: object
                            title: String Rule
                            properties:
                              property:
                                oneOf:
                                  - type: string
                                  - type: object
                                    properties:
                                      property:
                                        type: string
                                      context:
                                        type: string
                                        enum:
                                          - user
                                          - userTeams
                                    required:
                                      - property
                                      - context
                              operator:
                                enum:
                                  - '='
                                  - '!='
                                  - containsAny
                                  - contains
                                  - doesNotContains
                                  - beginsWith
                                  - doesNotBeginsWith
                                  - endsWith
                                  - doesNotEndsWith
                                  - in
                                  - notIn
                              value:
                                anyOf:
                                  - type: 'null'
                                    title: 'null'
                                  - type: string
                                    title: string
                                  - type: number
                                    title: number
                                  - type: boolean
                                    title: boolean
                                  - type: string
                                    format: date-time
                                    title: date-time
                                  - type: array
                                    items:
                                      type: string
                                    title: array
                                  - type: array
                                    items:
                                      type: number
                                    title: array
                                  - type: array
                                    items:
                                      type: boolean
                                    title: array
                                  - type: array
                                    items:
                                      type: string
                                      format: date-time
                                    title: array
                                  - type: object
                                    properties:
                                      property:
                                        type: string
                                      context:
                                        type: string
                                        enum:
                                          - user
                                          - userTeams
                                    required:
                                      - property
                                      - context
                            additionalProperties: false
                            required:
                              - property
                              - operator
                              - value
                      - type: object
                        title: Relation Rule
                        properties:
                          operator:
                            enum:
                              - relatedTo
                          blueprint:
                            type: string
                          value:
                            anyOf:
                              - type: string
                                title: string
                              - type: array
                                items:
                                  type: string
                                title: array
                          direction:
                            enum:
                              - upstream
                              - downstream
                          required:
                            type: boolean
                        additionalProperties: false
                        required:
                          - operator
                          - value
                          - blueprint
                      - type: object
                        title: Property schema rule
                        properties:
                          propertySchema:
                            type: object
                            properties:
                              type:
                                type: string
                              format:
                                type: string
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                  format:
                                    type: string
                                required:
                                  - type
                            required:
                              - type
                            additionalProperties: false
                          operator:
                            enum:
                              - '='
                              - '!='
                              - contains
                          value:
                            anyOf:
                              - type: 'null'
                                title: 'null'
                              - type: string
                                title: string
                              - type: number
                                title: number
                              - type: boolean
                                title: boolean
                        required:
                          - operator
                          - propertySchema
                        additionalProperties: false
                      - type: object
                        title: matchAny Rule
                        anyOf:
                          - type: object
                            properties:
                              property:
                                oneOf:
                                  - type: object
                                    properties:
                                      path:
                                        type: array
                                        minItems: 1
                                        items:
                                          anyOf:
                                            - type: string
                                            - type: object
                                              properties:
                                                relation:
                                                  type: string
                                                maxHops:
                                                  type: number
                                                  minimum: 1
                                                  maximum: 15
                                      fromBlueprint:
                                        type: string
                                    required:
                                      - path
                                    additionalProperties: false
                                  - oneOf:
                                      - type: string
                                      - type: object
                                        properties:
                                          property:
                                            type: string
                                          context:
                                            type: string
                                            enum:
                                              - user
                                              - userTeams
                                        required:
                                          - property
                                          - context
                              operator:
                                type: string
                                enum:
                                  - matchAny
                              value:
                                anyOf:
                                  - type: array
                                    items:
                                      type: string
                                  - oneOf:
                                      - type: string
                                      - type: object
                                        properties:
                                          property:
                                            type: string
                                          context:
                                            type: string
                                            enum:
                                              - user
                                              - userTeams
                                        required:
                                          - property
                                          - context
                            required:
                              - property
                              - operator
                              - value
                            additionalProperties: false
                      - $ref: '#/components/schemas/def-1'
              required:
                - combinator
                - rules
              additionalProperties: false
              example:
                combinator: and
                rules:
                  - property: $blueprint
                    operator: '='
                    value: service
                  - combinator: or
                    rules:
                      - property: environment
                        operator: '='
                        value: production
                      - property: environment
                        operator: '='
                        value: staging
        required: true
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: exclude_calculated_properties
          required: false
          description: If `true`, [calculated properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) will be excluded from the entities.
        - schema:
            type: array
            items:
              type: string
          in: query
          name: include
          required: false
          description: 'An array of values from the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure). Only these values will be returned in the response.<br/>For example: `{ "properties.propertyIdentifier","identifier"}`.'
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
          in: query
          name: exclude
          required: false
          description: 'An array of values from the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) to be ommitted from the response.<br/>For example: `{ "properties.propertyIdentifier","identifier"}`'
          style: form
          explode: true
        - schema:
            type: boolean
            default: false
          in: query
          name: attach_title_to_relation
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: attach_identifier_to_title_mirror_properties
          required: false
        - schema:
            type: boolean
            default: false
          in: query
          name: allow_partial_results
          required: false
          description: When enabled allows some of the blueprint searches to fail without failing the full request.
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully (this response can be compressed).
          content:
            application/json:
              schema:
                description: Retrieved successfully (this response can be compressed).
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  matchingBlueprints:
                    type: array
                    items:
                      type: string
                  failedBlueprints:
                    type: array
                    items:
                      type: string
                  entities:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          oneOf:
                            - type:
                                - string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: String identifier
                              description: The identifier of the entity.
                            - $ref: '#/components/schemas/def-5'
                              title: Search query
                        title:
                          type: string
                          description: The title of the entity.
                        icon:
                          type: string
                          description: The icon of the entity.
                        team:
                          oneOf:
                            - title: Team (Single)
                              type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Teams (Multiple)
                              type: array
                              items:
                                type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Additional query
                              $ref: '#/components/schemas/def-6'
                        properties:
                          type: object
                          default: {}
                          description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                        relations:
                          type: object
                          description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                          additionalProperties:
                            anyOf:
                              - type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                maxLength: 1000
                                title: string
                              - type: array
                                items:
                                  type: string
                                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                title: array
                              - type: 'null'
                                title: 'null'
                              - $ref: '#/components/schemas/def-6'
                      additionalProperties: false
                required:
                  - entities
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/entities/search:
    post:
      summary: Search a blueprint's entities
      tags:
        - Entities
      description: This route allows you to search your software catalog for a specific blueprint's entities, based on a given set of rules.<br/>The returned entities are paginated for improved performance.<br/><br/>To learn more about entities, check out the [entity documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).<br/><br/>For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  $ref: '#/components/schemas/def-7'
                  description: A [search query](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview) used to filter the returned entities.
                include:
                  type: array
                  items:
                    type: string
                  description: An array of [properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview) and/or [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) to include in the search, using their identifiers.<br/>Note that for [meta-properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/meta-properties) (e.g. `$createdAt`, `$updatedAt`), the `$` prefix must be used.
                exclude:
                  type: array
                  items:
                    type: string
                  description: An array of [properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview) and/or [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) to exclude from the search, using their identifiers.<br/>Note that for [meta-properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/meta-properties) (e.g. `$createdAt`, `$updatedAt`), the `$` prefix must be used.
                limit:
                  type: number
                  minimum: 1
                  maximum: 1000
                  default: 200
                  description: The maximum number of entities to return.
                from:
                  type: string
                  description: A string hash of the `next` value that was returned in the previous response. This is used to paginate through the results.
              additionalProperties: false
              example:
                query:
                  combinator: and
                  rules:
                    - property: $blueprint
                      operator: '='
                      value: service
                    - combinator: or
                      rules:
                        - property: environment
                          operator: '='
                          value: production
                        - property: environment
                          operator: '='
                          value: staging
                include:
                  - $identifier
                  - $title
                  - $createdAt
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint whose entities you want to search.
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully (this response can be compressed).
          content:
            application/json:
              schema:
                description: Retrieved successfully (this response can be compressed).
                type: object
                properties:
                  ok:
                    type: boolean
                  next:
                    type: string
                    description: A string hash of the next page of results. This is used to paginate through the results.
                  entities:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          oneOf:
                            - type:
                                - string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: String identifier
                              description: The identifier of the entity.
                            - $ref: '#/components/schemas/def-5'
                              title: Search query
                        title:
                          type: string
                          description: The title of the entity.
                        icon:
                          type: string
                          description: The icon of the entity.
                        team:
                          oneOf:
                            - title: Team (Single)
                              type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Teams (Multiple)
                              type: array
                              items:
                                type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Additional query
                              $ref: '#/components/schemas/def-6'
                        properties:
                          type: object
                          default: {}
                          description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                        relations:
                          type: object
                          description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                          additionalProperties:
                            anyOf:
                              - type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                maxLength: 1000
                                title: string
                              - type: array
                                items:
                                  type: string
                                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                title: array
                              - type: 'null'
                                title: 'null'
                              - $ref: '#/components/schemas/def-6'
                      additionalProperties: false
                    description: The entities that match the search query.
                required:
                  - entities
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/entities/search/count:
    post:
      summary: Count a blueprint's entities matching a search query
      tags:
        - Entities
      description: This route allows you to count your software catalog's entities for a specific blueprint, based on a given set of rules.<br/>Pass an empty body (or omit `query`) to count all entities visible to the caller.<br/><br/>To learn more about entities, check out the [entity documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).<br/><br/>For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  $ref: '#/components/schemas/def-7'
                  description: A [search query](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview) used to filter the entities to count.
              additionalProperties: false
              example:
                query:
                  combinator: and
                  rules:
                    - property: $blueprint
                      operator: '='
                      value: service
                    - property: environment
                      operator: '='
                      value: production
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint whose entities you want to search.
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                properties:
                  ok:
                    enum:
                      - true
                  count:
                    type: number
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/entities/aggregate:
    post:
      summary: Aggregate entities
      tags:
        - Entities
      description: This route allows you to perform an aggregation function on a blueprint's entities based on a given set of rules.<br/><br/>To learn more about entities, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).<br/><br/>For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              oneOf:
                - type: object
                  title: Count entities
                  properties:
                    func:
                      type: string
                      enum:
                        - average
                        - count
                    averageOf:
                      type: string
                      enum:
                        - hour
                        - day
                        - week
                        - month
                        - total
                    measureTimeBy:
                      type: string
                      description: A property of type `datetime`, by which the average will be calculated. Relevant only for the `average` function.
                    calculationBy:
                      type: string
                    query:
                      $ref: '#/components/schemas/def-1'
                      description: A [search query](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview) used to filter the entities before the aggregation is calculated.
                  additionalProperties: false
                  required:
                    - func
                    - query
                - type: object
                  title: Aggregate by property
                  properties:
                    property:
                      type: string
                      description: A property of type `number`, by which the aggregation will be calculated.
                    func:
                      type: string
                      enum:
                        - sum
                        - average
                        - min
                        - max
                        - median
                    averageOf:
                      type: string
                      enum:
                        - hour
                        - day
                        - week
                        - month
                        - total
                    measureTimeBy:
                      type: string
                      description: A property of type `datetime`, by which the average will be calculated. Relevant only for the `average` function.
                    calculationBy:
                      type: string
                    query:
                      $ref: '#/components/schemas/def-1'
                      description: A [search query](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview) used to filter the entities before the aggregation is calculated.
                  additionalProperties: false
                  required:
                    - func
                    - property
                    - query
                - type: object
                  title: Count values
                  oneOf:
                    - type: object
                      title: Group by property
                      properties:
                        func:
                          enum:
                            - countValues
                        query:
                          $ref: '#/components/schemas/def-1'
                        property:
                          type: string
                      required:
                        - func
                        - query
                        - property
                      additionalProperties: false
                    - type: object
                      title: Group by relation
                      properties:
                        func:
                          enum:
                            - countValues
                        query:
                          $ref: '#/components/schemas/def-1'
                        relation:
                          type: string
                      required:
                        - func
                        - query
                        - relation
                      additionalProperties: false
                    - type: object
                      title: Group by scorecard
                      properties:
                        func:
                          enum:
                            - countValues
                        query:
                          $ref: '#/components/schemas/def-1'
                        scorecard:
                          type: string
                      required:
                        - func
                        - query
                        - scorecard
                      additionalProperties: false
                    - type: object
                      title: Group by scorecard rule
                      properties:
                        func:
                          enum:
                            - countValues
                        query:
                          $ref: '#/components/schemas/def-1'
                        rule:
                          type: string
                        scorecard:
                          type: string
                      required:
                        - func
                        - query
                        - rule
                        - scorecard
                      additionalProperties: false
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully (this response can be compressed).
          content:
            application/json:
              schema:
                description: Retrieved successfully (this response can be compressed).
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  matchingBlueprints:
                    type: array
                    items:
                      type: string
                  failedBlueprints:
                    type: array
                    items:
                      type: string
                  entities:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          oneOf:
                            - type:
                                - string
                              pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                              maxLength: 1000
                              title: String identifier
                              description: The identifier of the entity.
                            - $ref: '#/components/schemas/def-5'
                              title: Search query
                        title:
                          type: string
                          description: The title of the entity.
                        icon:
                          type: string
                          description: The icon of the entity.
                        team:
                          oneOf:
                            - title: Team (Single)
                              type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Teams (Multiple)
                              type: array
                              items:
                                type: string
                              description: The Port team/s to which the entity will belong.
                            - title: Additional query
                              $ref: '#/components/schemas/def-6'
                        properties:
                          type: object
                          default: {}
                          description: An object containing the properties of the entity, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                        relations:
                          type: object
                          description: An object containing the relations of the entity, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                          additionalProperties:
                            anyOf:
                              - type: string
                                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                maxLength: 1000
                                title: string
                              - type: array
                                items:
                                  type: string
                                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                                title: array
                              - type: 'null'
                                title: 'null'
                              - $ref: '#/components/schemas/def-6'
                      additionalProperties: false
                required:
                  - entities
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/entities/aggregate-over-time:
    post:
      summary: Aggregate entities over time
      tags:
        - Entities
      description: This route allows you to perform an aggregation function on a blueprint's entities over a given time range.<br/><br/>To learn more about entities, check out the [entity documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).<br/><br/>For more details about Port's search mechanism, rules, and operators - see the [search & query documentation](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - blueprint
                - timeRange
                - timeInterval
                - query
                - measureTimeBy
                - aggregationType
              oneOf:
                - title: Aggregate property
                  properties:
                    blueprint:
                      type: string
                      description: The blueprint whose entities you wish to aggregate.
                    timeRange:
                      type: object
                      properties:
                        preset:
                          type: string
                          enum:
                            - today
                            - yesterday
                            - lastDay
                            - lastWeek
                            - last2Weeks
                            - lastMonth
                            - last3Months
                            - last6Months
                            - last12Months
                            - last2Years
                            - last3Years
                            - specific
                        timeZone:
                          type: string
                      required:
                        - preset
                      additionalProperties: false
                    timeInterval:
                      type: string
                      enum:
                        - hour
                        - day
                        - isoWeek
                        - month
                        - quarter
                    query:
                      $ref: '#/components/schemas/def-1'
                      description: A [search query](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview) used to filter the entities before the aggregation is calculated.
                    measureTimeBy:
                      type: string
                      description: A property of type `datetime` by which the aggregation will be calculated.
                    specificTimeRange:
                      type: array
                      items:
                        type: number
                      minItems: 2
                      maxItems: 2
                      description: A specific time range [min,max] to aggregate over. If not provided, the time range will be used.
                    aggregationType:
                      enum:
                        - aggregatePropertiesValues
                    func:
                      type: string
                      enum:
                        - average
                        - sum
                        - min
                        - max
                        - median
                        - last
                    properties:
                      type: array
                      items:
                        type: string
                      description: A list of properties of type `number` on which the aggregation will be calculated.
                  required:
                    - func
                    - properties
                  additionalProperties: false
                  allOf:
                    - if:
                        type: object
                        properties:
                          timeRange:
                            type: object
                            properties:
                              preset:
                                enum:
                                  - last2Years
                                  - last3Years
                      then:
                        type: object
                        properties:
                          timeInterval:
                            enum:
                              - quarter
                    - if:
                        type: object
                        properties:
                          timeRange:
                            type: object
                            properties:
                              preset:
                                enum:
                                  - specific
                        required:
                          - timeRange
                      then:
                        type: object
                        properties:
                          specificTimeRange:
                            type: array
                            items:
                              type: number
                            minItems: 2
                            maxItems: 2
                            description: A specific time range [min,max] to aggregate over. If not provided, the time range will be used.
                        required:
                          - specificTimeRange
                - title: Count entities
                  properties:
                    blueprint:
                      type: string
                      description: The blueprint whose entities you wish to aggregate.
                    timeRange:
                      type: object
                      properties:
                        preset:
                          type: string
                          enum:
                            - today
                            - yesterday
                            - lastDay
                            - lastWeek
                            - last2Weeks
                            - lastMonth
                            - last3Months
                            - last6Months
                            - last12Months
                            - last2Years
                            - last3Years
                            - specific
                        timeZone:
                          type: string
                      required:
                        - preset
                      additionalProperties: false
                    timeInterval:
                      type: string
                      enum:
                        - hour
                        - day
                        - isoWeek
                        - month
                        - quarter
                    query:
                      $ref: '#/components/schemas/def-1'
                      description: A [search query](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/overview) used to filter the entities before the aggregation is calculated.
                    measureTimeBy:
                      type: string
                      description: A property of type `datetime` by which the aggregation will be calculated.
                    specificTimeRange:
                      type: array
                      items:
                        type: number
                      minItems: 2
                      maxItems: 2
                      description: A specific time range [min,max] to aggregate over. If not provided, the time range will be used.
                    aggregationType:
                      enum:
                        - countEntities
                    func:
                      type: string
                      enum:
                        - count
                        - average
                    breakdownProperty:
                      type: string
                      description: A blueprint's property by which you want to break down the data.
                  required:
                    - func
                  additionalProperties: false
                  allOf:
                    - if:
                        type: object
                        properties:
                          timeRange:
                            type: object
                            properties:
                              preset:
                                enum:
                                  - last2Years
                                  - last3Years
                      then:
                        type: object
                        properties:
                          timeInterval:
                            enum:
                              - quarter
                    - if:
                        type: object
                        properties:
                          timeRange:
                            type: object
                            properties:
                              preset:
                                enum:
                                  - specific
                        required:
                          - timeRange
                      then:
                        type: object
                        properties:
                          specificTimeRange:
                            type: array
                            items:
                              type: number
                            minItems: 2
                            maxItems: 2
                            description: A specific time range [min,max] to aggregate over. If not provided, the time range will be used.
                        required:
                          - specificTimeRange
        required: true
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  result:
                    type: object
                    properties:
                      minDate:
                        type: number
                      maxDate:
                        type: number
                      data:
                        type: array
                        items:
                          object:
                            type: object
                            properties:
                              date:
                                type: number
                            additionalProperties:
                              type: number
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/entities/properties-history:
    post:
      summary: Fetch the history of an entity's properties
      tags:
        - Entities
      description: This route allows you to retrieve historical values for a selected list of an entity's properties over a given time range.<br/><br/>To learn more about entities, check out the [entity documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#entities).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entityIdentifier:
                  type: string
                  description: The identifier of the entity you want to operate on.
                blueprintIdentifier:
                  type: string
                  description: The identifier of the blueprint you want to operate on.
                propertyNames:
                  type: array
                  items:
                    type: string
                  description: An array of property names to fetch historical records for.
                timeInterval:
                  type: string
                  enum:
                    - hour
                    - day
                    - isoWeek
                    - month
                    - quarter
                timeRange:
                  type: object
                  properties:
                    preset:
                      type: string
                      enum:
                        - today
                        - yesterday
                        - lastDay
                        - lastWeek
                        - last2Weeks
                        - lastMonth
                        - last3Months
                        - last6Months
                        - last12Months
                        - last2Years
                        - last3Years
                    timeZone:
                      type: string
                      enum:
                        - Africa/Abidjan
                        - Africa/Accra
                        - Africa/Addis_Ababa
                        - Africa/Algiers
                        - Africa/Asmera
                        - Africa/Bamako
                        - Africa/Bangui
                        - Africa/Banjul
                        - Africa/Bissau
                        - Africa/Blantyre
                        - Africa/Brazzaville
                        - Africa/Bujumbura
                        - Africa/Cairo
                        - Africa/Casablanca
                        - Africa/Ceuta
                        - Africa/Conakry
                        - Africa/Dakar
                        - Africa/Dar_es_Salaam
                        - Africa/Djibouti
                        - Africa/Douala
                        - Africa/El_Aaiun
                        - Africa/Freetown
                        - Africa/Gaborone
                        - Africa/Harare
                        - Africa/Johannesburg
                        - Africa/Juba
                        - Africa/Kampala
                        - Africa/Khartoum
                        - Africa/Kigali
                        - Africa/Kinshasa
                        - Africa/Lagos
                        - Africa/Libreville
                        - Africa/Lome
                        - Africa/Luanda
                        - Africa/Lubumbashi
                        - Africa/Lusaka
                        - Africa/Malabo
                        - Africa/Maputo
                        - Africa/Maseru
                        - Africa/Mbabane
                        - Africa/Mogadishu
                        - Africa/Monrovia
                        - Africa/Nairobi
                        - Africa/Ndjamena
                        - Africa/Niamey
                        - Africa/Nouakchott
                        - Africa/Ouagadougou
                        - Africa/Porto-Novo
                        - Africa/Sao_Tome
                        - Africa/Tripoli
                        - Africa/Tunis
                        - Africa/Windhoek
                        - America/Adak
                        - America/Anchorage
                        - America/Anguilla
                        - America/Antigua
                        - America/Araguaina
                        - America/Argentina/La_Rioja
                        - America/Argentina/Rio_Gallegos
                        - America/Argentina/Salta
                        - America/Argentina/San_Juan
                        - America/Argentina/San_Luis
                        - America/Argentina/Tucuman
                        - America/Argentina/Ushuaia
                        - America/Aruba
                        - America/Asuncion
                        - America/Bahia
                        - America/Bahia_Banderas
                        - America/Barbados
                        - America/Belem
                        - America/Belize
                        - America/Blanc-Sablon
                        - America/Boa_Vista
                        - America/Bogota
                        - America/Boise
                        - America/Buenos_Aires
                        - America/Cambridge_Bay
                        - America/Campo_Grande
                        - America/Cancun
                        - America/Caracas
                        - America/Catamarca
                        - America/Cayenne
                        - America/Cayman
                        - America/Chicago
                        - America/Chihuahua
                        - America/Ciudad_Juarez
                        - America/Coral_Harbour
                        - America/Cordoba
                        - America/Costa_Rica
                        - America/Coyhaique
                        - America/Creston
                        - America/Cuiaba
                        - America/Curacao
                        - America/Danmarkshavn
                        - America/Dawson
                        - America/Dawson_Creek
                        - America/Denver
                        - America/Detroit
                        - America/Dominica
                        - America/Edmonton
                        - America/Eirunepe
                        - America/El_Salvador
                        - America/Fort_Nelson
                        - America/Fortaleza
                        - America/Glace_Bay
                        - America/Godthab
                        - America/Goose_Bay
                        - America/Grand_Turk
                        - America/Grenada
                        - America/Guadeloupe
                        - America/Guatemala
                        - America/Guayaquil
                        - America/Guyana
                        - America/Halifax
                        - America/Havana
                        - America/Hermosillo
                        - America/Indiana/Knox
                        - America/Indiana/Marengo
                        - America/Indiana/Petersburg
                        - America/Indiana/Tell_City
                        - America/Indiana/Vevay
                        - America/Indiana/Vincennes
                        - America/Indiana/Winamac
                        - America/Indianapolis
                        - America/Inuvik
                        - America/Iqaluit
                        - America/Jamaica
                        - America/Jujuy
                        - America/Juneau
                        - America/Kentucky/Monticello
                        - America/Kralendijk
                        - America/La_Paz
                        - America/Lima
                        - America/Los_Angeles
                        - America/Louisville
                        - America/Lower_Princes
                        - America/Maceio
                        - America/Managua
                        - America/Manaus
                        - America/Marigot
                        - America/Martinique
                        - America/Matamoros
                        - America/Mazatlan
                        - America/Mendoza
                        - America/Menominee
                        - America/Merida
                        - America/Metlakatla
                        - America/Mexico_City
                        - America/Miquelon
                        - America/Moncton
                        - America/Monterrey
                        - America/Montevideo
                        - America/Montserrat
                        - America/Nassau
                        - America/New_York
                        - America/Nome
                        - America/Noronha
                        - America/North_Dakota/Beulah
                        - America/North_Dakota/Center
                        - America/North_Dakota/New_Salem
                        - America/Ojinaga
                        - America/Panama
                        - America/Paramaribo
                        - America/Phoenix
                        - America/Port-au-Prince
                        - America/Port_of_Spain
                        - America/Porto_Velho
                        - America/Puerto_Rico
                        - America/Punta_Arenas
                        - America/Rankin_Inlet
                        - America/Recife
                        - America/Regina
                        - America/Resolute
                        - America/Rio_Branco
                        - America/Santarem
                        - America/Santiago
                        - America/Santo_Domingo
                        - America/Sao_Paulo
                        - America/Scoresbysund
                        - America/Sitka
                        - America/St_Barthelemy
                        - America/St_Johns
                        - America/St_Kitts
                        - America/St_Lucia
                        - America/St_Thomas
                        - America/St_Vincent
                        - America/Swift_Current
                        - America/Tegucigalpa
                        - America/Thule
                        - America/Tijuana
                        - America/Toronto
                        - America/Tortola
                        - America/Vancouver
                        - America/Whitehorse
                        - America/Winnipeg
                        - America/Yakutat
                        - Antarctica/Casey
                        - Antarctica/Davis
                        - Antarctica/DumontDUrville
                        - Antarctica/Macquarie
                        - Antarctica/Mawson
                        - Antarctica/McMurdo
                        - Antarctica/Palmer
                        - Antarctica/Rothera
                        - Antarctica/Syowa
                        - Antarctica/Troll
                        - Antarctica/Vostok
                        - Arctic/Longyearbyen
                        - Asia/Aden
                        - Asia/Almaty
                        - Asia/Amman
                        - Asia/Anadyr
                        - Asia/Aqtau
                        - Asia/Aqtobe
                        - Asia/Ashgabat
                        - Asia/Atyrau
                        - Asia/Baghdad
                        - Asia/Bahrain
                        - Asia/Baku
                        - Asia/Bangkok
                        - Asia/Barnaul
                        - Asia/Beirut
                        - Asia/Bishkek
                        - Asia/Brunei
                        - Asia/Calcutta
                        - Asia/Chita
                        - Asia/Colombo
                        - Asia/Damascus
                        - Asia/Dhaka
                        - Asia/Dili
                        - Asia/Dubai
                        - Asia/Dushanbe
                        - Asia/Famagusta
                        - Asia/Gaza
                        - Asia/Hebron
                        - Asia/Hong_Kong
                        - Asia/Hovd
                        - Asia/Irkutsk
                        - Asia/Jakarta
                        - Asia/Jayapura
                        - Asia/Jerusalem
                        - Asia/Kabul
                        - Asia/Kamchatka
                        - Asia/Karachi
                        - Asia/Katmandu
                        - Asia/Khandyga
                        - Asia/Krasnoyarsk
                        - Asia/Kuala_Lumpur
                        - Asia/Kuching
                        - Asia/Kuwait
                        - Asia/Macau
                        - Asia/Magadan
                        - Asia/Makassar
                        - Asia/Manila
                        - Asia/Muscat
                        - Asia/Nicosia
                        - Asia/Novokuznetsk
                        - Asia/Novosibirsk
                        - Asia/Omsk
                        - Asia/Oral
                        - Asia/Phnom_Penh
                        - Asia/Pontianak
                        - Asia/Pyongyang
                        - Asia/Qatar
                        - Asia/Qostanay
                        - Asia/Qyzylorda
                        - Asia/Rangoon
                        - Asia/Riyadh
                        - Asia/Saigon
                        - Asia/Sakhalin
                        - Asia/Samarkand
                        - Asia/Seoul
                        - Asia/Shanghai
                        - Asia/Singapore
                        - Asia/Srednekolymsk
                        - Asia/Taipei
                        - Asia/Tashkent
                        - Asia/Tbilisi
                        - Asia/Tehran
                        - Asia/Thimphu
                        - Asia/Tokyo
                        - Asia/Tomsk
                        - Asia/Ulaanbaatar
                        - Asia/Urumqi
                        - Asia/Ust-Nera
                        - Asia/Vientiane
                        - Asia/Vladivostok
                        - Asia/Yakutsk
                        - Asia/Yekaterinburg
                        - Asia/Yerevan
                        - Atlantic/Azores
                        - Atlantic/Bermuda
                        - Atlantic/Canary
                        - Atlantic/Cape_Verde
                        - Atlantic/Faeroe
                        - Atlantic/Madeira
                        - Atlantic/Reykjavik
                        - Atlantic/South_Georgia
                        - Atlantic/St_Helena
                        - Atlantic/Stanley
                        - Australia/Adelaide
                        - Australia/Brisbane
                        - Australia/Broken_Hill
                        - Australia/Darwin
                        - Australia/Eucla
                        - Australia/Hobart
                        - Australia/Lindeman
                        - Australia/Lord_Howe
                        - Australia/Melbourne
                        - Australia/Perth
                        - Australia/Sydney
                        - Europe/Amsterdam
                        - Europe/Andorra
                        - Europe/Astrakhan
                        - Europe/Athens
                        - Europe/Belgrade
                        - Europe/Berlin
                        - Europe/Bratislava
                        - Europe/Brussels
                        - Europe/Bucharest
                        - Europe/Budapest
                        - Europe/Busingen
                        - Europe/Chisinau
                        - Europe/Copenhagen
                        - Europe/Dublin
                        - Europe/Gibraltar
                        - Europe/Guernsey
                        - Europe/Helsinki
                        - Europe/Isle_of_Man
                        - Europe/Istanbul
                        - Europe/Jersey
                        - Europe/Kaliningrad
                        - Europe/Kiev
                        - Europe/Kirov
                        - Europe/Lisbon
                        - Europe/Ljubljana
                        - Europe/London
                        - Europe/Luxembourg
                        - Europe/Madrid
                        - Europe/Malta
                        - Europe/Mariehamn
                        - Europe/Minsk
                        - Europe/Monaco
                        - Europe/Moscow
                        - Europe/Oslo
                        - Europe/Paris
                        - Europe/Podgorica
                        - Europe/Prague
                        - Europe/Riga
                        - Europe/Rome
                        - Europe/Samara
                        - Europe/San_Marino
                        - Europe/Sarajevo
                        - Europe/Saratov
                        - Europe/Simferopol
                        - Europe/Skopje
                        - Europe/Sofia
                        - Europe/Stockholm
                        - Europe/Tallinn
                        - Europe/Tirane
                        - Europe/Ulyanovsk
                        - Europe/Vaduz
                        - Europe/Vatican
                        - Europe/Vienna
                        - Europe/Vilnius
                        - Europe/Volgograd
                        - Europe/Warsaw
                        - Europe/Zagreb
                        - Europe/Zurich
                        - Indian/Antananarivo
                        - Indian/Chagos
                        - Indian/Christmas
                        - Indian/Cocos
                        - Indian/Comoro
                        - Indian/Kerguelen
                        - Indian/Mahe
                        - Indian/Maldives
                        - Indian/Mauritius
                        - Indian/Mayotte
                        - Indian/Reunion
                        - Pacific/Apia
                        - Pacific/Auckland
                        - Pacific/Bougainville
                        - Pacific/Chatham
                        - Pacific/Easter
                        - Pacific/Efate
                        - Pacific/Enderbury
                        - Pacific/Fakaofo
                        - Pacific/Fiji
                        - Pacific/Funafuti
                        - Pacific/Galapagos
                        - Pacific/Gambier
                        - Pacific/Guadalcanal
                        - Pacific/Guam
                        - Pacific/Honolulu
                        - Pacific/Kiritimati
                        - Pacific/Kosrae
                        - Pacific/Kwajalein
                        - Pacific/Majuro
                        - Pacific/Marquesas
                        - Pacific/Midway
                        - Pacific/Nauru
                        - Pacific/Niue
                        - Pacific/Norfolk
                        - Pacific/Noumea
                        - Pacific/Pago_Pago
                        - Pacific/Palau
                        - Pacific/Pitcairn
                        - Pacific/Ponape
                        - Pacific/Port_Moresby
                        - Pacific/Rarotonga
                        - Pacific/Saipan
                        - Pacific/Tahiti
                        - Pacific/Tarawa
                        - Pacific/Tongatapu
                        - Pacific/Truk
                        - Pacific/Wake
                        - Pacific/Wallis
                  required:
                    - preset
                    - timeZone
                  additionalProperties: false
              additionalProperties: false
              required:
                - entityIdentifier
                - blueprintIdentifier
                - propertyNames
              if:
                type: object
                properties:
                  timeRange:
                    type: object
                    properties:
                      preset:
                        enum:
                          - last2Years
                          - last3Years
              then:
                type: object
                properties:
                  timeInterval:
                    enum:
                      - quarter
        required: true
      security:
        - bearer:
            - read:entities
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                properties:
                  ok:
                    enum:
                      - true
                  result:
                    type: object
                    properties:
                      minDate:
                        type: number
                      maxDate:
                        type: number
                      data:
                        type: array
                        items:
                          type: number
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints:
    get:
      summary: Get all blueprints
      tags:
        - Blueprints
      description: This route allows you to fetch all blueprints in your Port account.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      security:
        - bearer:
            - read:blueprints
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprints:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                          pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                          maxLength: 100
                          description: The identifier of the blueprint.
                        title:
                          type: string
                          maxLength: 100
                          minLength: 1
                          description: The title of the blueprint.
                        description:
                          type: string
                          maxLength: 200
                          description: The description of the blueprint.
                        icon:
                          type: string
                          description: The icon of the blueprint.
                        ownership:
                          anyOf:
                            - type: object
                              title: Inherited
                              description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - Inherited
                                path:
                                  type: string
                                  description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the ownership property. The default value is `Owning teams`.
                              additionalProperties: false
                              required:
                                - type
                                - path
                            - type: object
                              title: Direct
                              description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - Direct
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the ownership property. The default value is `Owning teams`.
                              additionalProperties: false
                              required:
                                - type
                        schema:
                          type: object
                          description: The schema of the blueprint, see `properties` and `required` below for more information.
                          properties:
                            properties:
                              type: object
                              description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                              propertyNames:
                                pattern: ^[A-Za-z0-9@_=\\-]+$
                                maxLength: 100
                              additionalProperties:
                                type: object
                                properties:
                                  title:
                                    type: string
                                    maxLength: 100
                                    description: The title of the property.
                                  description:
                                    type: string
                                    description: The description of the property.
                                  icon:
                                    type: string
                                    description: The icon of the property.
                                  type:
                                    enum:
                                      - string
                                      - number
                                      - boolean
                                      - object
                                      - array
                                    description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                  format:
                                    enum:
                                      - date-time
                                      - url
                                      - email
                                      - idn-email
                                      - ipv4
                                      - ipv6
                                      - markdown
                                      - yaml
                                      - user
                                      - blueprints
                                      - team
                                      - timer
                                      - proto
                                      - labeled-url
                                    description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                  dateFormat:
                                    enum:
                                      - relative
                                      - 12-hour
                                      - 24-hour
                                      - iso
                                    description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                  spec:
                                    enum:
                                      - open-api
                                      - embedded-url
                                      - async-api
                                    description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                  specAuthentication:
                                    type: object
                                    description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                    properties:
                                      clientId:
                                        type: string
                                      authorizationUrl:
                                        type: string
                                        format: url
                                      tokenUrl:
                                        type: string
                                        format: url
                                      authorizationScope:
                                        type: array
                                        items:
                                          type: string
                                        default:
                                          - openid
                                    additionalProperties: false
                                    required:
                                      - clientId
                                      - authorizationUrl
                                      - tokenUrl
                                required:
                                  - type
                            required:
                              type: array
                              items:
                                type: string
                              description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                          additionalProperties: false
                          required:
                            - properties
                        calculationProperties:
                          type: object
                          description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                          default: {}
                          propertyNames:
                            pattern: ^[A-Za-z0-9@_=\\-]+$
                            maxLength: 100
                          additionalProperties:
                            type: object
                            additionalProperties: false
                            properties:
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the property.
                              description:
                                type: string
                                description: The description of the property.
                              icon:
                                type: string
                                description: The icon of the property.
                              calculation:
                                type: string
                                description: The JQ expression that calculates the value of the property.
                              type:
                                enum:
                                  - string
                                  - number
                                  - boolean
                                  - object
                                  - array
                                description: The type of the property.
                              format:
                                enum:
                                  - date-time
                                  - url
                                  - email
                                  - idn-email
                                  - ipv4
                                  - ipv6
                                  - markdown
                                  - yaml
                                  - user
                                  - team
                                  - proto
                                  - labeled-url
                                description: The format of the property.
                              dateFormat:
                                enum:
                                  - relative
                                  - 12-hour
                                  - 24-hour
                                  - iso
                                description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                              spec:
                                enum:
                                  - open-api
                                  - embedded-url
                                  - async-api
                                description: The spec of the property.
                              specAuthentication:
                                type: object
                                description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                properties:
                                  clientId:
                                    type: string
                                  authorizationUrl:
                                    type: string
                                    format: url
                                  tokenUrl:
                                    type: string
                                    format: url
                                  authorizationScope:
                                    type: array
                                    items:
                                      type: string
                                    default:
                                      - openid
                                additionalProperties: false
                                required:
                                  - clientId
                                  - authorizationUrl
                                  - tokenUrl
                              colorized:
                                type: boolean
                                description: Whether the property is colorized.
                              colors:
                                type: object
                                description: When using the `colorized` property, the colors of the property.
                                additionalProperties:
                                  enum:
                                    - blue
                                    - turquoise
                                    - orange
                                    - purple
                                    - pink
                                    - yellow
                                    - green
                                    - red
                                    - gold
                                    - silver
                                    - paleBlue
                                    - darkGray
                                    - lightGray
                                    - bronze
                                    - lime
                                    - olive
                                    - brown
                              items:
                                type: object
                                properties:
                                  type:
                                    enum:
                                      - string
                                      - number
                                      - boolean
                                      - object
                                      - array
                                    description: The type of the item.
                                  format:
                                    description: The format of the item.
                                    enum:
                                      - date-time
                                      - url
                                      - email
                                      - idn-format
                                      - ipv4
                                      - ipv6
                                      - markdown
                                      - yaml
                                      - user
                                      - team
                                      - timer
                                      - proto
                                      - labeled-url
                            required:
                              - calculation
                              - type
                        mirrorProperties:
                          type: object
                          description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                          propertyNames:
                            pattern: ^[A-Za-z0-9@_=\\-]+$
                            maxLength: 100
                          additionalProperties:
                            type: object
                            properties:
                              path:
                                type: string
                                pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                                description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the property.
                            additionalProperties: false
                            required:
                              - path
                        aggregationProperties:
                          type: object
                          description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                          default: {}
                          propertyNames:
                            pattern: ^[A-Za-z0-9@_=\\-]+$
                            maxLength: 100
                          additionalProperties:
                            type: object
                            properties:
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the property.
                              description:
                                type: string
                                description: The description of the property.
                              icon:
                                type: string
                                description: The icon of the property.
                              type:
                                enum:
                                  - number
                                default: number
                                description: The type of the property. This is the type of the aggregation result.
                              target:
                                type: string
                                description: The blueprint identifier to run the aggregation on.
                              calculationSpec:
                                type: object
                                oneOf:
                                  - oneOf:
                                      - type: object
                                        properties:
                                          func:
                                            description: The function to use for the aggregation.
                                            enum:
                                              - count
                                          calculationBy:
                                            type: string
                                            description: Whether to aggregate by entities or properties.
                                            enum:
                                              - entities
                                        required:
                                          - func
                                          - calculationBy
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          func:
                                            description: The function to use for the aggregation.
                                            enum:
                                              - average
                                          measureTimeBy:
                                            type: string
                                            description: The time property to use for the aggregation.
                                          averageOf:
                                            type: string
                                            enum:
                                              - hour
                                              - day
                                              - week
                                              - month
                                              - total
                                          calculationBy:
                                            type: string
                                            description: Whether to aggregate by entities or properties.
                                            enum:
                                              - entities
                                        required:
                                          - func
                                          - calculationBy
                                          - averageOf
                                        additionalProperties: false
                                  - oneOf:
                                      - type: object
                                        properties:
                                          func:
                                            type: string
                                            enum:
                                              - sum
                                              - min
                                              - max
                                              - median
                                            description: The function to use for the aggregation.
                                          property:
                                            type: string
                                            description: The property to aggregate.
                                          calculationBy:
                                            type: string
                                            description: Whether to aggregate by property or entities.
                                            enum:
                                              - property
                                        additionalProperties: false
                                        required:
                                          - func
                                          - property
                                          - calculationBy
                                      - type: object
                                        properties:
                                          func:
                                            description: The function to use for the aggregation.
                                            enum:
                                              - average
                                          measureTimeBy:
                                            type: string
                                            description: The time property to use for the aggregation.
                                          averageOf:
                                            type: string
                                            enum:
                                              - hour
                                              - day
                                              - week
                                              - month
                                              - total
                                          property:
                                            type: string
                                            description: The property to aggregate.
                                          calculationBy:
                                            type: string
                                            description: Whether to aggregate by property or entities.
                                            enum:
                                              - property
                                        additionalProperties: false
                                        required:
                                          - func
                                          - property
                                          - calculationBy
                                          - averageOf
                                description: The calculation spec of the property.
                              query:
                                $ref: '#/components/schemas/def-1'
                              pathFilter:
                                type: array
                                description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                                maxItems: 1
                                items:
                                  type: object
                                  properties:
                                    path:
                                      description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                      type: array
                                      items:
                                        type: string
                                      minItems: 1
                                    fromBlueprint:
                                      type: string
                                  required:
                                    - path
                                  additionalProperties: false
                            additionalProperties: false
                            required:
                              - title
                              - target
                              - calculationSpec
                        relations:
                          type: object
                          description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                          propertyNames:
                            pattern: ^[A-Za-z0-9@_=\\-]+$
                            maxLength: 100
                          additionalProperties:
                            type: object
                            properties:
                              title:
                                type: string
                                maxLength: 100
                              target:
                                type: string
                              required:
                                type: boolean
                                default: false
                              many:
                                type: boolean
                                default: false
                              description:
                                type: string
                              type:
                                type: string
                            additionalProperties: false
                            required:
                              - target
                              - required
                              - many
                        includeInGlobalSearch:
                          type:
                            - boolean
                            - 'null'
                          description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                        changelogDestination:
                          description: The destination of the blueprint's changelog.
                          oneOf:
                            - type: object
                              title: Webhook
                              description: The changelog will be sent to the specified webhook.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - WEBHOOK
                                agent:
                                  type: boolean
                                  description: If `true`, Port's execution agent will be used to send the changelog.
                                url:
                                  type: string
                                  description: The URL of the webhook.
                                  format: uri
                              required:
                                - url
                                - type
                              additionalProperties: false
                            - type: object
                              title: Kafka
                              description: The changelog will be sent to the Kafka topic connected to your Port account.
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - KAFKA
                              required:
                                - type
                              additionalProperties: false
                        updatedBy:
                          type: string
                        createdBy:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - identifier
                        - title
                        - schema
                        - createdBy
                        - updatedBy
                        - createdAt
                        - updatedAt
                required:
                  - blueprints
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    post:
      summary: Create a blueprint
      tags:
        - Blueprints
      description: This route allows you to create a new blueprint in your data model.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                  maxLength: 100
                  description: The identifier of the blueprint.
                title:
                  type: string
                  maxLength: 100
                  minLength: 1
                  description: The title of the blueprint.
                description:
                  type: string
                  maxLength: 200
                  description: The description of the blueprint.
                icon:
                  type: string
                  description: The icon of the blueprint.
                ownership:
                  anyOf:
                    - type: object
                      title: Inherited
                      description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                      properties:
                        type:
                          type: string
                          enum:
                            - Inherited
                        path:
                          type: string
                          description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                        title:
                          type: string
                          maxLength: 100
                          description: The title of the ownership property. The default value is `Owning teams`.
                      additionalProperties: false
                      required:
                        - type
                        - path
                    - type: object
                      title: Direct
                      description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                      properties:
                        type:
                          type: string
                          enum:
                            - Direct
                        title:
                          type: string
                          maxLength: 100
                          description: The title of the ownership property. The default value is `Owning teams`.
                      additionalProperties: false
                      required:
                        - type
                schema:
                  type: object
                  description: The schema of the blueprint, see `properties` and `required` below for more information.
                  properties:
                    properties:
                      type: object
                      description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                      propertyNames:
                        pattern: ^[A-Za-z0-9@_=\\-]+$
                        maxLength: 100
                      additionalProperties:
                        type: object
                        properties:
                          title:
                            type: string
                            maxLength: 100
                            description: The title of the property.
                          description:
                            type: string
                            description: The description of the property.
                          icon:
                            type: string
                            description: The icon of the property.
                          type:
                            enum:
                              - string
                              - number
                              - boolean
                              - object
                              - array
                            description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                          format:
                            enum:
                              - date-time
                              - url
                              - email
                              - idn-email
                              - ipv4
                              - ipv6
                              - markdown
                              - yaml
                              - user
                              - blueprints
                              - team
                              - timer
                              - proto
                              - labeled-url
                            description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                          dateFormat:
                            enum:
                              - relative
                              - 12-hour
                              - 24-hour
                              - iso
                            description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                          spec:
                            enum:
                              - open-api
                              - embedded-url
                              - async-api
                            description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                          specAuthentication:
                            type: object
                            description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                            properties:
                              clientId:
                                type: string
                              authorizationUrl:
                                type: string
                                format: url
                              tokenUrl:
                                type: string
                                format: url
                              authorizationScope:
                                type: array
                                items:
                                  type: string
                                default:
                                  - openid
                            additionalProperties: false
                            required:
                              - clientId
                              - authorizationUrl
                              - tokenUrl
                        required:
                          - type
                    required:
                      type: array
                      items:
                        type: string
                      description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                  additionalProperties: false
                  required:
                    - properties
                calculationProperties:
                  type: object
                  description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  default: {}
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    additionalProperties: false
                    properties:
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                      description:
                        type: string
                        description: The description of the property.
                      icon:
                        type: string
                        description: The icon of the property.
                      calculation:
                        type: string
                        description: The JQ expression that calculates the value of the property.
                      type:
                        enum:
                          - string
                          - number
                          - boolean
                          - object
                          - array
                        description: The type of the property.
                      format:
                        enum:
                          - date-time
                          - url
                          - email
                          - idn-email
                          - ipv4
                          - ipv6
                          - markdown
                          - yaml
                          - user
                          - team
                          - proto
                          - labeled-url
                        description: The format of the property.
                      dateFormat:
                        enum:
                          - relative
                          - 12-hour
                          - 24-hour
                          - iso
                        description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                      spec:
                        enum:
                          - open-api
                          - embedded-url
                          - async-api
                        description: The spec of the property.
                      specAuthentication:
                        type: object
                        description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                        properties:
                          clientId:
                            type: string
                          authorizationUrl:
                            type: string
                            format: url
                          tokenUrl:
                            type: string
                            format: url
                          authorizationScope:
                            type: array
                            items:
                              type: string
                            default:
                              - openid
                        additionalProperties: false
                        required:
                          - clientId
                          - authorizationUrl
                          - tokenUrl
                      colorized:
                        type: boolean
                        description: Whether the property is colorized.
                      colors:
                        type: object
                        description: When using the `colorized` property, the colors of the property.
                        additionalProperties:
                          enum:
                            - blue
                            - turquoise
                            - orange
                            - purple
                            - pink
                            - yellow
                            - green
                            - red
                            - gold
                            - silver
                            - paleBlue
                            - darkGray
                            - lightGray
                            - bronze
                            - lime
                            - olive
                            - brown
                      items:
                        type: object
                        properties:
                          type:
                            enum:
                              - string
                              - number
                              - boolean
                              - object
                              - array
                            description: The type of the item.
                          format:
                            description: The format of the item.
                            enum:
                              - date-time
                              - url
                              - email
                              - idn-format
                              - ipv4
                              - ipv6
                              - markdown
                              - yaml
                              - user
                              - team
                              - timer
                              - proto
                              - labeled-url
                    required:
                      - calculation
                      - type
                mirrorProperties:
                  type: object
                  description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      path:
                        type: string
                        pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                        description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                    additionalProperties: false
                    required:
                      - path
                aggregationProperties:
                  type: object
                  description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  default: {}
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                      description:
                        type: string
                        description: The description of the property.
                      icon:
                        type: string
                        description: The icon of the property.
                      type:
                        enum:
                          - number
                        default: number
                        description: The type of the property. This is the type of the aggregation result.
                      target:
                        type: string
                        description: The blueprint identifier to run the aggregation on.
                      calculationSpec:
                        type: object
                        oneOf:
                          - oneOf:
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - count
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by entities or properties.
                                    enum:
                                      - entities
                                required:
                                  - func
                                  - calculationBy
                                additionalProperties: false
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - average
                                  measureTimeBy:
                                    type: string
                                    description: The time property to use for the aggregation.
                                  averageOf:
                                    type: string
                                    enum:
                                      - hour
                                      - day
                                      - week
                                      - month
                                      - total
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by entities or properties.
                                    enum:
                                      - entities
                                required:
                                  - func
                                  - calculationBy
                                  - averageOf
                                additionalProperties: false
                          - oneOf:
                              - type: object
                                properties:
                                  func:
                                    type: string
                                    enum:
                                      - sum
                                      - min
                                      - max
                                      - median
                                    description: The function to use for the aggregation.
                                  property:
                                    type: string
                                    description: The property to aggregate.
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by property or entities.
                                    enum:
                                      - property
                                additionalProperties: false
                                required:
                                  - func
                                  - property
                                  - calculationBy
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - average
                                  measureTimeBy:
                                    type: string
                                    description: The time property to use for the aggregation.
                                  averageOf:
                                    type: string
                                    enum:
                                      - hour
                                      - day
                                      - week
                                      - month
                                      - total
                                  property:
                                    type: string
                                    description: The property to aggregate.
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by property or entities.
                                    enum:
                                      - property
                                additionalProperties: false
                                required:
                                  - func
                                  - property
                                  - calculationBy
                                  - averageOf
                        description: The calculation spec of the property.
                      query:
                        $ref: '#/components/schemas/def-1'
                      pathFilter:
                        type: array
                        description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                        maxItems: 1
                        items:
                          type: object
                          properties:
                            path:
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                              type: array
                              items:
                                type: string
                              minItems: 1
                            fromBlueprint:
                              type: string
                          required:
                            - path
                          additionalProperties: false
                    additionalProperties: false
                    required:
                      - title
                      - target
                      - calculationSpec
                relations:
                  type: object
                  description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 100
                      target:
                        type: string
                      required:
                        type: boolean
                        default: false
                      many:
                        type: boolean
                        default: false
                      description:
                        type: string
                      type:
                        type: string
                    additionalProperties: false
                    required:
                      - target
                      - required
                      - many
                includeInGlobalSearch:
                  type:
                    - boolean
                    - 'null'
                  description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                changelogDestination:
                  description: The destination of the blueprint's changelog.
                  oneOf:
                    - type: object
                      title: Webhook
                      description: The changelog will be sent to the specified webhook.
                      properties:
                        type:
                          type: string
                          enum:
                            - WEBHOOK
                        agent:
                          type: boolean
                          description: If `true`, Port's execution agent will be used to send the changelog.
                        url:
                          type: string
                          description: The URL of the webhook.
                          format: uri
                      required:
                        - url
                        - type
                      additionalProperties: false
                    - type: object
                      title: Kafka
                      description: The changelog will be sent to the Kafka topic connected to your Port account.
                      properties:
                        type:
                          type: string
                          enum:
                            - KAFKA
                      required:
                        - type
                      additionalProperties: false
              additionalProperties: true
              required:
                - identifier
                - title
                - schema
        required: true
      parameters:
        - schema:
            type: boolean
            default: true
          in: query
          name: create_catalog_page
          required: false
          description: If true, a catalog page will be created for this blueprint
      security:
        - bearer:
            - create:blueprints
      responses:
        '201':
          description: Created successfully.
          content:
            application/json:
              schema:
                description: Created successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                      updatedBy:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - identifier
                      - title
                      - schema
                      - createdBy
                      - updatedBy
                      - createdAt
                      - updatedAt
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{identifier}:
    get:
      summary: Get a blueprint
      tags:
        - Blueprints
      description: This route allows you to fetch a specific blueprint in your Port account.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - read:blueprints
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                      updatedBy:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - identifier
                      - title
                      - schema
                      - createdBy
                      - updatedBy
                      - createdAt
                      - updatedAt
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    put:
      summary: Change a blueprint
      tags:
        - Blueprints
      description: This route allows you to change a specific blueprint in your Port account.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).<br/><br/>**Modifying system blueprints** <br/>System blueprints (such as `_team`, `_user`, etc.) are managed by Port and their schemas may change over time.<br/>If you use this endpoint, always [fetch the system blueprint structure](https://docs.port.io/api-reference/get-a-system-blueprint-structure/) first and apply your changes on top of it. Sending a stale or incomplete schema will result in a `422` error.<br/><br/>For additive changes, you can use the [Update a blueprint](https://docs.port.io/api-reference/update-a-blueprint/) endpoint.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                  maxLength: 100
                  description: The identifier of the blueprint.
                title:
                  type: string
                  maxLength: 100
                  minLength: 1
                  description: The title of the blueprint.
                description:
                  type: string
                  maxLength: 200
                  description: The description of the blueprint.
                icon:
                  type: string
                  description: The icon of the blueprint.
                ownership:
                  anyOf:
                    - type: object
                      title: Inherited
                      description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                      properties:
                        type:
                          type: string
                          enum:
                            - Inherited
                        path:
                          type: string
                          description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                        title:
                          type: string
                          maxLength: 100
                          description: The title of the ownership property. The default value is `Owning teams`.
                      additionalProperties: false
                      required:
                        - type
                        - path
                    - type: object
                      title: Direct
                      description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                      properties:
                        type:
                          type: string
                          enum:
                            - Direct
                        title:
                          type: string
                          maxLength: 100
                          description: The title of the ownership property. The default value is `Owning teams`.
                      additionalProperties: false
                      required:
                        - type
                schema:
                  type: object
                  description: The schema of the blueprint, see `properties` and `required` below for more information.
                  properties:
                    properties:
                      type: object
                      description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                      propertyNames:
                        pattern: ^[A-Za-z0-9@_=\\-]+$
                        maxLength: 100
                      additionalProperties:
                        type: object
                        properties:
                          title:
                            type: string
                            maxLength: 100
                            description: The title of the property.
                          description:
                            type: string
                            description: The description of the property.
                          icon:
                            type: string
                            description: The icon of the property.
                          type:
                            enum:
                              - string
                              - number
                              - boolean
                              - object
                              - array
                            description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                          format:
                            enum:
                              - date-time
                              - url
                              - email
                              - idn-email
                              - ipv4
                              - ipv6
                              - markdown
                              - yaml
                              - user
                              - blueprints
                              - team
                              - timer
                              - proto
                              - labeled-url
                            description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                          dateFormat:
                            enum:
                              - relative
                              - 12-hour
                              - 24-hour
                              - iso
                            description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                          spec:
                            enum:
                              - open-api
                              - embedded-url
                              - async-api
                            description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                          specAuthentication:
                            type: object
                            description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                            properties:
                              clientId:
                                type: string
                              authorizationUrl:
                                type: string
                                format: url
                              tokenUrl:
                                type: string
                                format: url
                              authorizationScope:
                                type: array
                                items:
                                  type: string
                                default:
                                  - openid
                            additionalProperties: false
                            required:
                              - clientId
                              - authorizationUrl
                              - tokenUrl
                        required:
                          - type
                    required:
                      type: array
                      items:
                        type: string
                      description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                  additionalProperties: false
                  required:
                    - properties
                calculationProperties:
                  type: object
                  description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  default: {}
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    additionalProperties: false
                    properties:
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                      description:
                        type: string
                        description: The description of the property.
                      icon:
                        type: string
                        description: The icon of the property.
                      calculation:
                        type: string
                        description: The JQ expression that calculates the value of the property.
                      type:
                        enum:
                          - string
                          - number
                          - boolean
                          - object
                          - array
                        description: The type of the property.
                      format:
                        enum:
                          - date-time
                          - url
                          - email
                          - idn-email
                          - ipv4
                          - ipv6
                          - markdown
                          - yaml
                          - user
                          - team
                          - proto
                          - labeled-url
                        description: The format of the property.
                      dateFormat:
                        enum:
                          - relative
                          - 12-hour
                          - 24-hour
                          - iso
                        description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                      spec:
                        enum:
                          - open-api
                          - embedded-url
                          - async-api
                        description: The spec of the property.
                      specAuthentication:
                        type: object
                        description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                        properties:
                          clientId:
                            type: string
                          authorizationUrl:
                            type: string
                            format: url
                          tokenUrl:
                            type: string
                            format: url
                          authorizationScope:
                            type: array
                            items:
                              type: string
                            default:
                              - openid
                        additionalProperties: false
                        required:
                          - clientId
                          - authorizationUrl
                          - tokenUrl
                      colorized:
                        type: boolean
                        description: Whether the property is colorized.
                      colors:
                        type: object
                        description: When using the `colorized` property, the colors of the property.
                        additionalProperties:
                          enum:
                            - blue
                            - turquoise
                            - orange
                            - purple
                            - pink
                            - yellow
                            - green
                            - red
                            - gold
                            - silver
                            - paleBlue
                            - darkGray
                            - lightGray
                            - bronze
                            - lime
                            - olive
                            - brown
                      items:
                        type: object
                        properties:
                          type:
                            enum:
                              - string
                              - number
                              - boolean
                              - object
                              - array
                            description: The type of the item.
                          format:
                            description: The format of the item.
                            enum:
                              - date-time
                              - url
                              - email
                              - idn-format
                              - ipv4
                              - ipv6
                              - markdown
                              - yaml
                              - user
                              - team
                              - timer
                              - proto
                              - labeled-url
                    required:
                      - calculation
                      - type
                mirrorProperties:
                  type: object
                  description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      path:
                        type: string
                        pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                        description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                    additionalProperties: false
                    required:
                      - path
                aggregationProperties:
                  type: object
                  description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  default: {}
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                      description:
                        type: string
                        description: The description of the property.
                      icon:
                        type: string
                        description: The icon of the property.
                      type:
                        enum:
                          - number
                        default: number
                        description: The type of the property. This is the type of the aggregation result.
                      target:
                        type: string
                        description: The blueprint identifier to run the aggregation on.
                      calculationSpec:
                        type: object
                        oneOf:
                          - oneOf:
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - count
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by entities or properties.
                                    enum:
                                      - entities
                                required:
                                  - func
                                  - calculationBy
                                additionalProperties: false
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - average
                                  measureTimeBy:
                                    type: string
                                    description: The time property to use for the aggregation.
                                  averageOf:
                                    type: string
                                    enum:
                                      - hour
                                      - day
                                      - week
                                      - month
                                      - total
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by entities or properties.
                                    enum:
                                      - entities
                                required:
                                  - func
                                  - calculationBy
                                  - averageOf
                                additionalProperties: false
                          - oneOf:
                              - type: object
                                properties:
                                  func:
                                    type: string
                                    enum:
                                      - sum
                                      - min
                                      - max
                                      - median
                                    description: The function to use for the aggregation.
                                  property:
                                    type: string
                                    description: The property to aggregate.
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by property or entities.
                                    enum:
                                      - property
                                additionalProperties: false
                                required:
                                  - func
                                  - property
                                  - calculationBy
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - average
                                  measureTimeBy:
                                    type: string
                                    description: The time property to use for the aggregation.
                                  averageOf:
                                    type: string
                                    enum:
                                      - hour
                                      - day
                                      - week
                                      - month
                                      - total
                                  property:
                                    type: string
                                    description: The property to aggregate.
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by property or entities.
                                    enum:
                                      - property
                                additionalProperties: false
                                required:
                                  - func
                                  - property
                                  - calculationBy
                                  - averageOf
                        description: The calculation spec of the property.
                      query:
                        $ref: '#/components/schemas/def-1'
                      pathFilter:
                        type: array
                        description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                        maxItems: 1
                        items:
                          type: object
                          properties:
                            path:
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                              type: array
                              items:
                                type: string
                              minItems: 1
                            fromBlueprint:
                              type: string
                          required:
                            - path
                          additionalProperties: false
                    additionalProperties: false
                    required:
                      - title
                      - target
                      - calculationSpec
                relations:
                  type: object
                  description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 100
                      target:
                        type: string
                      required:
                        type: boolean
                        default: false
                      many:
                        type: boolean
                        default: false
                      description:
                        type: string
                      type:
                        type: string
                    additionalProperties: false
                    required:
                      - target
                      - required
                      - many
                includeInGlobalSearch:
                  type:
                    - boolean
                    - 'null'
                  description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                changelogDestination:
                  description: The destination of the blueprint's changelog.
                  oneOf:
                    - type: object
                      title: Webhook
                      description: The changelog will be sent to the specified webhook.
                      properties:
                        type:
                          type: string
                          enum:
                            - WEBHOOK
                        agent:
                          type: boolean
                          description: If `true`, Port's execution agent will be used to send the changelog.
                        url:
                          type: string
                          description: The URL of the webhook.
                          format: uri
                      required:
                        - url
                        - type
                      additionalProperties: false
                    - type: object
                      title: Kafka
                      description: The changelog will be sent to the Kafka topic connected to your Port account.
                      properties:
                        type:
                          type: string
                          enum:
                            - KAFKA
                      required:
                        - type
                      additionalProperties: false
              additionalProperties: true
              required:
                - title
                - schema
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                      updatedBy:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - identifier
                      - title
                      - schema
                      - createdBy
                      - updatedBy
                      - createdAt
                      - updatedAt
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    patch:
      summary: Update a blueprint
      tags:
        - Blueprints
      description: This route allows you to update a specific blueprint in your Port account. Send only the fields you want to add or change — the server merges your body on top of the current blueprint, leaving all other fields untouched.<br/><br/>**For system blueprints**, `PATCH` lets you extend custom fields or add new ones on top of Port's structure, but it cannot modify Port-managed fields. If you want to manage a full local copy and reconcile it back to Port, use `GET /blueprints/system/:identifier/structure` together with `PUT` instead.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                  maxLength: 100
                  description: The identifier of the blueprint.
                title:
                  type: string
                  maxLength: 100
                  minLength: 1
                  description: The title of the blueprint.
                description:
                  type: string
                  maxLength: 200
                  description: The description of the blueprint.
                icon:
                  type: string
                  description: The icon of the blueprint.
                ownership:
                  anyOf:
                    - type: object
                      title: Inherited
                      description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                      properties:
                        type:
                          type: string
                          enum:
                            - Inherited
                        path:
                          type: string
                          description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                        title:
                          type: string
                          maxLength: 100
                          description: The title of the ownership property. The default value is `Owning teams`.
                      additionalProperties: false
                      required:
                        - type
                        - path
                    - type: object
                      title: Direct
                      description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                      properties:
                        type:
                          type: string
                          enum:
                            - Direct
                        title:
                          type: string
                          maxLength: 100
                          description: The title of the ownership property. The default value is `Owning teams`.
                      additionalProperties: false
                      required:
                        - type
                schema:
                  type: object
                  properties:
                    properties:
                      type: object
                      propertyNames:
                        pattern: ^[A-Za-z0-9@_=\\-]+$
                        maxLength: 100
                      additionalProperties:
                        type: object
                        properties:
                          title:
                            type: string
                            maxLength: 100
                            description: The title of the property.
                          description:
                            type: string
                            description: The description of the property.
                          icon:
                            type: string
                            description: The icon of the property.
                          type:
                            enum:
                              - string
                              - number
                              - boolean
                              - object
                              - array
                            description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                          format:
                            enum:
                              - date-time
                              - url
                              - email
                              - idn-email
                              - ipv4
                              - ipv6
                              - markdown
                              - yaml
                              - user
                              - blueprints
                              - team
                              - timer
                              - proto
                              - labeled-url
                            description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                          dateFormat:
                            enum:
                              - relative
                              - 12-hour
                              - 24-hour
                              - iso
                            description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                          spec:
                            enum:
                              - open-api
                              - embedded-url
                              - async-api
                            description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                          specAuthentication:
                            type: object
                            description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                            properties:
                              clientId:
                                type: string
                              authorizationUrl:
                                type: string
                                format: url
                              tokenUrl:
                                type: string
                                format: url
                              authorizationScope:
                                type: array
                                items:
                                  type: string
                                default:
                                  - openid
                            additionalProperties: false
                            required:
                              - clientId
                              - authorizationUrl
                              - tokenUrl
                    required:
                      type: array
                      items:
                        type: string
                      description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                  additionalProperties: false
                  required:
                    - properties
                calculationProperties:
                  type: object
                  description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  default: {}
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    additionalProperties: false
                    properties:
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                      description:
                        type: string
                        description: The description of the property.
                      icon:
                        type: string
                        description: The icon of the property.
                      calculation:
                        type: string
                        description: The JQ expression that calculates the value of the property.
                      type:
                        enum:
                          - string
                          - number
                          - boolean
                          - object
                          - array
                        description: The type of the property.
                      format:
                        enum:
                          - date-time
                          - url
                          - email
                          - idn-email
                          - ipv4
                          - ipv6
                          - markdown
                          - yaml
                          - user
                          - team
                          - proto
                          - labeled-url
                        description: The format of the property.
                      dateFormat:
                        enum:
                          - relative
                          - 12-hour
                          - 24-hour
                          - iso
                        description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                      spec:
                        enum:
                          - open-api
                          - embedded-url
                          - async-api
                        description: The spec of the property.
                      specAuthentication:
                        type: object
                        description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                        properties:
                          clientId:
                            type: string
                          authorizationUrl:
                            type: string
                            format: url
                          tokenUrl:
                            type: string
                            format: url
                          authorizationScope:
                            type: array
                            items:
                              type: string
                            default:
                              - openid
                        additionalProperties: false
                        required:
                          - clientId
                          - authorizationUrl
                          - tokenUrl
                      colorized:
                        type: boolean
                        description: Whether the property is colorized.
                      colors:
                        type: object
                        description: When using the `colorized` property, the colors of the property.
                        additionalProperties:
                          enum:
                            - blue
                            - turquoise
                            - orange
                            - purple
                            - pink
                            - yellow
                            - green
                            - red
                            - gold
                            - silver
                            - paleBlue
                            - darkGray
                            - lightGray
                            - bronze
                            - lime
                            - olive
                            - brown
                      items:
                        type: object
                        properties:
                          type:
                            enum:
                              - string
                              - number
                              - boolean
                              - object
                              - array
                            description: The type of the item.
                          format:
                            description: The format of the item.
                            enum:
                              - date-time
                              - url
                              - email
                              - idn-format
                              - ipv4
                              - ipv6
                              - markdown
                              - yaml
                              - user
                              - team
                              - timer
                              - proto
                              - labeled-url
                    required:
                      - calculation
                      - type
                mirrorProperties:
                  type: object
                  description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      path:
                        type: string
                        pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                        description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                    additionalProperties: false
                    required:
                      - path
                aggregationProperties:
                  type: object
                  description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  default: {}
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 100
                        description: The title of the property.
                      description:
                        type: string
                        description: The description of the property.
                      icon:
                        type: string
                        description: The icon of the property.
                      type:
                        enum:
                          - number
                        default: number
                        description: The type of the property. This is the type of the aggregation result.
                      target:
                        type: string
                        description: The blueprint identifier to run the aggregation on.
                      calculationSpec:
                        type: object
                        oneOf:
                          - oneOf:
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - count
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by entities or properties.
                                    enum:
                                      - entities
                                required:
                                  - func
                                  - calculationBy
                                additionalProperties: false
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - average
                                  measureTimeBy:
                                    type: string
                                    description: The time property to use for the aggregation.
                                  averageOf:
                                    type: string
                                    enum:
                                      - hour
                                      - day
                                      - week
                                      - month
                                      - total
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by entities or properties.
                                    enum:
                                      - entities
                                required:
                                  - func
                                  - calculationBy
                                  - averageOf
                                additionalProperties: false
                          - oneOf:
                              - type: object
                                properties:
                                  func:
                                    type: string
                                    enum:
                                      - sum
                                      - min
                                      - max
                                      - median
                                    description: The function to use for the aggregation.
                                  property:
                                    type: string
                                    description: The property to aggregate.
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by property or entities.
                                    enum:
                                      - property
                                additionalProperties: false
                                required:
                                  - func
                                  - property
                                  - calculationBy
                              - type: object
                                properties:
                                  func:
                                    description: The function to use for the aggregation.
                                    enum:
                                      - average
                                  measureTimeBy:
                                    type: string
                                    description: The time property to use for the aggregation.
                                  averageOf:
                                    type: string
                                    enum:
                                      - hour
                                      - day
                                      - week
                                      - month
                                      - total
                                  property:
                                    type: string
                                    description: The property to aggregate.
                                  calculationBy:
                                    type: string
                                    description: Whether to aggregate by property or entities.
                                    enum:
                                      - property
                                additionalProperties: false
                                required:
                                  - func
                                  - property
                                  - calculationBy
                                  - averageOf
                        description: The calculation spec of the property.
                      query:
                        $ref: '#/components/schemas/def-1'
                      pathFilter:
                        type: array
                        description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                        maxItems: 1
                        items:
                          type: object
                          properties:
                            path:
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                              type: array
                              items:
                                type: string
                              minItems: 1
                            fromBlueprint:
                              type: string
                          required:
                            - path
                          additionalProperties: false
                    additionalProperties: false
                    required:
                      - title
                      - target
                      - calculationSpec
                relations:
                  type: object
                  description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                    maxLength: 100
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 100
                      target:
                        type: string
                      required:
                        type: boolean
                        default: false
                      many:
                        type: boolean
                        default: false
                      description:
                        type: string
                      type:
                        type: string
                    additionalProperties: false
                    required:
                      - target
                      - required
                      - many
                includeInGlobalSearch:
                  type:
                    - boolean
                    - 'null'
                  description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                changelogDestination:
                  description: The destination of the blueprint's changelog.
                  oneOf:
                    - type: object
                      title: Webhook
                      description: The changelog will be sent to the specified webhook.
                      properties:
                        type:
                          type: string
                          enum:
                            - WEBHOOK
                        agent:
                          type: boolean
                          description: If `true`, Port's execution agent will be used to send the changelog.
                        url:
                          type: string
                          description: The URL of the webhook.
                          format: uri
                      required:
                        - url
                        - type
                      additionalProperties: false
                    - type: object
                      title: Kafka
                      description: The changelog will be sent to the Kafka topic connected to your Port account.
                      properties:
                        type:
                          type: string
                          enum:
                            - KAFKA
                      required:
                        - type
                      additionalProperties: false
              additionalProperties: true
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                      updatedBy:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - identifier
                      - title
                      - schema
                      - createdBy
                      - updatedBy
                      - createdAt
                      - updatedAt
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    delete:
      summary: Delete a blueprint
      tags:
        - Blueprints
      description: This route allows you to delete a specific blueprint in your Port account.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).<br/><br/> **Note:** Before deleting a blueprint, make sure all associated entities have been deleted. Entity deletion may take a few seconds to complete, so plan accordingly when using the [**Delete an entity**](https://docs.port.io/api-reference/delete-an-entity) endpoint before this endpoint in scripts or automations.
      parameters:
        - schema:
            type: boolean
          in: query
          name: delete_actions
          required: false
          description: If `true`, all self-service actions associated with this blueprint will be deleted as well.
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Deleted successfully.
          content:
            application/json:
              schema:
                description: Deleted successfully.
                properties:
                  ok:
                    enum:
                      - true
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/properties/{property_identifier}/rename:
    patch:
      summary: Rename a property in a blueprint
      tags:
        - Blueprints
      description: This route allows you to change the identifier of a property in a specific blueprint in your Port account.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                newPropertyName:
                  type: string
                  pattern: ^[A-Za-z0-9@_=\\-]+$
                  maxLength: 100
                  description: The new identifier of the property.
              additionalProperties: false
      parameters:
        - schema:
            type: string
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint you want to change.
        - schema:
            type: string
          in: path
          name: property_identifier
          required: true
          description: The identifier of the property you want to rename.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                      updatedBy:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - identifier
                      - title
                      - schema
                      - createdBy
                      - updatedBy
                      - createdAt
                      - updatedAt
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/mirror/{property_identifier}/rename:
    patch:
      summary: Rename a blueprint's mirror property
      tags:
        - Blueprints
      description: This route allows you to change the identifier of a mirror property in a specific blueprint in your Port account.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                newMirrorName:
                  type: string
                  pattern: ^[A-Za-z0-9@_=\\-]+$
                  maxLength: 100
                  description: The new identifier of the mirror property.
              additionalProperties: false
      parameters:
        - schema:
            type: string
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint you want to change.
        - schema:
            type: string
          in: path
          name: property_identifier
          required: true
          description: The identifier of the property you want to rename.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                      updatedBy:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - identifier
                      - title
                      - schema
                      - createdBy
                      - updatedBy
                      - createdAt
                      - updatedAt
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/relations/{relation_identifier}/rename:
    patch:
      summary: Rename a blueprint's relation
      tags:
        - Blueprints
      description: This route allows you to change the identifier of a relation in a specific blueprint in your Port account.<br/><br/>To learn more about blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                newRelationIdentifier:
                  type: string
                  pattern: ^[A-Za-z0-9@_=\\-]+$
                  maxLength: 100
                  description: The new identifier of the relation.
              additionalProperties: false
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint you want to change.
        - schema:
            type: string
            minLength: 1
          in: path
          name: relation_identifier
          required: true
          description: The identifier of the relation you want to rename.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                      updatedBy:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - identifier
                      - title
                      - schema
                      - createdBy
                      - updatedBy
                      - createdAt
                      - updatedAt
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/system/{identifier}/structure:
    get:
      summary: Get a system blueprint structure
      tags:
        - Blueprints
      description: Returns the Port-owned base structure of a system blueprint, meaning the fields managed by Port that users cannot modify or delete. Useful for inspecting protected fields, or as the first step when updating a system blueprint via PUT.<br/><br/>**Updating with PUT (full replace)**<br/><br/>The PUT body must contain all Port-managed fields, otherwise the request fails with `protected_blueprint_violation`. The flow:<br/><br/>1. Fetch the structure with this endpoint.<br/>2. Merge your extensions on top.<br/>3. Send the result to [Change a blueprint](https://docs.port.io/api-reference/change-a-blueprint/).<br/><br/>Common in client-side flows like Terraform.<br/><br/>**Updating with PATCH (partial)**<br/><br/>For additive changes, send your delta to [Update a blueprint](https://docs.port.io/api-reference/update-a-blueprint/). The server merges it onto the current blueprint, so this endpoint is not required first.<br/><br/>To learn more about system blueprints, check out the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - read:blueprints
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  blueprint:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/-]+$
                        maxLength: 100
                        description: The identifier of the blueprint.
                      title:
                        type: string
                        maxLength: 100
                        minLength: 1
                        description: The title of the blueprint.
                      description:
                        type: string
                        maxLength: 200
                        description: The description of the blueprint.
                      icon:
                        type: string
                        description: The icon of the blueprint.
                      ownership:
                        anyOf:
                          - type: object
                            title: Inherited
                            description: Ownership of the blueprint's entities will be inherited from a different related blueprint with `Direct` ownership.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Inherited
                              path:
                                type: string
                                description: The `path` key is a dot-separated path of relation identifiers that lead to the desired blueprint.
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                              - path
                          - type: object
                            title: Direct
                            description: Ownership of the blueprint's entities will be defined by a hidden **relation** to the `Team` blueprint.
                            properties:
                              type:
                                type: string
                                enum:
                                  - Direct
                              title:
                                type: string
                                maxLength: 100
                                description: The title of the ownership property. The default value is `Owning teams`.
                            additionalProperties: false
                            required:
                              - type
                      schema:
                        type: object
                        description: The schema of the blueprint, see `properties` and `required` below for more information.
                        properties:
                          properties:
                            type: object
                            description: 'The properties of the blueprint.<br/> Each property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                            propertyNames:
                              pattern: ^[A-Za-z0-9@_=\\-]+$
                              maxLength: 100
                            additionalProperties:
                              type: object
                              properties:
                                title:
                                  type: string
                                  maxLength: 100
                                  description: The title of the property.
                                description:
                                  type: string
                                  description: The description of the property.
                                icon:
                                  type: string
                                  description: The icon of the property.
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The [type](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                format:
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-email
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - blueprints
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                                  description: The type's [format](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties).
                                dateFormat:
                                  enum:
                                    - relative
                                    - 12-hour
                                    - 24-hour
                                    - iso
                                  description: The display format for date-time properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                                spec:
                                  enum:
                                    - open-api
                                    - embedded-url
                                    - async-api
                                  description: The [spec](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview#supported-properties) of the property.
                                specAuthentication:
                                  type: object
                                  description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                                  properties:
                                    clientId:
                                      type: string
                                    authorizationUrl:
                                      type: string
                                      format: url
                                    tokenUrl:
                                      type: string
                                      format: url
                                    authorizationScope:
                                      type: array
                                      items:
                                        type: string
                                      default:
                                        - openid
                                  additionalProperties: false
                                  required:
                                    - clientId
                                    - authorizationUrl
                                    - tokenUrl
                              required:
                                - type
                          required:
                            type: array
                            items:
                              type: string
                            description: The required properties of the blueprint, these must be provided when creating an entity based on this blueprint. This is an array of the required properties' identifiers.
                        additionalProperties: false
                        required:
                          - properties
                      calculationProperties:
                        type: object
                        description: 'The [calculation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/calculation-property/) of the blueprint. <br/> Each calculation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          additionalProperties: false
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            calculation:
                              type: string
                              description: The JQ expression that calculates the value of the property.
                            type:
                              enum:
                                - string
                                - number
                                - boolean
                                - object
                                - array
                              description: The type of the property.
                            format:
                              enum:
                                - date-time
                                - url
                                - email
                                - idn-email
                                - ipv4
                                - ipv6
                                - markdown
                                - yaml
                                - user
                                - team
                                - proto
                                - labeled-url
                              description: The format of the property.
                            dateFormat:
                              enum:
                                - relative
                                - 12-hour
                                - 24-hour
                                - iso
                              description: The display format for date-time calculation properties. Only applicable when format is 'date-time'. Defaults to 'relative'.
                            spec:
                              enum:
                                - open-api
                                - embedded-url
                                - async-api
                              description: The spec of the property.
                            specAuthentication:
                              type: object
                              description: When using the `spec` property with `embedded-url`, the authentication spec of the property.
                              properties:
                                clientId:
                                  type: string
                                authorizationUrl:
                                  type: string
                                  format: url
                                tokenUrl:
                                  type: string
                                  format: url
                                authorizationScope:
                                  type: array
                                  items:
                                    type: string
                                  default:
                                    - openid
                              additionalProperties: false
                              required:
                                - clientId
                                - authorizationUrl
                                - tokenUrl
                            colorized:
                              type: boolean
                              description: Whether the property is colorized.
                            colors:
                              type: object
                              description: When using the `colorized` property, the colors of the property.
                              additionalProperties:
                                enum:
                                  - blue
                                  - turquoise
                                  - orange
                                  - purple
                                  - pink
                                  - yellow
                                  - green
                                  - red
                                  - gold
                                  - silver
                                  - paleBlue
                                  - darkGray
                                  - lightGray
                                  - bronze
                                  - lime
                                  - olive
                                  - brown
                            items:
                              type: object
                              properties:
                                type:
                                  enum:
                                    - string
                                    - number
                                    - boolean
                                    - object
                                    - array
                                  description: The type of the item.
                                format:
                                  description: The format of the item.
                                  enum:
                                    - date-time
                                    - url
                                    - email
                                    - idn-format
                                    - ipv4
                                    - ipv6
                                    - markdown
                                    - yaml
                                    - user
                                    - team
                                    - timer
                                    - proto
                                    - labeled-url
                          required:
                            - calculation
                            - type
                      mirrorProperties:
                        type: object
                        description: 'The [mirror properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/mirror-property/) of the blueprint. <br/> Each mirror property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            path:
                              type: string
                              pattern: ^(?:[A-Za-z0-9@_=\-$]+\.)+?(\w|\$|@|-)*?[^\.]+$
                              description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots, the last identifier is the property identifier.
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                          additionalProperties: false
                          required:
                            - path
                      aggregationProperties:
                        type: object
                        description: 'The [aggregation properties](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/aggregation-property/) of the blueprint. <br/> Each aggregation property identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        default: {}
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                              description: The title of the property.
                            description:
                              type: string
                              description: The description of the property.
                            icon:
                              type: string
                              description: The icon of the property.
                            type:
                              enum:
                                - number
                              default: number
                              description: The type of the property. This is the type of the aggregation result.
                            target:
                              type: string
                              description: The blueprint identifier to run the aggregation on.
                            calculationSpec:
                              type: object
                              oneOf:
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - count
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by entities or properties.
                                          enum:
                                            - entities
                                      required:
                                        - func
                                        - calculationBy
                                        - averageOf
                                      additionalProperties: false
                                - oneOf:
                                    - type: object
                                      properties:
                                        func:
                                          type: string
                                          enum:
                                            - sum
                                            - min
                                            - max
                                            - median
                                          description: The function to use for the aggregation.
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                    - type: object
                                      properties:
                                        func:
                                          description: The function to use for the aggregation.
                                          enum:
                                            - average
                                        measureTimeBy:
                                          type: string
                                          description: The time property to use for the aggregation.
                                        averageOf:
                                          type: string
                                          enum:
                                            - hour
                                            - day
                                            - week
                                            - month
                                            - total
                                        property:
                                          type: string
                                          description: The property to aggregate.
                                        calculationBy:
                                          type: string
                                          description: Whether to aggregate by property or entities.
                                          enum:
                                            - property
                                      additionalProperties: false
                                      required:
                                        - func
                                        - property
                                        - calculationBy
                                        - averageOf
                              description: The calculation spec of the property.
                            query:
                              $ref: '#/components/schemas/def-1'
                            pathFilter:
                              type: array
                              description: Optional filter to run the aggregation on entities that are connected through a specific path. When empty will use all the related entities from all possible paths
                              maxItems: 1
                              items:
                                type: object
                                properties:
                                  path:
                                    description: The path to the property in the related blueprint. This is a string of relation identifiers separated by dots.
                                    type: array
                                    items:
                                      type: string
                                    minItems: 1
                                  fromBlueprint:
                                    type: string
                                required:
                                  - path
                                additionalProperties: false
                          additionalProperties: false
                          required:
                            - title
                            - target
                            - calculationSpec
                      relations:
                        type: object
                        description: 'The [relations](https://docs.port.io/context-lake/data-model/setup-blueprint/relate-blueprints) of the blueprint. <br/> Each relation identifier can be `<= 100 characters` long, values must match the following pattern: `^[A-Za-z0-9@_=\\-]+$`.'
                        propertyNames:
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                        additionalProperties:
                          type: object
                          properties:
                            title:
                              type: string
                              maxLength: 100
                            target:
                              type: string
                            required:
                              type: boolean
                              default: false
                            many:
                              type: boolean
                              default: false
                            description:
                              type: string
                            type:
                              type: string
                          additionalProperties: false
                          required:
                            - target
                            - required
                            - many
                      includeInGlobalSearch:
                        type:
                          - boolean
                          - 'null'
                        description: Overrides the org-level includeBlueprintsInGlobalSearchByDefault setting. When set, controls whether entities of this blueprint appear in global search results. Set to null to clear the override.
                      changelogDestination:
                        description: The destination of the blueprint's changelog.
                        oneOf:
                          - type: object
                            title: Webhook
                            description: The changelog will be sent to the specified webhook.
                            properties:
                              type:
                                type: string
                                enum:
                                  - WEBHOOK
                              agent:
                                type: boolean
                                description: If `true`, Port's execution agent will be used to send the changelog.
                              url:
                                type: string
                                description: The URL of the webhook.
                                format: uri
                            required:
                              - url
                              - type
                            additionalProperties: false
                          - type: object
                            title: Kafka
                            description: The changelog will be sent to the Kafka topic connected to your Port account.
                            properties:
                              type:
                                type: string
                                enum:
                                  - KAFKA
                            required:
                              - type
                            additionalProperties: false
                    required:
                      - identifier
                      - title
                      - schema
                required:
                  - blueprint
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /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/workflows/actions-and-automations/overview/).
      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/workflows/actions-and-automations/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/workflows/actions-and-automations/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
                                        title: Expired Rule
                                        properties:
                                          operator:
                                            enum:
                                              - isExpired
                                              - isNotExpired
                                          property:
                                            type: string
                                        required:
                                          - operator
                                          - property
                                        additionalProperties: false
                                  - type: object
                                    title: String Rule
                                    oneOf:
                                      - type: object
                                        title: String Rule
                                        properties:
                                          property:
                                            oneOf:
                                              - type: string
                                              - type: object
                                                properties:
                                                  property:
                                                    type: string
                                                  context:
                                                    type: string
                                                    enum:
                                                      - user
                                                      - userTeams
                                                required:
                                                  - property
                                                  - context
                                          operator:
                                            enum:
                                              - '='
                                              - '!='
                                              - containsAny
                                              - contains
                                              - doesNotContains
                                              - beginsWith
                                              - doesNotBeginsWith
                                              - endsWith
                                              - doesNotEndsWith
                                              - in
                                              - notIn
                                          value:
                                            anyOf:
                                              - type: 'null'
                                                title: 'null'
                                              - type: string
                                                title: string
                                              - type: number
                                                title: number
                                              - type: boolean
                                                title: boolean
                                              - type: string
                                                format: date-time
                                                title: date-time
                                              - type: array
                                                items:
                                                  type: string
                                                title: array
                                              - type: array
                                                items:
                                                  type: number
                                                title: array
                                              - type: array
                                                items:
                                                  type: boolean
                                                title: array
                                              - type: array
                                                items:
                                                  type: string
                                                  format: date-time
                                                title: array
                                              - type: object
                                                properties:
                                                  property:
                                                    type: string
                                                  context:
                                                    type: string
                                                    enum:
                                                      - user
                                                      - userTeams
                                                required:
                                                  - property
                                                  - context
                                        additionalProperties: false
                                        required:
                                          - property
                                          - operator
                                          - value
                                  - type: object
                                    title: Relation Rule
                                    properties:
                                      operator:
                                        enum:
                                          - relatedTo
                                      blueprint:
                                        type: string
                                      value:
                                        anyOf:
                                          - type: string
                                            title: string
                                          - type: array
                                            items:
                                              type: string
                                            title: array
                                      direction:
                                        enum:
                                          - upstream
                                          - downstream
                                      required:
                                        type: boolean
                                    additionalProperties: false
                                    required:
                                      - operator
                                      - value
                                      - blueprint
                                  - type: object
                                    title: Property schema rule
                                    properties:
                                      propertySchema:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          format:
                                            type: string
                                          items:
                                            type: object
                                            properties:
                                              type:
                                                type: string
                                              format:
                                                type: string
                                            required:
                                              - type
                                        required:
                                          - type
                                        additionalProperties: false
                                      operator:
                                        enum:
                                          - '='
                                          - '!='
                                          - contains
                                      value:
                                        anyOf:
                                          - type: 'null'
                                            title: 'null'
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                    required:
                                      - operator
                                      - propertySchema
                                    additionalProperties: false
                                  - type: object
                                    title: matchAny Rule
                                    anyOf:
                                      - type: object
                                        properties:
                                          property:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  path:
                                                    type: array
                                                    minItems: 1
                                                    items:
                                                      anyOf:
                                                        - type: string
                                                        - type: object
                                                          properties:
                                                            relation:
                                                              type: string
                                                            maxHops:
                                                              type: number
                                                              minimum: 1
                                                              maximum: 15
                                                  fromBlueprint:
                                                    type: string
                                                required:
                                                  - path
                                                additionalProperties: false
                                              - oneOf:
                                                  - type: string
                                                  - type: object
                                                    properties:
                                                      property:
                                                        type: string
                                                      context:
                                                        type: string
                                                        enum:
                                                          - user
                                                          - userTeams
                                                    required:
                                                      - property
                                                      - context
                                          operator:
                                            type: string
                                            enum:
                                              - matchAny
                                          value:
                                            anyOf:
                                              - type: array
                                                items:
                                                  type: string
                                              - oneOf:
                                                  - type: string
                                                  - type: object
                                                    properties:
                                                      property:
                                                        type: string
                                                      context:
                                                        type: string
                                                        enum:
                                                          - user
                                                          - userTeams
                                                    required:
                                                      - property
                                                      - context
                                        required:
                                          - property
                                          - operator
                                          - value
                                        additionalProperties: false
                                  - $ref: '#/components/schemas/def-1'
                            combinator:
                              type: string
                              enum:
                                - and
                                - or
                          required:
                            - type
                            - rules
                            - combinator
                      dependencies:
                        condition:
                          - blueprintIdentifier
                      required:
                        - type
                        - userInputs
                        - operation
                      additionalProperties: false
                      title: Self-service (DAY-2/DELETE)
                    - type: object
                      description: The trigger definition of the action.
                      properties:
                        operation:
                          type: string
                          enum:
                            - CREATE
                          description: The [operation type](https://docs.port.io/workflows/actions-and-automations/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/workflows/actions-and-automations/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]$
                      required:
                        - type
                        - userInputs
                        - operation
                      additionalProperties: false
                      title: Self-service (CREATE)
                    - type: object
                      description: The trigger definition of the action.
                      properties:
                        type:
                          type: string
                          enum:
                            - automation
                        event:
                          description: The [event](https://docs.port.io/workflows/actions-and-automations/define-automations/setup-trigger) that triggers the action.
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ENTITY_CREATED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Entity created
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ENTITY_UPDATED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Entity updated
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ENTITY_DELETED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Entity deleted
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - TIMER_PROPERTY_EXPIRED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                                propertyIdentifier:
                                  type: string
                                  description: The identifier of the timer property in the specified blueprint.
                              required:
                                - type
                                - blueprintIdentifier
                                - propertyIdentifier
                              additionalProperties: false
                              title: Timer property expired
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ANY_ENTITY_CHANGE
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Any entity change
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - RUN_CREATED
                                actionIdentifier:
                                  type: string
                              required:
                                - type
                                - actionIdentifier
                              additionalProperties: false
                              title: Run created
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - RUN_UPDATED
                                actionIdentifier:
                                  type: string
                              required:
                                - type
                                - actionIdentifier
                              additionalProperties: false
                              title: Run updated
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ANY_RUN_CHANGE
                                actionIdentifier:
                                  type: string
                              required:
                                - type
                                - actionIdentifier
                              additionalProperties: false
                              title: Any run change
                        condition:
                          description: Filters used to include/exclude specific entities from the automation.
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - JQ
                                expressions:
                                  type: array
                                  items:
                                    type: string
                                  description: An array of [jq expressions](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/structure-and-syntax) used to filter entities.<br/>Read more [here](https://docs.port.io/workflows/actions-and-automations/define-automations/setup-trigger#conditions).
                                combinator:
                                  type: string
                                  enum:
                                    - and
                                    - or
                              required:
                                - type
                                - expressions
                              additionalProperties: false
                              title: JQ
                      required:
                        - type
                        - event
                      additionalProperties: false
                      title: Automation
                invocationMethod:
                  description: Details the action's backend type and details.
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - KAFKA
                        payload:
                          description: An object containing the [action payload](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/setup-the-backend/#define-the-payload).
                          oneOf:
                            - type: array
                            - type: object
                      required:
                        - type
                      additionalProperties: false
                      title: Kafka
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - WEBHOOK
                        url:
                          type: string
                          description: The URL of the webhook.
                        agent:
                          oneOf:
                            - type: boolean
                            - type: string
                          description: If `true`, Port's [execution agent](https://docs.port.io/workflows/actions-and-automations/setup-backend/webhook/port-execution-agent/) will be used to handle invocations of this action.
                        synchronized:
                          oneOf:
                            - type: boolean
                            - type: string
                          description: If `true`, the action will be executed [synchronously](https://docs.port.io/workflows/actions-and-automations/setup-backend/webhook/#sync-vs-async-execution).
                        method:
                          type: string
                          description: The HTTP method of the webhook (`POST`, `PUT`, `PATCH`, or `DELETE`).
                        headers:
                          type: object
                          additionalProperties:
                            type: string
                          description: A JSON object containing the headers to be sent to the webhook in each execution, in `"key"`:`"value"` pairs.
                        body:
                          oneOf:
                            - type: array
                            - type: object
                          description: The body sent to the webhook in each execution. This is where the [action payload](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/setup-the-backend/#define-the-payload) is specified.
                      required:
                        - type
                        - url
                      additionalProperties: false
                      title: Webhook
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - GITHUB
                        org:
                          type: string
                        repo:
                          type: string
                        workflow:
                          type: string
                        workflowInputs:
                          type: object
                        reportWorkflowStatus:
                          oneOf:
                            - type: boolean
                            - type: string
                      required:
                        - type
                        - org
                        - repo
                        - workflow
                      additionalProperties: false
                      title: GitHub
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - INTEGRATION_ACTION
                        installationId:
                          type: string
                        integrationActionType:
                          type: string
                          enum:
                            - dispatch_workflow
                            - trigger_pipeline
                            - update_repo_external_custom_properties
                        integrationActionExecutionProperties:
                          type: object
                      required:
                        - type
                        - installationId
                        - integrationActionType
                        - integrationActionExecutionProperties
                      additionalProperties: false
                      title: Integration Action
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - GITLAB
                        projectName:
                          type: string
                        groupName:
                          type: string
                        defaultRef:
                          type: string
                        pipelineVariables:
                          type: object
                      required:
                        - type
                        - projectName
                        - groupName
                      additionalProperties: false
                      title: GitLab
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - AZURE_DEVOPS
                        webhook:
                          type: string
                        org:
                          type: string
                        payload:
                          oneOf:
                            - type: array
                            - type: object
                      required:
                        - type
                        - webhook
                        - org
                      additionalProperties: false
                      title: Azure DevOps
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - UPSERT_ENTITY
                        blueprintIdentifier:
                          type: string
                        mapping:
                          type: object
                          properties:
                            identifier:
                              type: string
                            title:
                              type: string
                            team:
                              oneOf:
                                - type: string
                                - type: array
                                  items:
                                    type: string
                            icon:
                              type: string
                            properties:
                              type: object
                            relations:
                              type: object
                              additionalProperties:
                                oneOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                  - type: 'null'
                          required: []
                      required:
                        - type
                        - blueprintIdentifier
                        - mapping
                      additionalProperties: false
                      title: Upsert Entity
                requiredApproval:
                  description: Determines whether the action requires approval before execution.<br/>Choose `ALL` to require all specified users to approve the action, or `ANY` to require only one.
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ANY
                            - ALL
                      required:
                        - type
                      additionalProperties: false
                      title: User/s
                    - type: boolean
                      title: boolean
                approvalNotification:
                  type: object
                  description: The notification configuration for the approval process. Relevant only if `requiredApproval` is set to `true`.
                  properties:
                    type:
                      type: string
                      enum:
                        - webhook
                        - email
                        - none
                      default: email
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - webhook
                        format:
                          type: string
                          enum:
                            - json
                            - slack
                        url:
                          type: string
                          format: uri
                      required:
                        - type
                        - url
                      additionalProperties: false
                      title: Webhook
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - email
                      required:
                        - type
                      additionalProperties: false
                      title: Email
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - none
                      required:
                        - type
                      additionalProperties: false
                      title: None
                  required:
                    - type
                publish:
                  type: boolean
                  description: Only relevant for **automations**. If `false`, the automation will be inactive (will not be triggered).
                allowAnyoneToViewRuns:
                  type: boolean
                  description: Whether members can view the runs of this action.
              additionalProperties: false
              required:
                - identifier
                - trigger
                - invocationMethod
        required: true
      security:
        - bearer:
            - create:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get actions/automations
      tags:
        - Actions
      description: 'This route allows you to fetch one or more self-service actions and/or automations in your Port account.<br/><br/>The call will perform a logical `AND` between all query parameters below, and return all actions and automations that match the criteria.<br/><br/>To learn more about actions and automations, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/overview/).<br/><br/>:::info Version parameter<br/>Set the `version` parameter to `v2` for the latest version of the API.:::'
      parameters:
        - schema:
            type: array
            items:
              type: string
          in: query
          name: action_identifier
          required: false
          description: The identifier/s of the action/s and/or automation/s you want to fetch.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
          in: query
          name: blueprint_identifier
          required: false
          description: The identifier/s of the blueprint/s whose actions/automations you wish to fetch.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
              enum:
                - DAY-2
                - DELETE
                - CREATE
          in: query
          name: operation
          required: false
          description: The [operation type/s](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/setup-ui-for-action/#basic-details) of the action/s you want to fetch. Relevant only for self-service actions.
          style: form
          explode: true
        - schema:
            type: boolean
          in: query
          name: published
          required: false
          description: Only relevant for **automations**. If `true`, only published automations will be fetched.
        - schema:
            type: string
            enum:
              - self-service
              - automation
          in: query
          name: trigger_type
          required: false
        - schema:
            type: array
            items:
              type: string
              enum:
                - ENTITY_CREATED
                - ENTITY_UPDATED
                - ENTITY_DELETED
                - TIMER_PROPERTY_EXPIRED
                - ANY_ENTITY_CHANGE
                - RUN_CREATED
                - RUN_UPDATED
                - ANY_RUN_CHANGE
          in: query
          name: trigger_event
          required: false
          description: The event/s that triggered the automation/s you want to fetch. Relevant only for automations.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
          in: query
          name: trigger_event_action_identifier
          required: false
          style: form
          explode: true
        - schema:
            type: string
            enum:
              - v1
              - v2
          in: query
          name: version
          required: false
          description: Specifies the API version to use. Please use `v2` for the latest version of the API.
      security:
        - bearer:
            - read:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/actions/{action_identifier}:
    put:
      summary: Change an action/automation
      tags:
        - Actions
      description: This route allows you to change the details of an existing 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/workflows/actions-and-automations/overview/).
      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/workflows/actions-and-automations/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/workflows/actions-and-automations/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
                                        title: Expired Rule
                                        properties:
                                          operator:
                                            enum:
                                              - isExpired
                                              - isNotExpired
                                          property:
                                            type: string
                                        required:
                                          - operator
                                          - property
                                        additionalProperties: false
                                  - type: object
                                    title: String Rule
                                    oneOf:
                                      - type: object
                                        title: String Rule
                                        properties:
                                          property:
                                            oneOf:
                                              - type: string
                                              - type: object
                                                properties:
                                                  property:
                                                    type: string
                                                  context:
                                                    type: string
                                                    enum:
                                                      - user
                                                      - userTeams
                                                required:
                                                  - property
                                                  - context
                                          operator:
                                            enum:
                                              - '='
                                              - '!='
                                              - containsAny
                                              - contains
                                              - doesNotContains
                                              - beginsWith
                                              - doesNotBeginsWith
                                              - endsWith
                                              - doesNotEndsWith
                                              - in
                                              - notIn
                                          value:
                                            anyOf:
                                              - type: 'null'
                                                title: 'null'
                                              - type: string
                                                title: string
                                              - type: number
                                                title: number
                                              - type: boolean
                                                title: boolean
                                              - type: string
                                                format: date-time
                                                title: date-time
                                              - type: array
                                                items:
                                                  type: string
                                                title: array
                                              - type: array
                                                items:
                                                  type: number
                                                title: array
                                              - type: array
                                                items:
                                                  type: boolean
                                                title: array
                                              - type: array
                                                items:
                                                  type: string
                                                  format: date-time
                                                title: array
                                              - type: object
                                                properties:
                                                  property:
                                                    type: string
                                                  context:
                                                    type: string
                                                    enum:
                                                      - user
                                                      - userTeams
                                                required:
                                                  - property
                                                  - context
                                        additionalProperties: false
                                        required:
                                          - property
                                          - operator
                                          - value
                                  - type: object
                                    title: Relation Rule
                                    properties:
                                      operator:
                                        enum:
                                          - relatedTo
                                      blueprint:
                                        type: string
                                      value:
                                        anyOf:
                                          - type: string
                                            title: string
                                          - type: array
                                            items:
                                              type: string
                                            title: array
                                      direction:
                                        enum:
                                          - upstream
                                          - downstream
                                      required:
                                        type: boolean
                                    additionalProperties: false
                                    required:
                                      - operator
                                      - value
                                      - blueprint
                                  - type: object
                                    title: Property schema rule
                                    properties:
                                      propertySchema:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          format:
                                            type: string
                                          items:
                                            type: object
                                            properties:
                                              type:
                                                type: string
                                              format:
                                                type: string
                                            required:
                                              - type
                                        required:
                                          - type
                                        additionalProperties: false
                                      operator:
                                        enum:
                                          - '='
                                          - '!='
                                          - contains
                                      value:
                                        anyOf:
                                          - type: 'null'
                                            title: 'null'
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                    required:
                                      - operator
                                      - propertySchema
                                    additionalProperties: false
                                  - type: object
                                    title: matchAny Rule
                                    anyOf:
                                      - type: object
                                        properties:
                                          property:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  path:
                                                    type: array
                                                    minItems: 1
                                                    items:
                                                      anyOf:
                                                        - type: string
                                                        - type: object
                                                          properties:
                                                            relation:
                                                              type: string
                                                            maxHops:
                                                              type: number
                                                              minimum: 1
                                                              maximum: 15
                                                  fromBlueprint:
                                                    type: string
                                                required:
                                                  - path
                                                additionalProperties: false
                                              - oneOf:
                                                  - type: string
                                                  - type: object
                                                    properties:
                                                      property:
                                                        type: string
                                                      context:
                                                        type: string
                                                        enum:
                                                          - user
                                                          - userTeams
                                                    required:
                                                      - property
                                                      - context
                                          operator:
                                            type: string
                                            enum:
                                              - matchAny
                                          value:
                                            anyOf:
                                              - type: array
                                                items:
                                                  type: string
                                              - oneOf:
                                                  - type: string
                                                  - type: object
                                                    properties:
                                                      property:
                                                        type: string
                                                      context:
                                                        type: string
                                                        enum:
                                                          - user
                                                          - userTeams
                                                    required:
                                                      - property
                                                      - context
                                        required:
                                          - property
                                          - operator
                                          - value
                                        additionalProperties: false
                                  - $ref: '#/components/schemas/def-1'
                            combinator:
                              type: string
                              enum:
                                - and
                                - or
                          required:
                            - type
                            - rules
                            - combinator
                      dependencies:
                        condition:
                          - blueprintIdentifier
                      required:
                        - type
                        - userInputs
                        - operation
                      additionalProperties: false
                      title: Self-service (DAY-2/DELETE)
                    - type: object
                      description: The trigger definition of the action.
                      properties:
                        operation:
                          type: string
                          enum:
                            - CREATE
                          description: The [operation type](https://docs.port.io/workflows/actions-and-automations/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/workflows/actions-and-automations/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]$
                      required:
                        - type
                        - userInputs
                        - operation
                      additionalProperties: false
                      title: Self-service (CREATE)
                    - type: object
                      description: The trigger definition of the action.
                      properties:
                        type:
                          type: string
                          enum:
                            - automation
                        event:
                          description: The [event](https://docs.port.io/workflows/actions-and-automations/define-automations/setup-trigger) that triggers the action.
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ENTITY_CREATED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Entity created
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ENTITY_UPDATED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Entity updated
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ENTITY_DELETED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Entity deleted
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - TIMER_PROPERTY_EXPIRED
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                                propertyIdentifier:
                                  type: string
                                  description: The identifier of the timer property in the specified blueprint.
                              required:
                                - type
                                - blueprintIdentifier
                                - propertyIdentifier
                              additionalProperties: false
                              title: Timer property expired
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ANY_ENTITY_CHANGE
                                blueprintIdentifier:
                                  type: string
                                  description: The identifier of the blueprint whose entities will trigger the automation.
                              required:
                                - type
                                - blueprintIdentifier
                              additionalProperties: false
                              title: Any entity change
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - RUN_CREATED
                                actionIdentifier:
                                  type: string
                              required:
                                - type
                                - actionIdentifier
                              additionalProperties: false
                              title: Run created
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - RUN_UPDATED
                                actionIdentifier:
                                  type: string
                              required:
                                - type
                                - actionIdentifier
                              additionalProperties: false
                              title: Run updated
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - ANY_RUN_CHANGE
                                actionIdentifier:
                                  type: string
                              required:
                                - type
                                - actionIdentifier
                              additionalProperties: false
                              title: Any run change
                        condition:
                          description: Filters used to include/exclude specific entities from the automation.
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - JQ
                                expressions:
                                  type: array
                                  items:
                                    type: string
                                  description: An array of [jq expressions](https://docs.port.io/context-lake/consuming-the-lake/search-and-query/structure-and-syntax) used to filter entities.<br/>Read more [here](https://docs.port.io/workflows/actions-and-automations/define-automations/setup-trigger#conditions).
                                combinator:
                                  type: string
                                  enum:
                                    - and
                                    - or
                              required:
                                - type
                                - expressions
                              additionalProperties: false
                              title: JQ
                      required:
                        - type
                        - event
                      additionalProperties: false
                      title: Automation
                invocationMethod:
                  description: Details the action's backend type and details.
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - KAFKA
                        payload:
                          description: An object containing the [action payload](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/setup-the-backend/#define-the-payload).
                          oneOf:
                            - type: array
                            - type: object
                      required:
                        - type
                      additionalProperties: false
                      title: Kafka
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - WEBHOOK
                        url:
                          type: string
                          description: The URL of the webhook.
                        agent:
                          oneOf:
                            - type: boolean
                            - type: string
                          description: If `true`, Port's [execution agent](https://docs.port.io/workflows/actions-and-automations/setup-backend/webhook/port-execution-agent/) will be used to handle invocations of this action.
                        synchronized:
                          oneOf:
                            - type: boolean
                            - type: string
                          description: If `true`, the action will be executed [synchronously](https://docs.port.io/workflows/actions-and-automations/setup-backend/webhook/#sync-vs-async-execution).
                        method:
                          type: string
                          description: The HTTP method of the webhook (`POST`, `PUT`, `PATCH`, or `DELETE`).
                        headers:
                          type: object
                          additionalProperties:
                            type: string
                          description: A JSON object containing the headers to be sent to the webhook in each execution, in `"key"`:`"value"` pairs.
                        body:
                          oneOf:
                            - type: array
                            - type: object
                          description: The body sent to the webhook in each execution. This is where the [action payload](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/setup-the-backend/#define-the-payload) is specified.
                      required:
                        - type
                        - url
                      additionalProperties: false
                      title: Webhook
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - GITHUB
                        org:
                          type: string
                        repo:
                          type: string
                        workflow:
                          type: string
                        workflowInputs:
                          type: object
                        reportWorkflowStatus:
                          oneOf:
                            - type: boolean
                            - type: string
                      required:
                        - type
                        - org
                        - repo
                        - workflow
                      additionalProperties: false
                      title: GitHub
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - INTEGRATION_ACTION
                        installationId:
                          type: string
                        integrationActionType:
                          type: string
                          enum:
                            - dispatch_workflow
                            - trigger_pipeline
                            - update_repo_external_custom_properties
                        integrationActionExecutionProperties:
                          type: object
                      required:
                        - type
                        - installationId
                        - integrationActionType
                        - integrationActionExecutionProperties
                      additionalProperties: false
                      title: Integration Action
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - GITLAB
                        projectName:
                          type: string
                        groupName:
                          type: string
                        defaultRef:
                          type: string
                        pipelineVariables:
                          type: object
                      required:
                        - type
                        - projectName
                        - groupName
                      additionalProperties: false
                      title: GitLab
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - AZURE_DEVOPS
                        webhook:
                          type: string
                        org:
                          type: string
                        payload:
                          oneOf:
                            - type: array
                            - type: object
                      required:
                        - type
                        - webhook
                        - org
                      additionalProperties: false
                      title: Azure DevOps
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - UPSERT_ENTITY
                        blueprintIdentifier:
                          type: string
                        mapping:
                          type: object
                          properties:
                            identifier:
                              type: string
                            title:
                              type: string
                            team:
                              oneOf:
                                - type: string
                                - type: array
                                  items:
                                    type: string
                            icon:
                              type: string
                            properties:
                              type: object
                            relations:
                              type: object
                              additionalProperties:
                                oneOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                  - type: 'null'
                          required: []
                      required:
                        - type
                        - blueprintIdentifier
                        - mapping
                      additionalProperties: false
                      title: Upsert Entity
                requiredApproval:
                  description: Determines whether the action requires approval before execution.<br/>Choose `ALL` to require all specified users to approve the action, or `ANY` to require only one.
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ANY
                            - ALL
                      required:
                        - type
                      additionalProperties: false
                      title: User/s
                    - type: boolean
                      title: boolean
                approvalNotification:
                  type: object
                  description: The notification configuration for the approval process. Relevant only if `requiredApproval` is set to `true`.
                  properties:
                    type:
                      type: string
                      enum:
                        - webhook
                        - email
                        - none
                      default: email
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - webhook
                        format:
                          type: string
                          enum:
                            - json
                            - slack
                        url:
                          type: string
                          format: uri
                      required:
                        - type
                        - url
                      additionalProperties: false
                      title: Webhook
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - email
                      required:
                        - type
                      additionalProperties: false
                      title: Email
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - none
                      required:
                        - type
                      additionalProperties: false
                      title: None
                  required:
                    - type
                publish:
                  type: boolean
                  description: Only relevant for **automations**. If `false`, the automation will be inactive (will not be triggered).
                allowAnyoneToViewRuns:
                  type: boolean
                  description: Whether members can view the runs of this action.
              additionalProperties: false
              required:
                - identifier
                - trigger
                - invocationMethod
        required: true
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: action_identifier
          required: true
          description: The identifier of the action/automation you want to operate on.
      security:
        - bearer:
            - update:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get an action/automation
      tags:
        - Actions
      description: This route allows you to fetch the details of a self-service action or automation.<br/><br/>To learn more about actions and automations, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/overview/).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: action_identifier
          required: true
          description: The identifier of the action/automation you want to operate on.
      security:
        - bearer:
            - read:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    delete:
      summary: Delete an action/automation
      tags:
        - Actions
      description: This route allows you to delete a self-service action or automation.<br/><br/>To learn more about actions and automations, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/overview/).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: action_identifier
          required: true
          description: The identifier of the action/automation you want to operate on.
      security:
        - bearer:
            - delete:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/actions:
    post:
      summary: This route is deprecated since November 20th 2024
      tags:
        - Actions
      description: This route is deprecated since November 20th 2024
      requestBody:
        content:
          application/json:
            schema:
              type: object
              nullable: true
      parameters:
        - schema: object
          in: path
          name: type
          required: true
        - schema: true
          in: path
          name: nullable
          required: true
      deprecated: true
      security:
        - bearer:
            - create:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    put:
      summary: This route is deprecated since November 20th 2024
      tags:
        - Actions
      description: This route is deprecated since November 20th 2024
      requestBody:
        content:
          application/json:
            schema:
              type: object
              nullable: true
      parameters:
        - schema: object
          in: path
          name: type
          required: true
        - schema: true
          in: path
          name: nullable
          required: true
      deprecated: true
      security:
        - bearer:
            - update:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: This route is deprecated since November 20th 2024
      tags:
        - Actions
      description: This route is deprecated since November 20th 2024
      parameters:
        - schema: object
          in: path
          name: type
          required: true
        - schema: true
          in: path
          name: nullable
          required: true
      deprecated: true
      security:
        - bearer:
            - read:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/blueprints/{blueprint_identifier}/actions/{action_identifier}:
    put:
      summary: This route is deprecated since November 20th 2024
      tags:
        - Actions
      description: This route is deprecated since November 20th 2024
      requestBody:
        content:
          application/json:
            schema:
              type: object
              nullable: true
      parameters:
        - schema: object
          in: path
          name: type
          required: true
        - schema: true
          in: path
          name: nullable
          required: true
      deprecated: true
      security:
        - bearer:
            - update:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: This route is deprecated since November 20th 2024
      tags:
        - Actions
      description: This route is deprecated since November 20th 2024
      parameters:
        - schema: object
          in: path
          name: type
          required: true
        - schema: true
          in: path
          name: nullable
          required: true
      deprecated: true
      security:
        - bearer:
            - read:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    delete:
      summary: This route is deprecated since November 20th 2024
      tags:
        - Actions
      description: This route is deprecated since November 20th 2024
      parameters:
        - schema: object
          in: path
          name: type
          required: true
        - schema: true
          in: path
          name: nullable
          required: true
      deprecated: true
      security:
        - bearer:
            - delete:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/actions/{action_identifier}/runs:
    post:
      summary: Execute a self-service action
      tags:
        - Action Runs
      description: This route allows you to execute a self-service action, thus creating an action run.<br/><br/>To learn more about action runs, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                properties:
                  type: object
                  description: The action's user inputs, in `"key"`:`"value"` pairs, where the key is the input's identifier and the value is the input's value.
                entity:
                  type: string
                  description: The identifier of the entity that the action will be executed on, if relevant.
              additionalProperties: false
              required:
                - properties
        required: true
      parameters:
        - schema:
            type: string
            format: email
          in: query
          name: run_as
          required: false
          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 used to execute this route).
        - schema:
            type: string
            minLength: 1
          in: path
          name: action_identifier
          required: true
          description: The identifier of the action/automation you want to operate on.
      security:
        - bearer: []
      responses:
        '202':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  run:
                    type: object
                    properties:
                      id:
                        type: string
                      blueprint:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      entity:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      action:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      properties:
                        type: object
                      rawProperties:
                        type: object
                      endedAt:
                        type: string
                        format: date-time
                      source:
                        type:
                          - string
                          - object
                      requiredApproval:
                        type:
                          - boolean
                          - object
                        properties:
                          type:
                            type: string
                            enum:
                              - ALL
                              - ANY
                        required:
                          - type
                      status:
                        type: string
                      statusLabel:
                        type:
                          - string
                          - 'null'
                      link:
                        type:
                          - array
                          - string
                        items:
                          type: string
                      summary:
                        type: string
                      approval:
                        type:
                          - object
                          - 'null'
                        properties:
                          description:
                            type: string
                          userId:
                            type:
                              - string
                              - 'null'
                          impersonatedUserId:
                            type:
                              - string
                              - 'null'
                          state:
                            type: string
                      payload:
                        type:
                          - object
                          - 'null'
                        properties:
                          type:
                            type: string
                          url:
                            type: string
                            format: uri
                          agent:
                            type: boolean
                          synchronized:
                            type: boolean
                          method:
                            type: string
                          headers:
                            type: object
                            properties:
                              RUN_ID:
                                type: string
                          body:
                            type: object
                            properties:
                              port_context:
                                type: object
                                properties:
                                  runId:
                                    type: string
                      response:
                        type:
                          - string
                          - array
                          - object
                        items: {}
                      pendingExecution:
                        type: boolean
                      claimedUntil:
                        type: string
                        format: date-time
                      installationId:
                        type: string
                      createdBy:
                        type: string
                      impersonatedBy:
                        type: string
                      impersonatedUserId:
                        type: string
                      updatedBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - id
                      - action
                      - properties
                      - requiredApproval
                      - source
                      - status
                required:
                  - ok
                additionalProperties: false
                description: OK
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/actions/runs/{run_id}:
    patch:
      summary: Update an action run
      tags:
        - Action Runs
      description: This route allows you to update an action run's details. This can be used to update the run's status & label, and add links to it (e.g. external logs of the job runner).<br/><br/>To learn more about action runs, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - SUCCESS
                    - FAILURE
                statusLabel:
                  type: string
                  description: A label to describe the status of the action run.
                link:
                  description: One or more links to be displayed in the run's page in Port. For example, a link to the external logs of the job runner.
                  oneOf:
                    - type: string
                      title: string
                    - type: array
                      title: array
                      items:
                        type: string
                message:
                  type: object
                  deprecated: true
                summary:
                  type: string
                  description: A summary of the action run, which will be displayed in the run's page in Port.
                externalRunId:
                  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`.
              additionalProperties: false
      parameters:
        - schema:
            type: string
            enum:
              - v1
              - v2
          in: query
          name: version
          required: false
          description: Specifies the API version to use. Please use `v2` for the latest version of the API.
        - schema:
            type: string
          in: path
          name: run_id
          required: true
          description: The identifier of the action run.
      security:
        - bearer: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  run:
                    type: object
                    properties:
                      id:
                        type: string
                      blueprint:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      entity:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      action:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      properties:
                        type: object
                      rawProperties:
                        type: object
                      endedAt:
                        type: string
                        format: date-time
                      source:
                        type:
                          - string
                          - object
                      requiredApproval:
                        type:
                          - boolean
                          - object
                        properties:
                          type:
                            type: string
                            enum:
                              - ALL
                              - ANY
                        required:
                          - type
                      status:
                        type: string
                      statusLabel:
                        type:
                          - string
                          - 'null'
                      link:
                        type:
                          - array
                          - string
                        items:
                          type: string
                      summary:
                        type: string
                      approval:
                        type:
                          - object
                          - 'null'
                        properties:
                          description:
                            type: string
                          userId:
                            type:
                              - string
                              - 'null'
                          impersonatedUserId:
                            type:
                              - string
                              - 'null'
                          state:
                            type: string
                      payload:
                        type:
                          - object
                          - 'null'
                        properties:
                          type:
                            type: string
                          url:
                            type: string
                            format: uri
                          agent:
                            type: boolean
                          synchronized:
                            type: boolean
                          method:
                            type: string
                          headers:
                            type: object
                            properties:
                              RUN_ID:
                                type: string
                          body:
                            type: object
                            properties:
                              port_context:
                                type: object
                                properties:
                                  runId:
                                    type: string
                      response:
                        type:
                          - string
                          - array
                          - object
                        items: {}
                      pendingExecution:
                        type: boolean
                      claimedUntil:
                        type: string
                        format: date-time
                      installationId:
                        type: string
                      createdBy:
                        type: string
                      impersonatedBy:
                        type: string
                      impersonatedUserId:
                        type: string
                      updatedBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - id
                      - action
                      - properties
                      - requiredApproval
                      - source
                      - status
                required:
                  - ok
                additionalProperties: false
                description: OK
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get an action run's details
      tags:
        - Action Runs
      description: 'This route allows you to fetch the details of an action run.<br/><br/>To learn more about action runs, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/).<br/><br/>:::info Version parameter<br/>Set the `version` parameter to `v2` for the latest version of the API.<br/>:::'
      parameters:
        - schema:
            type: string
            enum:
              - v1
              - v2
          in: query
          name: version
          required: false
          description: Specifies the API version to use. Please use `v2` for the latest version of the API.
        - schema:
            type: string
          in: path
          name: run_id
          required: true
          description: The identifier of the action run.
      security:
        - bearer:
            - read:runs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  run:
                    type: object
                    properties:
                      id:
                        type: string
                      blueprint:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      entity:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      action:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      properties:
                        type: object
                      rawProperties:
                        type: object
                      endedAt:
                        type: string
                        format: date-time
                      source:
                        type:
                          - string
                          - object
                      requiredApproval:
                        type:
                          - boolean
                          - object
                        properties:
                          type:
                            type: string
                            enum:
                              - ALL
                              - ANY
                        required:
                          - type
                      status:
                        type: string
                      statusLabel:
                        type:
                          - string
                          - 'null'
                      link:
                        type:
                          - array
                          - string
                        items:
                          type: string
                      summary:
                        type: string
                      approval:
                        type:
                          - object
                          - 'null'
                        properties:
                          description:
                            type: string
                          userId:
                            type:
                              - string
                              - 'null'
                          impersonatedUserId:
                            type:
                              - string
                              - 'null'
                          state:
                            type: string
                      payload:
                        type:
                          - object
                          - 'null'
                        properties:
                          type:
                            type: string
                          url:
                            type: string
                            format: uri
                          agent:
                            type: boolean
                          synchronized:
                            type: boolean
                          method:
                            type: string
                          headers:
                            type: object
                            properties:
                              RUN_ID:
                                type: string
                          body:
                            type: object
                            properties:
                              port_context:
                                type: object
                                properties:
                                  runId:
                                    type: string
                      response:
                        type:
                          - string
                          - array
                          - object
                        items: {}
                      pendingExecution:
                        type: boolean
                      claimedUntil:
                        type: string
                        format: date-time
                      installationId:
                        type: string
                      createdBy:
                        type: string
                      impersonatedBy:
                        type: string
                      impersonatedUserId:
                        type: string
                      updatedBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - id
                      - action
                      - properties
                      - requiredApproval
                      - source
                      - status
                required:
                  - ok
                additionalProperties: false
                description: OK
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/actions/runs/{run_id}/approval:
    patch:
      summary: Approve an action run
      tags:
        - Action Runs
      description: 'This route allows you to approve or decline a request to execute an action that requires approval.<br/><br/>To learn more about manual approval for actions, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions).<br/><br/>:::info Version parameter value<br/>Set the `version` parameter to `v2` for the latest version of the API.<br/>:::'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - DECLINE
                    - APPROVE
                description:
                  type: string
                  description: A description and/or reason for the given status.
              additionalProperties: false
              required:
                - status
        required: true
      parameters:
        - schema:
            type: string
            enum:
              - v1
              - v2
          in: query
          name: version
          required: false
          description: Specifies the API version to use. Please use `v2` for the latest version of the API.
        - schema:
            type: string
          in: path
          name: run_id
          required: true
          description: The identifier of the action run.
      security:
        - bearer: []
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  run:
                    type: object
                    properties:
                      id:
                        type: string
                      blueprint:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      entity:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      action:
                        type: object
                        properties:
                          identifier:
                            type: string
                          title:
                            type:
                              - string
                              - 'null'
                          icon:
                            type:
                              - string
                              - 'null'
                          deleted:
                            type: boolean
                        required:
                          - identifier
                      properties:
                        type: object
                      rawProperties:
                        type: object
                      endedAt:
                        type: string
                        format: date-time
                      source:
                        type:
                          - string
                          - object
                      requiredApproval:
                        type:
                          - boolean
                          - object
                        properties:
                          type:
                            type: string
                            enum:
                              - ALL
                              - ANY
                        required:
                          - type
                      status:
                        type: string
                      statusLabel:
                        type:
                          - string
                          - 'null'
                      link:
                        type:
                          - array
                          - string
                        items:
                          type: string
                      summary:
                        type: string
                      approval:
                        type:
                          - object
                          - 'null'
                        properties:
                          description:
                            type: string
                          userId:
                            type:
                              - string
                              - 'null'
                          impersonatedUserId:
                            type:
                              - string
                              - 'null'
                          state:
                            type: string
                      payload:
                        type:
                          - object
                          - 'null'
                        properties:
                          type:
                            type: string
                          url:
                            type: string
                            format: uri
                          agent:
                            type: boolean
                          synchronized:
                            type: boolean
                          method:
                            type: string
                          headers:
                            type: object
                            properties:
                              RUN_ID:
                                type: string
                          body:
                            type: object
                            properties:
                              port_context:
                                type: object
                                properties:
                                  runId:
                                    type: string
                      response:
                        type:
                          - string
                          - array
                          - object
                        items: {}
                      pendingExecution:
                        type: boolean
                      claimedUntil:
                        type: string
                        format: date-time
                      installationId:
                        type: string
                      createdBy:
                        type: string
                      impersonatedBy:
                        type: string
                      impersonatedUserId:
                        type: string
                      updatedBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - id
                      - action
                      - properties
                      - requiredApproval
                      - source
                      - status
                required:
                  - ok
                additionalProperties: false
                description: OK
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/actions/runs:
    get:
      summary: Get all action runs
      tags:
        - Action Runs
      description: 'This route allows you to fetch all action runs in your Port account. The route will perform a logical `AND` between all query parameters below, and return all action runs that match the criteria.<br/><br/>**Pagination:** Results are sorted by creation time (newest first). Use the `next` token from the response to fetch subsequent pages. When `next` is absent, there are no more results. Note that RBAC filtering may cause a page to contain fewer items than `limit`, or even return an empty `runs` array while `next` is still present — always use the absence of `next` as the signal that there are no more results.<br/><br/>To learn more about action runs, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/).<br/><br/>:::info Version parameter<br/>Set the `version` parameter to `v2` for the latest version of the API.<br/>:::'
      parameters:
        - schema:
            type: string
          in: query
          name: entity
          required: false
          description: The identifier of the entity associated with the action run.
        - schema:
            type: string
          in: query
          name: blueprint
          required: false
          description: The identifier of the blueprint associated with the action run.
        - schema:
            type: boolean
          in: query
          name: active
          required: false
          description: If `true`, only running action runs will be fetched.
        - schema:
            type: string
          in: query
          name: user_email
          required: false
          description: The email of the user who initiated the action run.
        - schema:
            type: string
          in: query
          name: user_id
          required: false
          description: The id of the user who initiated the action run.
        - schema:
            type: number
            minimum: 1
            maximum: 1000
          in: query
          name: limit
          required: false
          description: The maximum number of action runs to fetch.
        - schema:
            type: array
            items:
              type: string
          in: query
          name: exclude
          required: false
          description: The fields to exclude from the response
          style: form
          explode: true
        - schema:
            type: string
          in: query
          name: external_run_id
          required: false
          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`.
        - schema:
            type: string
            enum:
              - v1
              - v2
          in: query
          name: version
          required: false
          description: Specifies the API version to use. Please use `v2` for the latest version of the API.
        - schema:
            type: string
          in: query
          name: action
          required: false
        - schema:
            type: array
            items:
              type: string
              enum:
                - UI
                - API
                - AUTOMATION
          in: query
          name: source
          required: false
          style: form
          explode: true
        - schema:
            type: string
          in: query
          name: next
          required: false
          description: An opaque cursor for pagination. Pass the `next` value from the previous response to fetch the next page of results.
      security:
        - bearer:
            - read:runs
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  runs:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        blueprint:
                          type: object
                          properties:
                            identifier:
                              type: string
                            title:
                              type:
                                - string
                                - 'null'
                            icon:
                              type:
                                - string
                                - 'null'
                            deleted:
                              type: boolean
                          required:
                            - identifier
                        entity:
                          type: object
                          properties:
                            identifier:
                              type: string
                            title:
                              type:
                                - string
                                - 'null'
                            icon:
                              type:
                                - string
                                - 'null'
                            deleted:
                              type: boolean
                          required:
                            - identifier
                        action:
                          type: object
                          properties:
                            identifier:
                              type: string
                            title:
                              type:
                                - string
                                - 'null'
                            icon:
                              type:
                                - string
                                - 'null'
                            deleted:
                              type: boolean
                          required:
                            - identifier
                        properties:
                          type: object
                        rawProperties:
                          type: object
                        endedAt:
                          type: string
                          format: date-time
                        source:
                          type:
                            - string
                            - object
                        requiredApproval:
                          type:
                            - boolean
                            - object
                          properties:
                            type:
                              type: string
                              enum:
                                - ALL
                                - ANY
                          required:
                            - type
                        status:
                          type: string
                        statusLabel:
                          type:
                            - string
                            - 'null'
                        link:
                          type:
                            - array
                            - string
                          items:
                            type: string
                        summary:
                          type: string
                        approval:
                          type:
                            - object
                            - 'null'
                          properties:
                            description:
                              type: string
                            userId:
                              type:
                                - string
                                - 'null'
                            impersonatedUserId:
                              type:
                                - string
                                - 'null'
                            state:
                              type: string
                        payload:
                          type:
                            - object
                            - 'null'
                          properties:
                            type:
                              type: string
                            url:
                              type: string
                              format: uri
                            agent:
                              type: boolean
                            synchronized:
                              type: boolean
                            method:
                              type: string
                            headers:
                              type: object
                              properties:
                                RUN_ID:
                                  type: string
                            body:
                              type: object
                              properties:
                                port_context:
                                  type: object
                                  properties:
                                    runId:
                                      type: string
                        response:
                          type:
                            - string
                            - array
                            - object
                          items: {}
                        pendingExecution:
                          type: boolean
                        claimedUntil:
                          type: string
                          format: date-time
                        installationId:
                          type: string
                        createdBy:
                          type: string
                        impersonatedBy:
                          type: string
                        impersonatedUserId:
                          type: string
                        updatedBy:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - action
                        - properties
                        - requiredApproval
                        - source
                        - status
                  next:
                    type: string
                    description: An opaque cursor for fetching the next page. Absent when there are no more results.
                required:
                  - ok
                additionalProperties: false
                description: Retrieved successfully.
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/actions/runs/{run_id}/logs:
    post:
      summary: Add a log to an action run
      tags:
        - Action Runs
      description: This route allows you to send a log message back to Port, which will be displayed in the action run's page. You can also use this route to update the run's termination status (SUCCESS/FAILURE) and label describing the status.<br/><br/>To learn more about action runs, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                terminationStatus:
                  type: string
                  enum:
                    - SUCCESS
                    - FAILURE
                  description: The termination status of the action run. Can be left blank if you only want to send a log message.
                statusLabel:
                  type: string
                  description: A label to describe the status of the action run. Can be left blank if you only want to send a log message.
                message:
                  type: string
                  description: The log message to send back to Port.
              additionalProperties: false
              required:
                - message
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: run_id
          required: true
          description: The identifier of the action run.
      security:
        - bearer: []
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  runLog:
                    type: object
                    properties:
                      id:
                        type: string
                      runId:
                        type: string
                      message:
                        type: string
                      createdBy:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                    required:
                      - id
                      - runId
                      - message
                      - createdBy
                      - createdAt
                required:
                  - ok
                additionalProperties: false
                description: OK
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get an action's run logs
      tags:
        - Action Runs
      description: This route allows you to fetch the logs from an action run.<br/><br/>To learn more about action runs, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/reflect-action-progress/).
      parameters:
        - schema:
            type: number
            minimum: 1
            maximum: 50
          in: query
          name: limit
          required: false
          description: The maximum number of logs to fetch.
        - schema:
            type: number
          in: query
          name: offset
          required: false
          description: The number of logs to skip.
        - schema:
            type: string
          in: path
          name: run_id
          required: true
          description: The identifier of the action run.
      security:
        - bearer: []
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  runLogs:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        runId:
                          type: string
                        message:
                          type: string
                        createdBy:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - runId
                        - message
                        - createdBy
                        - createdAt
                required:
                  - ok
                additionalProperties: false
                description: Retrieved successfully.
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/actions/runs/{run_id}/approvers:
    get:
      summary: Get an action run's approvers
      tags:
        - Action Runs
      description: This route allows you to fetch the approvers of a specific action run.<br/><br/>To learn more about manual approval for actions, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions).
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: include_pending_approvers
          required: true
          description: If `true`, the route will also return the users who have not yet approved the action run.
        - schema:
            type: string
          in: path
          name: run_id
          required: true
          description: The identifier of the action run.
      security:
        - bearer:
            - read:runs
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  approvers:
                    type: array
                    items:
                      type: object
                      properties:
                        userId:
                          type: string
                        state:
                          type: string
                        description:
                          type: string
                          nullable: true
                      required:
                        - userId
                        - state
                required:
                  - ok
                additionalProperties: false
                description: Retrieved successfully.
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/pages:
    get:
      summary: Get all pages in your portal
      tags:
        - Pages
      description: This route allows you to get all pages in your portal.<br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      parameters:
        - schema:
            type: boolean
            default: false
          in: query
          name: compact
          required: true
        - schema:
            type: boolean
            default: false
          in: query
          name: includePrivate
          required: false
      security:
        - bearer: []
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  pages:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                          pattern: ^(?!\.{1,2}$)(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$RunsHistory\b|\$home)*$
                          minLength: 1
                          example: string
                        blueprint:
                          type: string
                        title:
                          type: string
                        description:
                          type: string
                        icon:
                          type: string
                        sidebar:
                          type: string
                          nullable: true
                          enum:
                            - null
                            - catalog
                        parent:
                          type: string
                          nullable: true
                        after:
                          type: string
                          nullable: true
                        locked:
                          type: boolean
                        requiredQueryParams:
                          type: array
                          items:
                            type: string
                        widgets:
                          type: array
                          items:
                            $ref: '#/components/schemas/def-8'
                        type:
                          type: string
                          enum:
                            - run
                            - user
                            - team
                            - entity
                            - users-and-teams
                            - runs-history
                            - audit-log
                            - blueprint-entities
                            - dashboard
                            - home
                        visibility:
                          type: string
                          enum:
                            - private
                            - org
                          default: org
                        showInSidebar:
                          type: boolean
                          default: true
                        section:
                          type: string
                          enum:
                            - software_catalog
                            - organization
                          default: software_catalog
                        pageFilters:
                          type: array
                          items:
                            type: object
                            properties:
                              query:
                                type: object
                                properties:
                                  blueprint:
                                    type: string
                                  combinator:
                                    enum:
                                      - and
                                    description: The combinator to use for the rules.
                                  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
                                              title: Expired Rule
                                              properties:
                                                operator:
                                                  enum:
                                                    - isExpired
                                                    - isNotExpired
                                                property:
                                                  type: string
                                              required:
                                                - operator
                                                - property
                                              additionalProperties: false
                                        - type: object
                                          title: String Rule
                                          oneOf:
                                            - type: object
                                              title: String Rule
                                              properties:
                                                property:
                                                  oneOf:
                                                    - type: string
                                                    - type: object
                                                      properties:
                                                        property:
                                                          type: string
                                                        context:
                                                          type: string
                                                          enum:
                                                            - user
                                                            - userTeams
                                                      required:
                                                        - property
                                                        - context
                                                operator:
                                                  enum:
                                                    - '='
                                                    - '!='
                                                    - containsAny
                                                    - contains
                                                    - doesNotContains
                                                    - beginsWith
                                                    - doesNotBeginsWith
                                                    - endsWith
                                                    - doesNotEndsWith
                                                    - in
                                                    - notIn
                                                value:
                                                  anyOf:
                                                    - type: 'null'
                                                      title: 'null'
                                                    - type: string
                                                      title: string
                                                    - type: number
                                                      title: number
                                                    - type: boolean
                                                      title: boolean
                                                    - type: string
                                                      format: date-time
                                                      title: date-time
                                                    - type: array
                                                      items:
                                                        type: string
                                                      title: array
                                                    - type: array
                                                      items:
                                                        type: number
                                                      title: array
                                                    - type: array
                                                      items:
                                                        type: boolean
                                                      title: array
                                                    - type: array
                                                      items:
                                                        type: string
                                                        format: date-time
                                                      title: array
                                                    - type: object
                                                      properties:
                                                        property:
                                                          type: string
                                                        context:
                                                          type: string
                                                          enum:
                                                            - user
                                                            - userTeams
                                                      required:
                                                        - property
                                                        - context
                                              additionalProperties: false
                                              required:
                                                - property
                                                - operator
                                                - value
                                        - type: object
                                          title: Relation Rule
                                          properties:
                                            operator:
                                              enum:
                                                - relatedTo
                                            blueprint:
                                              type: string
                                            value:
                                              anyOf:
                                                - type: string
                                                  title: string
                                                - type: array
                                                  items:
                                                    type: string
                                                  title: array
                                            direction:
                                              enum:
                                                - upstream
                                                - downstream
                                            required:
                                              type: boolean
                                          additionalProperties: false
                                          required:
                                            - operator
                                            - value
                                            - blueprint
                                        - type: object
                                          title: Property schema rule
                                          properties:
                                            propertySchema:
                                              type: object
                                              properties:
                                                type:
                                                  type: string
                                                format:
                                                  type: string
                                                items:
                                                  type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                    format:
                                                      type: string
                                                  required:
                                                    - type
                                              required:
                                                - type
                                              additionalProperties: false
                                            operator:
                                              enum:
                                                - '='
                                                - '!='
                                                - contains
                                            value:
                                              anyOf:
                                                - type: 'null'
                                                  title: 'null'
                                                - type: string
                                                  title: string
                                                - type: number
                                                  title: number
                                                - type: boolean
                                                  title: boolean
                                          required:
                                            - operator
                                            - propertySchema
                                          additionalProperties: false
                                        - type: object
                                          title: matchAny Rule
                                          anyOf:
                                            - type: object
                                              properties:
                                                property:
                                                  oneOf:
                                                    - type: object
                                                      properties:
                                                        path:
                                                          type: array
                                                          minItems: 1
                                                          items:
                                                            anyOf:
                                                              - type: string
                                                              - type: object
                                                                properties:
                                                                  relation:
                                                                    type: string
                                                                  maxHops:
                                                                    type: number
                                                                    minimum: 1
                                                                    maximum: 15
                                                        fromBlueprint:
                                                          type: string
                                                      required:
                                                        - path
                                                      additionalProperties: false
                                                    - oneOf:
                                                        - type: string
                                                        - type: object
                                                          properties:
                                                            property:
                                                              type: string
                                                            context:
                                                              type: string
                                                              enum:
                                                                - user
                                                                - userTeams
                                                          required:
                                                            - property
                                                            - context
                                                operator:
                                                  type: string
                                                  enum:
                                                    - matchAny
                                                value:
                                                  anyOf:
                                                    - type: array
                                                      items:
                                                        type: string
                                                    - oneOf:
                                                        - type: string
                                                        - type: object
                                                          properties:
                                                            property:
                                                              type: string
                                                            context:
                                                              type: string
                                                              enum:
                                                                - user
                                                                - userTeams
                                                          required:
                                                            - property
                                                            - context
                                              required:
                                                - property
                                                - operator
                                                - value
                                              additionalProperties: false
                                        - $ref: '#/components/schemas/def-1'
                                required:
                                  - combinator
                                  - rules
                                additionalProperties: false
                                example:
                                  combinator: and
                                  rules:
                                    - property: $blueprint
                                      operator: '='
                                      value: service
                                title: /schemas/filterTag
                              identifier:
                                type: string
                              title:
                                type: string
                            required:
                              - identifier
                              - title
                              - query
                            additionalProperties: false
                        protected:
                          type: boolean
                        owner:
                          type: string
                required:
                  - pages
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    post:
      summary: Create a page
      tags:
        - Pages
      description: This route allows you to create pages in your portal.<br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$RunsHistory\b|\$home)*$
                  minLength: 1
                  example: string
                blueprint:
                  type: string
                title:
                  type: string
                description:
                  type: string
                icon:
                  type: string
                sidebar:
                  type: string
                  nullable: true
                  enum:
                    - null
                    - catalog
                parent:
                  type: string
                  nullable: true
                after:
                  type: string
                  nullable: true
                locked:
                  type: boolean
                requiredQueryParams:
                  type: array
                  items:
                    type: string
                widgets:
                  type: array
                  items:
                    $ref: '#/components/schemas/def-8'
                type:
                  type: string
                  enum:
                    - run
                    - user
                    - team
                    - entity
                    - users-and-teams
                    - runs-history
                    - audit-log
                    - blueprint-entities
                    - dashboard
                    - home
                visibility:
                  type: string
                  enum:
                    - private
                    - org
                  default: org
                showInSidebar:
                  type: boolean
                  default: true
                section:
                  type: string
                  enum:
                    - software_catalog
                    - organization
                  default: software_catalog
                pageFilters:
                  type: array
                  items:
                    type: object
                    properties:
                      query:
                        type: object
                        properties:
                          blueprint:
                            type: string
                          combinator:
                            enum:
                              - and
                            description: The combinator to use for the rules.
                          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
                                      title: Expired Rule
                                      properties:
                                        operator:
                                          enum:
                                            - isExpired
                                            - isNotExpired
                                        property:
                                          type: string
                                      required:
                                        - operator
                                        - property
                                      additionalProperties: false
                                - type: object
                                  title: String Rule
                                  oneOf:
                                    - type: object
                                      title: String Rule
                                      properties:
                                        property:
                                          oneOf:
                                            - type: string
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                        operator:
                                          enum:
                                            - '='
                                            - '!='
                                            - containsAny
                                            - contains
                                            - doesNotContains
                                            - beginsWith
                                            - doesNotBeginsWith
                                            - endsWith
                                            - doesNotEndsWith
                                            - in
                                            - notIn
                                        value:
                                          anyOf:
                                            - type: 'null'
                                              title: 'null'
                                            - type: string
                                              title: string
                                            - type: number
                                              title: number
                                            - type: boolean
                                              title: boolean
                                            - type: string
                                              format: date-time
                                              title: date-time
                                            - type: array
                                              items:
                                                type: string
                                              title: array
                                            - type: array
                                              items:
                                                type: number
                                              title: array
                                            - type: array
                                              items:
                                                type: boolean
                                              title: array
                                            - type: array
                                              items:
                                                type: string
                                                format: date-time
                                              title: array
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                      additionalProperties: false
                                      required:
                                        - property
                                        - operator
                                        - value
                                - type: object
                                  title: Relation Rule
                                  properties:
                                    operator:
                                      enum:
                                        - relatedTo
                                    blueprint:
                                      type: string
                                    value:
                                      anyOf:
                                        - type: string
                                          title: string
                                        - type: array
                                          items:
                                            type: string
                                          title: array
                                    direction:
                                      enum:
                                        - upstream
                                        - downstream
                                    required:
                                      type: boolean
                                  additionalProperties: false
                                  required:
                                    - operator
                                    - value
                                    - blueprint
                                - type: object
                                  title: Property schema rule
                                  properties:
                                    propertySchema:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                        format:
                                          type: string
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                            format:
                                              type: string
                                          required:
                                            - type
                                      required:
                                        - type
                                      additionalProperties: false
                                    operator:
                                      enum:
                                        - '='
                                        - '!='
                                        - contains
                                    value:
                                      anyOf:
                                        - type: 'null'
                                          title: 'null'
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                  required:
                                    - operator
                                    - propertySchema
                                  additionalProperties: false
                                - type: object
                                  title: matchAny Rule
                                  anyOf:
                                    - type: object
                                      properties:
                                        property:
                                          oneOf:
                                            - type: object
                                              properties:
                                                path:
                                                  type: array
                                                  minItems: 1
                                                  items:
                                                    anyOf:
                                                      - type: string
                                                      - type: object
                                                        properties:
                                                          relation:
                                                            type: string
                                                          maxHops:
                                                            type: number
                                                            minimum: 1
                                                            maximum: 15
                                                fromBlueprint:
                                                  type: string
                                              required:
                                                - path
                                              additionalProperties: false
                                            - oneOf:
                                                - type: string
                                                - type: object
                                                  properties:
                                                    property:
                                                      type: string
                                                    context:
                                                      type: string
                                                      enum:
                                                        - user
                                                        - userTeams
                                                  required:
                                                    - property
                                                    - context
                                        operator:
                                          type: string
                                          enum:
                                            - matchAny
                                        value:
                                          anyOf:
                                            - type: array
                                              items:
                                                type: string
                                            - oneOf:
                                                - type: string
                                                - type: object
                                                  properties:
                                                    property:
                                                      type: string
                                                    context:
                                                      type: string
                                                      enum:
                                                        - user
                                                        - userTeams
                                                  required:
                                                    - property
                                                    - context
                                      required:
                                        - property
                                        - operator
                                        - value
                                      additionalProperties: false
                                - $ref: '#/components/schemas/def-1'
                        required:
                          - combinator
                          - rules
                        additionalProperties: false
                        example:
                          combinator: and
                          rules:
                            - property: $blueprint
                              operator: '='
                              value: service
                        title: /schemas/filterTag
                      identifier:
                        type: string
                      title:
                        type: string
                    required:
                      - identifier
                      - title
                      - query
                    additionalProperties: false
              additionalProperties: true
              required:
                - identifier
              example:
                identifier: my_dashboard
                title: My Dashboard
                icon: Home
                type: dashboard
                widgets:
                  - id: dashboardWidget
                    type: dashboard-widget
                    layout:
                      - height: 400
                        columns:
                          - id: pie-chart-1
                            size: 12
                    widgets:
                      - id: pie-chart-1
                        type: entities-pie-chart
                        title: Services by Status
                        icon: Pie
                        blueprint: service
                        property: property#status
                        dataset:
                          combinator: and
                          rules:
                            - property: $blueprint
                              operator: '='
                              value: service
        required: true
      security:
        - bearer: []
      responses:
        '201':
          description: Created successfully
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/pages/{identifier}:
    get:
      summary: Get a page
      tags:
        - Pages
      description: This route allows you to get a specific page in your portal.<br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  page:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^(?!\.{1,2}$)(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$RunsHistory\b|\$home)*$
                        minLength: 1
                        example: string
                      blueprint:
                        type: string
                      title:
                        type: string
                      description:
                        type: string
                      icon:
                        type: string
                      sidebar:
                        type: string
                        nullable: true
                        enum:
                          - null
                          - catalog
                      parent:
                        type: string
                        nullable: true
                      after:
                        type: string
                        nullable: true
                      locked:
                        type: boolean
                      requiredQueryParams:
                        type: array
                        items:
                          type: string
                      widgets:
                        type: array
                        items:
                          $ref: '#/components/schemas/def-8'
                      type:
                        type: string
                        enum:
                          - run
                          - user
                          - team
                          - entity
                          - users-and-teams
                          - runs-history
                          - audit-log
                          - blueprint-entities
                          - dashboard
                          - home
                      visibility:
                        type: string
                        enum:
                          - private
                          - org
                        default: org
                      showInSidebar:
                        type: boolean
                        default: true
                      section:
                        type: string
                        enum:
                          - software_catalog
                          - organization
                        default: software_catalog
                      pageFilters:
                        type: array
                        items:
                          type: object
                          properties:
                            query:
                              type: object
                              properties:
                                blueprint:
                                  type: string
                                combinator:
                                  enum:
                                    - and
                                  description: The combinator to use for the rules.
                                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
                                            title: Expired Rule
                                            properties:
                                              operator:
                                                enum:
                                                  - isExpired
                                                  - isNotExpired
                                              property:
                                                type: string
                                            required:
                                              - operator
                                              - property
                                            additionalProperties: false
                                      - type: object
                                        title: String Rule
                                        oneOf:
                                          - type: object
                                            title: String Rule
                                            properties:
                                              property:
                                                oneOf:
                                                  - type: string
                                                  - type: object
                                                    properties:
                                                      property:
                                                        type: string
                                                      context:
                                                        type: string
                                                        enum:
                                                          - user
                                                          - userTeams
                                                    required:
                                                      - property
                                                      - context
                                              operator:
                                                enum:
                                                  - '='
                                                  - '!='
                                                  - containsAny
                                                  - contains
                                                  - doesNotContains
                                                  - beginsWith
                                                  - doesNotBeginsWith
                                                  - endsWith
                                                  - doesNotEndsWith
                                                  - in
                                                  - notIn
                                              value:
                                                anyOf:
                                                  - type: 'null'
                                                    title: 'null'
                                                  - type: string
                                                    title: string
                                                  - type: number
                                                    title: number
                                                  - type: boolean
                                                    title: boolean
                                                  - type: string
                                                    format: date-time
                                                    title: date-time
                                                  - type: array
                                                    items:
                                                      type: string
                                                    title: array
                                                  - type: array
                                                    items:
                                                      type: number
                                                    title: array
                                                  - type: array
                                                    items:
                                                      type: boolean
                                                    title: array
                                                  - type: array
                                                    items:
                                                      type: string
                                                      format: date-time
                                                    title: array
                                                  - type: object
                                                    properties:
                                                      property:
                                                        type: string
                                                      context:
                                                        type: string
                                                        enum:
                                                          - user
                                                          - userTeams
                                                    required:
                                                      - property
                                                      - context
                                            additionalProperties: false
                                            required:
                                              - property
                                              - operator
                                              - value
                                      - type: object
                                        title: Relation Rule
                                        properties:
                                          operator:
                                            enum:
                                              - relatedTo
                                          blueprint:
                                            type: string
                                          value:
                                            anyOf:
                                              - type: string
                                                title: string
                                              - type: array
                                                items:
                                                  type: string
                                                title: array
                                          direction:
                                            enum:
                                              - upstream
                                              - downstream
                                          required:
                                            type: boolean
                                        additionalProperties: false
                                        required:
                                          - operator
                                          - value
                                          - blueprint
                                      - type: object
                                        title: Property schema rule
                                        properties:
                                          propertySchema:
                                            type: object
                                            properties:
                                              type:
                                                type: string
                                              format:
                                                type: string
                                              items:
                                                type: object
                                                properties:
                                                  type:
                                                    type: string
                                                  format:
                                                    type: string
                                                required:
                                                  - type
                                            required:
                                              - type
                                            additionalProperties: false
                                          operator:
                                            enum:
                                              - '='
                                              - '!='
                                              - contains
                                          value:
                                            anyOf:
                                              - type: 'null'
                                                title: 'null'
                                              - type: string
                                                title: string
                                              - type: number
                                                title: number
                                              - type: boolean
                                                title: boolean
                                        required:
                                          - operator
                                          - propertySchema
                                        additionalProperties: false
                                      - type: object
                                        title: matchAny Rule
                                        anyOf:
                                          - type: object
                                            properties:
                                              property:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      path:
                                                        type: array
                                                        minItems: 1
                                                        items:
                                                          anyOf:
                                                            - type: string
                                                            - type: object
                                                              properties:
                                                                relation:
                                                                  type: string
                                                                maxHops:
                                                                  type: number
                                                                  minimum: 1
                                                                  maximum: 15
                                                      fromBlueprint:
                                                        type: string
                                                    required:
                                                      - path
                                                    additionalProperties: false
                                                  - oneOf:
                                                      - type: string
                                                      - type: object
                                                        properties:
                                                          property:
                                                            type: string
                                                          context:
                                                            type: string
                                                            enum:
                                                              - user
                                                              - userTeams
                                                        required:
                                                          - property
                                                          - context
                                              operator:
                                                type: string
                                                enum:
                                                  - matchAny
                                              value:
                                                anyOf:
                                                  - type: array
                                                    items:
                                                      type: string
                                                  - oneOf:
                                                      - type: string
                                                      - type: object
                                                        properties:
                                                          property:
                                                            type: string
                                                          context:
                                                            type: string
                                                            enum:
                                                              - user
                                                              - userTeams
                                                        required:
                                                          - property
                                                          - context
                                            required:
                                              - property
                                              - operator
                                              - value
                                            additionalProperties: false
                                      - $ref: '#/components/schemas/def-1'
                              required:
                                - combinator
                                - rules
                              additionalProperties: false
                              example:
                                combinator: and
                                rules:
                                  - property: $blueprint
                                    operator: '='
                                    value: service
                            identifier:
                              type: string
                            title:
                              type: string
                          required:
                            - identifier
                            - title
                            - query
                          additionalProperties: false
                      protected:
                        type: boolean
                      owner:
                        type: string
                required:
                  - page
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Patch a page
      tags:
        - Pages
      description: This route allows you to partially update a specific page in your portal.<br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)(?:[A-Za-z0-9@_.:\/=\-]|\$team\b|\$users\b|\$user\b|\$AuditLog\b|\$run\b|\$RunsHistory\b|\$home)*$
                  minLength: 1
                  example: string
                blueprint:
                  type: string
                title:
                  type: string
                description:
                  type: string
                icon:
                  type: string
                parent:
                  type: string
                  nullable: true
                after:
                  type: string
                  nullable: true
                locked:
                  type: boolean
                widgets:
                  type: array
                  items:
                    $ref: '#/components/schemas/def-8'
                showInSidebar:
                  type: boolean
                  default: true
                section:
                  type: string
                  enum:
                    - software_catalog
                    - organization
                  default: software_catalog
                pageFilters:
                  type: array
                  items:
                    type: object
                    properties:
                      query:
                        type: object
                        properties:
                          blueprint:
                            type: string
                          combinator:
                            enum:
                              - and
                            description: The combinator to use for the rules.
                          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
                                      title: Expired Rule
                                      properties:
                                        operator:
                                          enum:
                                            - isExpired
                                            - isNotExpired
                                        property:
                                          type: string
                                      required:
                                        - operator
                                        - property
                                      additionalProperties: false
                                - type: object
                                  title: String Rule
                                  oneOf:
                                    - type: object
                                      title: String Rule
                                      properties:
                                        property:
                                          oneOf:
                                            - type: string
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                        operator:
                                          enum:
                                            - '='
                                            - '!='
                                            - containsAny
                                            - contains
                                            - doesNotContains
                                            - beginsWith
                                            - doesNotBeginsWith
                                            - endsWith
                                            - doesNotEndsWith
                                            - in
                                            - notIn
                                        value:
                                          anyOf:
                                            - type: 'null'
                                              title: 'null'
                                            - type: string
                                              title: string
                                            - type: number
                                              title: number
                                            - type: boolean
                                              title: boolean
                                            - type: string
                                              format: date-time
                                              title: date-time
                                            - type: array
                                              items:
                                                type: string
                                              title: array
                                            - type: array
                                              items:
                                                type: number
                                              title: array
                                            - type: array
                                              items:
                                                type: boolean
                                              title: array
                                            - type: array
                                              items:
                                                type: string
                                                format: date-time
                                              title: array
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                      additionalProperties: false
                                      required:
                                        - property
                                        - operator
                                        - value
                                - type: object
                                  title: Relation Rule
                                  properties:
                                    operator:
                                      enum:
                                        - relatedTo
                                    blueprint:
                                      type: string
                                    value:
                                      anyOf:
                                        - type: string
                                          title: string
                                        - type: array
                                          items:
                                            type: string
                                          title: array
                                    direction:
                                      enum:
                                        - upstream
                                        - downstream
                                    required:
                                      type: boolean
                                  additionalProperties: false
                                  required:
                                    - operator
                                    - value
                                    - blueprint
                                - type: object
                                  title: Property schema rule
                                  properties:
                                    propertySchema:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                        format:
                                          type: string
                                        items:
                                          type: object
                                          properties:
                                            type:
                                              type: string
                                            format:
                                              type: string
                                          required:
                                            - type
                                      required:
                                        - type
                                      additionalProperties: false
                                    operator:
                                      enum:
                                        - '='
                                        - '!='
                                        - contains
                                    value:
                                      anyOf:
                                        - type: 'null'
                                          title: 'null'
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                  required:
                                    - operator
                                    - propertySchema
                                  additionalProperties: false
                                - type: object
                                  title: matchAny Rule
                                  anyOf:
                                    - type: object
                                      properties:
                                        property:
                                          oneOf:
                                            - type: object
                                              properties:
                                                path:
                                                  type: array
                                                  minItems: 1
                                                  items:
                                                    anyOf:
                                                      - type: string
                                                      - type: object
                                                        properties:
                                                          relation:
                                                            type: string
                                                          maxHops:
                                                            type: number
                                                            minimum: 1
                                                            maximum: 15
                                                fromBlueprint:
                                                  type: string
                                              required:
                                                - path
                                              additionalProperties: false
                                            - oneOf:
                                                - type: string
                                                - type: object
                                                  properties:
                                                    property:
                                                      type: string
                                                    context:
                                                      type: string
                                                      enum:
                                                        - user
                                                        - userTeams
                                                  required:
                                                    - property
                                                    - context
                                        operator:
                                          type: string
                                          enum:
                                            - matchAny
                                        value:
                                          anyOf:
                                            - type: array
                                              items:
                                                type: string
                                            - oneOf:
                                                - type: string
                                                - type: object
                                                  properties:
                                                    property:
                                                      type: string
                                                    context:
                                                      type: string
                                                      enum:
                                                        - user
                                                        - userTeams
                                                  required:
                                                    - property
                                                    - context
                                      required:
                                        - property
                                        - operator
                                        - value
                                      additionalProperties: false
                                - $ref: '#/components/schemas/def-1'
                        required:
                          - combinator
                          - rules
                        additionalProperties: false
                        example:
                          combinator: and
                          rules:
                            - property: $blueprint
                              operator: '='
                              value: service
                      identifier:
                        type: string
                      title:
                        type: string
                    required:
                      - identifier
                      - title
                      - query
                    additionalProperties: false
                visibility:
                  type: string
                  enum:
                    - private
                    - org
              additionalProperties: false
              required: []
              example:
                title: My Dashboard - Manager View 2
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  identifier:
                    type: string
                additionalProperties: false
                required:
                  - ok
                  - identifier
                description: Updated successfully
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    delete:
      summary: Delete a page
      tags:
        - Pages
      description: This route allows you to delete a specific page in your portal.<br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Deleted successfully
          content:
            application/json:
              schema:
                description: Deleted successfully
                type: object
                properties:
                  ok:
                    enum:
                      - true
                additionalProperties: false
                required:
                  - ok
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/pages/{identifier}/duplicate:
    post:
      summary: Duplicate a page
      tags:
        - Pages
      description: Creates a copy of an existing page with the same page permissions.
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer: []
      responses:
        '201':
          description: Duplicated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  identifier:
                    type: string
                additionalProperties: false
                required:
                  - ok
                  - identifier
                description: Duplicated successfully
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/pages/{page_identifier}/widgets:
    post:
      summary: Create a widget
      tags:
        - Pages
      description: This route allows you to create a widget in a specific page in your portal. <br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                widget:
                  $ref: '#/components/schemas/def-8'
                parentWidgetId:
                  type: string
              additionalProperties: false
              required:
                - widget
                - parentWidgetId
        required: true
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: page_identifier
          required: true
      security:
        - bearer: []
      responses:
        '201':
          description: Created successfully
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/pages/{page_identifier}/widgets/{widget_id}:
    patch:
      summary: Update a widget
      tags:
        - Pages
      description: This route allows you to update a specific widget in your portal. <br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: Partial update for an existing widget. Allowed keys depend on the stored widget type; you can check the schema for each widget in the POST widget route. `type` and `id` cannot be changed. Use `null` to clear a property.
              example:
                title: Updated widget title
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: page_identifier
          required: true
        - schema:
            type: string
            minLength: 1
          in: path
          name: widget_id
          required: true
      security:
        - bearer: []
      responses:
        '200':
          description: Updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  identifier:
                    type: string
                additionalProperties: false
                required:
                  - ok
                  - identifier
                description: Updated successfully
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    delete:
      summary: Delete a widget
      tags:
        - Pages
      description: This route allows you to delete a specific widget in your portal. <br/><br/>To learn more about pages, checkout the [documentation](https://docs.port.io/interface-builder/port-interface/page/catalog-page).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: page_identifier
          required: true
        - schema:
            type: string
            minLength: 1
          in: path
          name: widget_id
          required: true
      security:
        - bearer: []
      responses:
        '200':
          description: Deleted successfully
          content:
            application/json:
              schema:
                description: Deleted successfully
                type: object
                properties:
                  ok:
                    enum:
                      - true
                additionalProperties: false
                required:
                  - ok
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/organization:
    get:
      summary: Get organization details
      tags:
        - Organization
      description: This route allows you to fetch the details of your Port organization, such as its name, id, and hidden blueprints.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    put:
      summary: Change organization details
      tags:
        - Organization
      description: This route allows you to change the details of your Port organization, such as its name and hidden blueprints.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the organization.
                settings:
                  type: object
                  properties:
                    hiddenBlueprints:
                      type: array
                      items:
                        type: string
                      description: An array of blueprint identifiers that should be hidden.
                    federatedLogout:
                      type: boolean
                    portalIcon:
                      type: string
                    portalTitle:
                      type: string
                      maxLength: 30
                announcement:
                  type: object
                  required:
                    - content
                  properties:
                    enabled:
                      type: boolean
                    content:
                      type: string
                      maxLength: 300
                      minLength: 1
                    link:
                      type:
                        - string
                        - 'null'
                      maxLength: 300
                    color:
                      type: string
                      enum:
                        - blue
                        - red
                        - green
                        - yellow
                        - orange
                        - pink
                        - purple
                        - turquoise
              additionalProperties: false
              required:
                - name
        required: true
      security:
        - bearer:
            - update:organization
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    enum:
                      - true
                additionalProperties: false
                required:
                  - ok
                description: Updated successfully.
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    patch:
      summary: Update organization details
      tags:
        - Organization
      description: This route allows you to update the details of your Port organization, such as its name and hidden blueprints.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the organization.
                settings:
                  type: object
                  properties:
                    hiddenBlueprints:
                      type: array
                      items:
                        type: string
                      description: An array of blueprint identifiers that should be hidden.
                    federatedLogout:
                      type: boolean
                    portalIcon:
                      type: string
                    portalTitle:
                      type: string
                      maxLength: 30
                    supportUserPermission:
                      type: string
                      enum:
                        - OPT_OUT
                        - OPT_IN
                      description: Permission level for Port support users accessing this organization
                    supportUserTTL:
                      type: string
                      enum:
                        - ONE_DAY
                        - ONE_WEEK
                        - ONE_MONTH
                        - FOREVER
                      description: Time-to-live for Port support user access
                    supportUserExpiresAt:
                      type: string
                      format: date-time
                      description: Expiration date for Port support user access
                    portAgentStreamerName:
                      type: string
                      enum:
                        - KAFKA
                        - POLLING
                      description: Streamer name for Port agent (KAFKA or POLLING).
                    includeBlueprintsInGlobalSearchByDefault:
                      type: boolean
                      description: The org-level default for whether blueprints are included in global search. Individual blueprints can override this via includeInGlobalSearch.
                    forceNewLayout:
                      type: boolean
                      description: Force the new layout for all users in the organization.
                isOnboarded:
                  type: boolean
                toolSelectionProvisioning:
                  type: object
                  properties:
                    status:
                      type: string
                      enum:
                        - IN_PROGRESS
                        - DONE
                  additionalProperties: false
                  required:
                    - status
                announcement:
                  type: object
                  properties:
                    enabled:
                      type: boolean
                    content:
                      type: string
                      maxLength: 300
                      minLength: 1
                    link:
                      type:
                        - string
                        - 'null'
                      maxLength: 300
                    color:
                      type: string
                      enum:
                        - blue
                        - red
                        - green
                        - yellow
                        - orange
                        - pink
                        - purple
                        - turquoise
              additionalProperties: false
      security:
        - bearer:
            - update:organization
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    enum:
                      - true
                additionalProperties: false
                required:
                  - ok
                description: Updated successfully.
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/organization/secrets:
    get:
      summary: Get all organization secrets' metadata
      tags:
        - Organization
      description: This route allows you to retrieve metadata about all secrets in your organization. Note that this endpoint returns only the metadata of the secrets, not the secret content itself.<br/><br/>To learn more about secrets management in Port, check out the [documentation](https://docs.port.io/platform-administration/secrets-management/port-secrets).
      security:
        - bearer:
            - read:secrets
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    post:
      summary: Create an organization secret
      tags:
        - Organization
      description: This route allows you to create an organization secret.<br/><br/>To learn more about secrets management in Port, check out the [documentation](https://docs.port.io/platform-administration/secrets-management/port-secrets).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                secretName:
                  type: string
                  maxLength: 100
                  minLength: 1
                  pattern: ^[A-Za-z0-9-_]*$
                  description: The name of the new secret.
                secretValue:
                  type: string
                  description: The value of the new secret.
                description:
                  type: string
                  maxLength: 200
                  description: An optional description of the new secret.
              additionalProperties: false
              required:
                - secretName
                - secretValue
        required: true
      security:
        - bearer:
            - create:secrets
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/organization/secrets/{secret_name}:
    get:
      summary: Get an organization secret's metadata
      tags:
        - Organization
      description: This route allows you to retrieve metadata about a specific secret in your organization. Note that this endpoint returns only the metadata of the secret, not the secret content itself.<br/><br/>To learn more about secrets management in Port, check out the [documentation](https://docs.port.io/platform-administration/secrets-management/port-secrets).
      parameters:
        - schema:
            type: string
          in: path
          name: secret_name
          required: true
          description: The name of the secret you want to operate on.
      security:
        - bearer:
            - read:secrets
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  secret:
                    type: object
                    properties:
                      secretName:
                        type: string
                      description:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                required:
                  - ok
                  - secret
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update an organization secret
      tags:
        - Organization
      description: This route allows you to update an organization secret.<br/><br/>To learn more about secrets management, check out the [documentation](https://docs.port.io/platform-administration/secrets-management/port-secrets).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                secretValue:
                  type: string
                  description: The new value of the secret.
                description:
                  type: string
                  maxLength: 200
                  description: The new description of the secret.
              additionalProperties: false
              required: []
      parameters:
        - schema:
            type: string
          in: path
          name: secret_name
          required: true
          description: The name of the secret you want to operate on.
      security:
        - bearer:
            - update:secrets
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    delete:
      summary: Delete an organization secret
      tags:
        - Organization
      description: This route allows you to delete an organization secret.<br/><br/>To learn more about secrets management in Port, check out the [documentation](https://docs.port.io/platform-administration/secrets-management/port-secrets).
      parameters:
        - schema:
            type: string
          in: path
          name: secret_name
          required: true
          description: The name of the secret you want to operate on.
      security:
        - bearer:
            - delete:secrets
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/integration/metadata:
    get:
      summary: Get all integrations meta-data (member view)
      tags:
        - Integrations
      description: This route allows members to fetch meta-data on all integrations in their Port organization.<br></br>The response includes each integration's identifier, installation ID, integration type, and last update timestamp.
      security:
        - bearer:
            - read:integrations:basic
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/integration:
    get:
      summary: Get all integrations
      tags:
        - Integrations
      description: This route allows you to fetch all integrations in your Port organization.<br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      parameters:
        - schema:
            type: boolean
          in: query
          name: actionsProcessingEnabled
          required: false
          description: filter by integrations that has actions processing enabled
      security:
        - bearer:
            - read:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/integration/{identifier}:
    get:
      summary: Get an integration
      tags:
        - Integrations
      description: This route allows you to fetch a specific integration in your Port organization.<br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      parameters:
        - schema:
            type: string
            default: installationId
            enum:
              - installationId
              - logIngestId
          in: query
          name: byField
          required: false
          description: The field used to identify the integration. When set to `logIngestId`, the `identifier` parameter should be changed accordingly.
        - schema:
            type: boolean
          in: query
          name: isPolling
          required: false
          description: Whether to return the integration in polling mode.
        - schema:
            type: string
          in: query
          name: oceanCoreVersion
          required: false
          description: The version of the core to use.
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - read:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update an integration
      tags:
        - Integrations
      description: This route allows you to modify an integration in your Port organization.<br/><br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).<br/><br/>**Note:** To trigger a resync of an integration without changing its mapping, simply provide its identifier and leave the body empty.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  nullable: true
                  description: The title of the integration. This will be displayed in the [data-sources page](https://app.port.io/settings/data-sources) of your Port account.
                installationAppType:
                  type: string
                  description: The name of the integrated tool/platform (e.g. `kubernetes`,`pagerduty`).
                version:
                  type: string
                  description: The version of the integration.
                pinnedVersion:
                  type: string
                  description: The pinned version of the integration. If provided, the integration will be pinned to this specific version in the Kubernetes manifest.
                spec:
                  type: object
                  properties:
                    appSpec:
                      type: object
                      additionalProperties: true
                    integrationSpec:
                      type: object
                      additionalProperties: true
                  additionalProperties: false
                actionsProcessingEnabled:
                  type: boolean
                  description: If `true`, This integration will be able to process actions runs
                incrementalSyncEnabled:
                  type: boolean
                  description: If `true`, This integration will run incremental syncs on a schedule
                processingMode:
                  type: string
                  enum:
                    - ocean-core
                    - dsp
                  description: The processing mode for the integration. `ocean_core` uses Ocean core processing, `dsp` uses the data source processor.
                config:
                  type:
                    - object
                    - 'null'
                  additionalProperties: true
                  description: Various configuration options for the integration.
                  properties:
                    deleteDependentEntities:
                      type: boolean
                      description: If `true`, deleting an entity will also delete its dependent entities.
                    createMissingRelatedEntities:
                      type: boolean
                      description: If `true`, creating an entity with a relation to a non-existing entity will also create the related entity.
                    resources:
                      type: array
                      description: The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview).
                      items:
                        type: object
                        required:
                          - kind
                          - selector
                          - port
                        properties:
                          kind:
                            type: string
                            description: The kind of resource to map, as defined in API of the integrated tool/platorm.
                          selector:
                            type: object
                            properties:
                              query:
                                type: string
                                description: A `jq` query used to specify which resources to fetch from the integrated tool/platform. If set to `"true"`, all resources of the specified `kind` will be ingested. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#how-does-mapping-work).
                          port:
                            type: object
                            required:
                              - entity
                            description: An object containing the mapping definitions of the `kind` resource into Port.
                            properties:
                              entity:
                                type: object
                                required:
                                  - mappings
                                properties:
                                  mappings:
                                    description: The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                    oneOf:
                                      - type: array
                                        title: array
                                        items:
                                          type: object
                                          required:
                                            - identifier
                                            - blueprint
                                          properties:
                                            identifier:
                                              oneOf:
                                                - type: string
                                                  title: String identifier
                                                  description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
                                                - type: object
                                                  title: Search query identifier
                                                  description: A search query to define the entity's identifier based on a property of the entity.<br/>Read more [here](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#map-by-property).
                                                  properties:
                                                    combinator:
                                                      type: string
                                                    rules:
                                                      type: array
                                                      items:
                                                        type: object
                                                        additionalProperties: true
                                                  additionalProperties: false
                                                  required:
                                                    - combinator
                                                    - rules
                                            title:
                                              type: string
                                              description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
                                            blueprint:
                                              type: string
                                              description: The identifier of the blueprint to map the data into.
                                            properties:
                                              type: object
                                              additionalProperties: true
                                              description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                            relations:
                                              type: object
                                              additionalProperties: true
                                              description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                      - type: object
                                        required:
                                          - identifier
                                          - blueprint
                                        properties:
                                          identifier:
                                            oneOf:
                                              - type: string
                                                title: String identifier
                                                description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
                                              - type: object
                                                title: Search query identifier
                                                description: A search query to define the entity's identifier based on a property of the entity.<br/>Read more [here](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#map-by-property).
                                                properties:
                                                  combinator:
                                                    type: string
                                                  rules:
                                                    type: array
                                                    items:
                                                      type: object
                                                      additionalProperties: true
                                                additionalProperties: false
                                                required:
                                                  - combinator
                                                  - rules
                                          title:
                                            type: string
                                            description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
                                          blueprint:
                                            type: string
                                            description: The identifier of the blueprint to map the data into.
                                          properties:
                                            type: object
                                            additionalProperties: true
                                            description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                          relations:
                                            type: object
                                            additionalProperties: true
                                            description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                        title: object
                changelogDestination:
                  type: object
                  description: The destination of the integration's changelog.
                  properties:
                    type:
                      type: string
                      enum:
                        - WEBHOOK
                        - KAFKA
                  oneOf:
                    - type: object
                      properties: {}
                      additionalProperties: false
                    - type: object
                      title: Kafka
                      description: The changelog will be sent to the Kafka topic connected to your Port account.
                      properties:
                        type:
                          type: string
                          enum:
                            - KAFKA
                      required:
                        - type
                      additionalProperties: false
                    - type: object
                      title: Webhook
                      description: The changelog will be sent to the specified webhook.
                      properties:
                        type:
                          type: string
                          enum:
                            - WEBHOOK
                        agent:
                          type: boolean
                          description: If `true`, Port's execution agent will be used to send the changelog.
                        url:
                          type: string
                          format: uri
                          description: The URL of the webhook.
                      required:
                        - url
                        - type
                      additionalProperties: false
                arePortResourcesInitialized:
                  type: boolean
                  description: Whether the Port resources are initialized for the integration.
              additionalProperties: true
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - update:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    delete:
      summary: Delete an integration
      tags:
        - Integrations
      description: This route allows you to delete an integration in your Port organization.<br/><br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - delete:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/integration/{identifier}/logs:
    get:
      summary: Get an integration's event logs
      tags:
        - Integrations
      description: This route allows you to fetch the event logs of a specific integration in your Port organization.<br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      parameters:
        - schema:
            type: number
            default: 100
            minimum: 0
            maximum: 300
            nullable: false
          in: query
          name: limit
          required: false
          description: The number of logs to fetch per page.
        - schema:
            type: string
          in: query
          name: timestamp
          required: false
          description: The date of time from which to fetch the logs, in `ISO format IE 2022-04-23T18:25:43.511Z`.
        - schema:
            type: string
          in: query
          name: log_id
          required: false
          description: The identifier of the log.
        - schema:
            type: string
            enum:
              - up
              - down
          in: query
          name: direction
          required: false
          description: Determines whether to fetch logs before or after the specified timestamp.
        - schema:
            type: string
            nullable: true
          in: query
          name: event_id
          required: false
          description: Filter logs belonging to a specific event.
        - schema:
            type: array
            items:
              type: string
              enum:
                - DEBUG
                - INFO
                - WARNING
                - ERROR
                - FATAL
            minItems: 1
            nullable: true
          in: query
          name: levels
          required: false
          description: Filter logs by severity level.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
              enum:
                - load
                - extract
                - transform
            minItems: 1
            nullable: true
          in: query
          name: etl_phases
          required: false
          description: Filter logs by ETL phases.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
            minItems: 1
            nullable: true
          in: query
          name: kinds
          required: false
          description: Filter logs by kinds (e.g `pull-request`, `branch` for GitHub, `issue` for Jira, etc.)
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
            minItems: 1
            nullable: true
          in: query
          name: exclude_event_kinds
          required: false
          description: Exclude logs whose extra.event_kind matches any of these values (e.g. incremental_resync). Omit to return all event kinds.
          style: form
          explode: true
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - read:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/integration/{identifier}/config:
    patch:
      summary: Update an integration's config
      tags:
        - Integrations
      description: This route allows you to modify an integration's configuration in your Port organization.<br/><br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                config:
                  type:
                    - object
                    - 'null'
                  additionalProperties: true
                  description: Various configuration options for the integration.
                  properties:
                    deleteDependentEntities:
                      type: boolean
                      description: If `true`, deleting an entity will also delete its dependent entities.
                    createMissingRelatedEntities:
                      type: boolean
                      description: If `true`, creating an entity with a relation to a non-existing entity will also create the related entity.
                    resources:
                      type: array
                      description: The mapping definition of resources from the integrated tool/platform into Port. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview).
                      items:
                        type: object
                        required:
                          - kind
                          - selector
                          - port
                        properties:
                          kind:
                            type: string
                            description: The kind of resource to map, as defined in API of the integrated tool/platorm.
                          selector:
                            type: object
                            properties:
                              query:
                                type: string
                                description: A `jq` query used to specify which resources to fetch from the integrated tool/platform. If set to `"true"`, all resources of the specified `kind` will be ingested. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#how-does-mapping-work).
                          port:
                            type: object
                            required:
                              - entity
                            description: An object containing the mapping definitions of the `kind` resource into Port.
                            properties:
                              entity:
                                type: object
                                required:
                                  - mappings
                                properties:
                                  mappings:
                                    description: The mapping definitions used to map the resource fields into Port entities. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                    oneOf:
                                      - type: array
                                        title: array
                                        items:
                                          type: object
                                          required:
                                            - identifier
                                            - blueprint
                                          properties:
                                            identifier:
                                              oneOf:
                                                - type: string
                                                  title: String identifier
                                                  description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
                                                - type: object
                                                  title: Search query identifier
                                                  description: A search query to define the entity's identifier based on a property of the entity.<br/>Read more [here](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#map-by-property).
                                                  properties:
                                                    combinator:
                                                      type: string
                                                    rules:
                                                      type: array
                                                      items:
                                                        type: object
                                                        additionalProperties: true
                                                  additionalProperties: false
                                                  required:
                                                    - combinator
                                                    - rules
                                            title:
                                              type: string
                                              description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
                                            blueprint:
                                              type: string
                                              description: The identifier of the blueprint to map the data into.
                                            properties:
                                              type: object
                                              additionalProperties: true
                                              description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                            relations:
                                              type: object
                                              additionalProperties: true
                                              description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                      - type: object
                                        required:
                                          - identifier
                                          - blueprint
                                        properties:
                                          identifier:
                                            oneOf:
                                              - type: string
                                                title: String identifier
                                                description: A `jq` expression used to get data from the integrated tool's API, to be used as an identifier for the entity.
                                              - type: object
                                                title: Search query identifier
                                                description: A search query to define the entity's identifier based on a property of the entity.<br/>Read more [here](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#map-by-property).
                                                properties:
                                                  combinator:
                                                    type: string
                                                  rules:
                                                    type: array
                                                    items:
                                                      type: object
                                                      additionalProperties: true
                                                additionalProperties: false
                                                required:
                                                  - combinator
                                                  - rules
                                          title:
                                            type: string
                                            description: A `jq` expression used to get data from the integrated tool's API, to be used as the title of the entity.
                                          blueprint:
                                            type: string
                                            description: The identifier of the blueprint to map the data into.
                                          properties:
                                            type: object
                                            additionalProperties: true
                                            description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                          relations:
                                            type: object
                                            additionalProperties: true
                                            description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#mapping-concepts).
                                        title: object
                arePortResourcesInitialized:
                  type: boolean
                  description: Whether the Port resources are initialized for the integration.
              additionalProperties: false
              required:
                - config
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - update:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/webhooks:
    post:
      summary: Create a webhook
      tags:
        - Webhook
      description: This route allows you to create a webhook in your Port organization. You can also create it via the [data sources page](https://app.port.io/settings/data-sources) of your Port account.<br/><br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  maxLength: 30
                  description: The identifier of the webhook.
                title:
                  type: string
                  maxLength: 30
                  description: The title of the webhook, which will be displayed in the [data sources page](https://app.port.io/settings/data-sources) of your Port account.
                description:
                  type: string
                  maxLength: 200
                  description: A description for the webhook.
                icon:
                  type: string
                  description: The icon of the webhook.
                mappings:
                  type: array
                  items:
                    type: object
                    properties:
                      operation:
                        oneOf:
                          - title: Advanced create
                            description: |-
                              If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided. For example:
                              ```json
                              {
                                "operation": "create",
                                "blueprint": "blueprint_identifier",
                                "filter": "true",
                                "itemsToParse": "true",
                                "entity": {
                                    "identifier": "new-webhook",
                                    "title": "MyNewWebhook",
                                    "icon": "webhook",
                                    "team": [],
                                    "properties": {
                                      "content": "my content"
                                    },
                                    "relations": {}
                                }
                              }
                              ```
                            enum:
                              - create
                          - type: object
                            title: Create
                            properties:
                              type:
                                enum:
                                  - create
                            required:
                              - type
                            additionalProperties: false
                          - title: Delete
                            description: |-
                              If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                              ```json
                              {


                                "operation": "delete",
                                "filter": "true",
                                "itemsToParse": "true",
                                "blueprint": "blueprint_identifier",
                                "entity": {
                                  "identifier": "entity_identifier"
                                }
                              }
                              ```
                            enum:
                              - delete
                          - type: object
                            title: Advanced delete
                            properties:
                              type:
                                enum:
                                  - delete
                              deleteDependents:
                                type: boolean
                            required:
                              - type
                            additionalProperties: false
                        description: If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided. If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided.
                    if:
                      properties:
                        operation:
                          oneOf:
                            - title: Delete
                              description: |-
                                If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                                ```json
                                {


                                  "operation": "delete",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "blueprint": "blueprint_identifier",
                                  "entity": {
                                    "identifier": "entity_identifier"
                                  }
                                }
                                ```
                              enum:
                                - delete
                            - type: object
                              title: Advanced delete
                              properties:
                                type:
                                  enum:
                                    - delete
                                deleteDependents:
                                  type: boolean
                              required:
                                - type
                              additionalProperties: false
                      required:
                        - operation
                    then:
                      properties:
                        operation:
                          oneOf:
                            - title: Delete
                              description: |-
                                If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                                ```json
                                {


                                  "operation": "delete",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "blueprint": "blueprint_identifier",
                                  "entity": {
                                    "identifier": "entity_identifier"
                                  }
                                }
                                ```
                              enum:
                                - delete
                            - type: object
                              title: Advanced delete
                              properties:
                                type:
                                  enum:
                                    - delete
                                deleteDependents:
                                  type: boolean
                              required:
                                - type
                              additionalProperties: false
                        blueprint:
                          type: string
                          description: The identifier of the blueprint to map the data into.
                        filter:
                          type: string
                          description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
                        itemsToParse:
                          type: string
                          description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
                        entity:
                          type: object
                          properties:
                            identifier:
                              type: string
                          additionalProperties: false
                          required:
                            - identifier
                      required:
                        - blueprint
                        - entity
                      additionalProperties: true
                    else:
                      properties:
                        operation:
                          oneOf:
                            - title: Advanced create
                              description: |-
                                If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided. For example:
                                ```json
                                {
                                  "operation": "create",
                                  "blueprint": "blueprint_identifier",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "entity": {
                                      "identifier": "new-webhook",
                                      "title": "MyNewWebhook",
                                      "icon": "webhook",
                                      "team": [],
                                      "properties": {
                                        "content": "my content"
                                      },
                                      "relations": {}
                                  }
                                }
                                ```
                              enum:
                                - create
                            - type: object
                              title: Create
                              properties:
                                type:
                                  enum:
                                    - create
                              required:
                                - type
                              additionalProperties: false
                        blueprint:
                          type: string
                          description: The identifier of the blueprint to map the data into.
                        filter:
                          type: string
                          description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
                        itemsToParse:
                          type: string
                          description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
                        entity:
                          type: object
                          description: An object defining how to map the data from the webhook payload into Port entities.
                          properties:
                            identifier:
                              oneOf:
                                - type: string
                                  description: A `jq` expression used to get data from the webhook payload, to be used as an identifier for the entity.
                                - type: object
                                  properties:
                                    combinator:
                                      type: string
                                    rules:
                                      type: array
                                      items:
                                        type: object
                                        additionalProperties: true
                                  additionalProperties: false
                                  required:
                                    - combinator
                                    - rules
                            title:
                              type: string
                              description: A `jq` expression used to get data from the webhook payload, to be used as the title of the entity.
                            icon:
                              type: string
                              description: The icon of the entity.
                            team:
                              oneOf:
                                - type: string
                                - type: object
                                  properties:
                                    combinator:
                                      type: string
                                    rules:
                                      type: array
                                      items:
                                        type: object
                                        additionalProperties: true
                                  additionalProperties: false
                                  required:
                                    - combinator
                                    - rules
                            properties:
                              type: object
                              description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                              propertyNames:
                                type: string
                            relations:
                              type: object
                              description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                              propertyNames:
                                type: string
                          additionalProperties: false
                          required:
                            - identifier
                      required:
                        - blueprint
                        - entity
                      additionalProperties: false
                  description: The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                enabled:
                  type: boolean
                  default: true
                  description: Determines whether the webhook is active or not. If `false`, any incoming events will be dropped.
                security:
                  type: object
                  properties:
                    secret:
                      type: string
                      nullable: true
                    signatureHeaderName:
                      type: string
                      nullable: true
                    signatureAlgorithm:
                      anyOf:
                        - type: string
                          enum:
                            - sha1
                            - sha256
                            - plain
                        - type: 'null'
                    signaturePrefix:
                      type: string
                      nullable: true
                    requestIdentifierPath:
                      type: string
                      nullable: true
                  additionalProperties: false
                  description: The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.<br/>For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview#security-configuration).
                integrationType:
                  type: string
                  enum:
                    - custom
                    - template
              additionalProperties: false
              required:
                - title
                - enabled
        required: true
      security:
        - bearer:
            - create:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get all webhooks
      tags:
        - Webhook
      description: This route allows you to fetch all webhooks configured in your Port organization. You can also see them in the [data sources page](https://app.port.io/settings/data-sources) of your Port account.<br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      security:
        - bearer:
            - read:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/webhooks/{identifier}:
    patch:
      summary: Update a webhook
      tags:
        - Webhook
      description: This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.port.io/settings/data-sources) of your Port account.<br/><br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  maxLength: 30
                  description: The identifier of the webhook.
                title:
                  type: string
                  maxLength: 30
                  description: The title of the webhook, which will be displayed in the [data sources page](https://app.port.io/settings/data-sources) of your Port account.
                description:
                  type: string
                  maxLength: 200
                  description: A description for the webhook.
                icon:
                  type: string
                  description: The icon of the webhook.
                mappings:
                  type: array
                  items:
                    type: object
                    properties:
                      operation:
                        oneOf:
                          - title: Advanced create
                            description: |-
                              If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided. For example:
                              ```json
                              {
                                "operation": "create",
                                "blueprint": "blueprint_identifier",
                                "filter": "true",
                                "itemsToParse": "true",
                                "entity": {
                                    "identifier": "new-webhook",
                                    "title": "MyNewWebhook",
                                    "icon": "webhook",
                                    "team": [],
                                    "properties": {
                                      "content": "my content"
                                    },
                                    "relations": {}
                                }
                              }
                              ```
                            enum:
                              - create
                          - type: object
                            title: Create
                            properties:
                              type:
                                enum:
                                  - create
                            required:
                              - type
                            additionalProperties: false
                          - title: Delete
                            description: |-
                              If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                              ```json
                              {


                                "operation": "delete",
                                "filter": "true",
                                "itemsToParse": "true",
                                "blueprint": "blueprint_identifier",
                                "entity": {
                                  "identifier": "entity_identifier"
                                }
                              }
                              ```
                            enum:
                              - delete
                          - type: object
                            title: Advanced delete
                            properties:
                              type:
                                enum:
                                  - delete
                              deleteDependents:
                                type: boolean
                            required:
                              - type
                            additionalProperties: false
                        description: If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided. If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided.
                    if:
                      properties:
                        operation:
                          oneOf:
                            - title: Delete
                              description: |-
                                If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                                ```json
                                {


                                  "operation": "delete",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "blueprint": "blueprint_identifier",
                                  "entity": {
                                    "identifier": "entity_identifier"
                                  }
                                }
                                ```
                              enum:
                                - delete
                            - type: object
                              title: Advanced delete
                              properties:
                                type:
                                  enum:
                                    - delete
                                deleteDependents:
                                  type: boolean
                              required:
                                - type
                              additionalProperties: false
                      required:
                        - operation
                    then:
                      properties:
                        operation:
                          oneOf:
                            - title: Delete
                              description: |-
                                If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                                ```json
                                {


                                  "operation": "delete",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "blueprint": "blueprint_identifier",
                                  "entity": {
                                    "identifier": "entity_identifier"
                                  }
                                }
                                ```
                              enum:
                                - delete
                            - type: object
                              title: Advanced delete
                              properties:
                                type:
                                  enum:
                                    - delete
                                deleteDependents:
                                  type: boolean
                              required:
                                - type
                              additionalProperties: false
                        blueprint:
                          type: string
                          description: The identifier of the blueprint to map the data into.
                        filter:
                          type: string
                          description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
                        itemsToParse:
                          type: string
                          description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
                        entity:
                          type: object
                          properties:
                            identifier:
                              type: string
                          additionalProperties: false
                          required:
                            - identifier
                      required:
                        - blueprint
                        - entity
                      additionalProperties: true
                    else:
                      properties:
                        operation:
                          oneOf:
                            - title: Advanced create
                              description: |-
                                If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided. For example:
                                ```json
                                {
                                  "operation": "create",
                                  "blueprint": "blueprint_identifier",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "entity": {
                                      "identifier": "new-webhook",
                                      "title": "MyNewWebhook",
                                      "icon": "webhook",
                                      "team": [],
                                      "properties": {
                                        "content": "my content"
                                      },
                                      "relations": {}
                                  }
                                }
                                ```
                              enum:
                                - create
                            - type: object
                              title: Create
                              properties:
                                type:
                                  enum:
                                    - create
                              required:
                                - type
                              additionalProperties: false
                        blueprint:
                          type: string
                          description: The identifier of the blueprint to map the data into.
                        filter:
                          type: string
                          description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
                        itemsToParse:
                          type: string
                          description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
                        entity:
                          type: object
                          description: An object defining how to map the data from the webhook payload into Port entities.
                          properties:
                            identifier:
                              oneOf:
                                - type: string
                                  description: A `jq` expression used to get data from the webhook payload, to be used as an identifier for the entity.
                                - type: object
                                  properties:
                                    combinator:
                                      type: string
                                    rules:
                                      type: array
                                      items:
                                        type: object
                                        additionalProperties: true
                                  additionalProperties: false
                                  required:
                                    - combinator
                                    - rules
                            title:
                              type: string
                              description: A `jq` expression used to get data from the webhook payload, to be used as the title of the entity.
                            icon:
                              type: string
                              description: The icon of the entity.
                            team:
                              oneOf:
                                - type: string
                                - type: object
                                  properties:
                                    combinator:
                                      type: string
                                    rules:
                                      type: array
                                      items:
                                        type: object
                                        additionalProperties: true
                                  additionalProperties: false
                                  required:
                                    - combinator
                                    - rules
                            properties:
                              type: object
                              description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                              propertyNames:
                                type: string
                            relations:
                              type: object
                              description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                              propertyNames:
                                type: string
                          additionalProperties: false
                          required:
                            - identifier
                      required:
                        - blueprint
                        - entity
                      additionalProperties: false
                  description: The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                enabled:
                  type: boolean
                  default: true
                  description: Determines whether the webhook is active or not. If `false`, any incoming events will be dropped.
                security:
                  type: object
                  properties:
                    secret:
                      type: string
                      nullable: true
                    signatureHeaderName:
                      type: string
                      nullable: true
                    signatureAlgorithm:
                      anyOf:
                        - type: string
                          enum:
                            - sha1
                            - sha256
                            - plain
                        - type: 'null'
                    signaturePrefix:
                      type: string
                      nullable: true
                    requestIdentifierPath:
                      type: string
                      nullable: true
                  additionalProperties: false
                  description: The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.<br/>For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview#security-configuration).
                integrationType:
                  type: string
                  enum:
                    - custom
                    - template
              additionalProperties: false
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - update:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    put:
      summary: Change a webhook
      tags:
        - Webhook
      description: This route allows you to modify a webhook in your Port organization. You can also modify it via the [data sources page](https://app.port.io/settings/data-sources) of your Port account.<br/><br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  maxLength: 30
                  description: The identifier of the webhook.
                title:
                  type: string
                  maxLength: 30
                  description: The title of the webhook, which will be displayed in the [data sources page](https://app.port.io/settings/data-sources) of your Port account.
                description:
                  type: string
                  maxLength: 200
                  description: A description for the webhook.
                icon:
                  type: string
                  description: The icon of the webhook.
                mappings:
                  type: array
                  items:
                    type: object
                    properties:
                      operation:
                        oneOf:
                          - title: Advanced create
                            description: |-
                              If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided. For example:
                              ```json
                              {
                                "operation": "create",
                                "blueprint": "blueprint_identifier",
                                "filter": "true",
                                "itemsToParse": "true",
                                "entity": {
                                    "identifier": "new-webhook",
                                    "title": "MyNewWebhook",
                                    "icon": "webhook",
                                    "team": [],
                                    "properties": {
                                      "content": "my content"
                                    },
                                    "relations": {}
                                }
                              }
                              ```
                            enum:
                              - create
                          - type: object
                            title: Create
                            properties:
                              type:
                                enum:
                                  - create
                            required:
                              - type
                            additionalProperties: false
                          - title: Delete
                            description: |-
                              If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                              ```json
                              {


                                "operation": "delete",
                                "filter": "true",
                                "itemsToParse": "true",
                                "blueprint": "blueprint_identifier",
                                "entity": {
                                  "identifier": "entity_identifier"
                                }
                              }
                              ```
                            enum:
                              - delete
                          - type: object
                            title: Advanced delete
                            properties:
                              type:
                                enum:
                                  - delete
                              deleteDependents:
                                type: boolean
                            required:
                              - type
                            additionalProperties: false
                        description: If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided. If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided.
                    if:
                      properties:
                        operation:
                          oneOf:
                            - title: Delete
                              description: |-
                                If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                                ```json
                                {


                                  "operation": "delete",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "blueprint": "blueprint_identifier",
                                  "entity": {
                                    "identifier": "entity_identifier"
                                  }
                                }
                                ```
                              enum:
                                - delete
                            - type: object
                              title: Advanced delete
                              properties:
                                type:
                                  enum:
                                    - delete
                                deleteDependents:
                                  type: boolean
                              required:
                                - type
                              additionalProperties: false
                      required:
                        - operation
                    then:
                      properties:
                        operation:
                          oneOf:
                            - title: Delete
                              description: |-
                                If the selected operation is `delete`, a blueprint identifier, and entity identifier must be provided, for example:
                                ```json
                                {


                                  "operation": "delete",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "blueprint": "blueprint_identifier",
                                  "entity": {
                                    "identifier": "entity_identifier"
                                  }
                                }
                                ```
                              enum:
                                - delete
                            - type: object
                              title: Advanced delete
                              properties:
                                type:
                                  enum:
                                    - delete
                                deleteDependents:
                                  type: boolean
                              required:
                                - type
                              additionalProperties: false
                        blueprint:
                          type: string
                          description: The identifier of the blueprint to map the data into.
                        filter:
                          type: string
                          description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
                        itemsToParse:
                          type: string
                          description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
                        entity:
                          type: object
                          properties:
                            identifier:
                              type: string
                          additionalProperties: false
                          required:
                            - identifier
                      required:
                        - blueprint
                        - entity
                      additionalProperties: true
                    else:
                      properties:
                        operation:
                          oneOf:
                            - title: Advanced create
                              description: |-
                                If the operation is `create`, the [entity JSON](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview/#json-structure) properties must be provided. For example:
                                ```json
                                {
                                  "operation": "create",
                                  "blueprint": "blueprint_identifier",
                                  "filter": "true",
                                  "itemsToParse": "true",
                                  "entity": {
                                      "identifier": "new-webhook",
                                      "title": "MyNewWebhook",
                                      "icon": "webhook",
                                      "team": [],
                                      "properties": {
                                        "content": "my content"
                                      },
                                      "relations": {}
                                  }
                                }
                                ```
                              enum:
                                - create
                            - type: object
                              title: Create
                              properties:
                                type:
                                  enum:
                                    - create
                              required:
                                - type
                              additionalProperties: false
                        blueprint:
                          type: string
                          description: The identifier of the blueprint to map the data into.
                        filter:
                          type: string
                          description: A `jq` query used to filter exactly which payloads sent to the webhook are processed. If set to `"true"`, all payloads will be processed.
                        itemsToParse:
                          type: string
                          description: A `jq` query that evaluates to an array of items, used to create multiple entities from a single webhook event.
                        entity:
                          type: object
                          description: An object defining how to map the data from the webhook payload into Port entities.
                          properties:
                            identifier:
                              oneOf:
                                - type: string
                                  description: A `jq` expression used to get data from the webhook payload, to be used as an identifier for the entity.
                                - type: object
                                  properties:
                                    combinator:
                                      type: string
                                    rules:
                                      type: array
                                      items:
                                        type: object
                                        additionalProperties: true
                                  additionalProperties: false
                                  required:
                                    - combinator
                                    - rules
                            title:
                              type: string
                              description: A `jq` expression used to get data from the webhook payload, to be used as the title of the entity.
                            icon:
                              type: string
                              description: The icon of the entity.
                            team:
                              oneOf:
                                - type: string
                                - type: object
                                  properties:
                                    combinator:
                                      type: string
                                    rules:
                                      type: array
                                      items:
                                        type: object
                                        additionalProperties: true
                                  additionalProperties: false
                                  required:
                                    - combinator
                                    - rules
                            properties:
                              type: object
                              description: An object containing the properties of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                              propertyNames:
                                type: string
                            relations:
                              type: object
                              description: An object containing the relations of the entity and their values. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                              propertyNames:
                                type: string
                          additionalProperties: false
                          required:
                            - identifier
                      required:
                        - blueprint
                        - entity
                      additionalProperties: false
                  description: The mapping definitions used to map the data from the webhook into Port entities. For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
                enabled:
                  type: boolean
                  default: true
                  description: Determines whether the webhook is active or not. If `false`, any incoming events will be dropped.
                security:
                  type: object
                  properties:
                    secret:
                      type: string
                      nullable: true
                    signatureHeaderName:
                      type: string
                      nullable: true
                    signatureAlgorithm:
                      anyOf:
                        - type: string
                          enum:
                            - sha1
                            - sha256
                            - plain
                        - type: 'null'
                    signaturePrefix:
                      type: string
                      nullable: true
                    requestIdentifierPath:
                      type: string
                      nullable: true
                  additionalProperties: false
                  description: The security configuration of the webhook, used to tell Port how to verify the hashed signature sent with incoming requests.<br/>For more information and examples, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview#security-configuration).
                integrationType:
                  type: string
                  enum:
                    - custom
                    - template
              additionalProperties: false
              required:
                - title
                - enabled
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - update:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get a webhook
      tags:
        - Webhook
      description: This route allows you to fetch a specific webhook in your Port organization. You can also see it in the [data sources page](https://app.port.io/settings/data-sources) of your Port account.<br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - read:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    delete:
      summary: Delete a webhook
      tags:
        - Webhook
      description: This route allows you to delete a webhook in your Port organization. You can also delete it via the [data sources page](https://app.port.io/settings/data-sources) of your Port account.<br/><br/>To learn more about webhooks, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/webhook/ingest-via-webhooks-overview).
      parameters:
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The unique identifier of the resource you want to operate on.
      security:
        - bearer:
            - delete:integrations
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/webhooks/metadata:
    get:
      summary: Get all webhooks meta-data (member view)
      tags:
        - Webhook
      description: This route allows members to fetch meta-data on all webhooks in their Port organization.<br></br>The response includes each webhook's identifier, title, icon, and last update timestamp.
      security:
        - bearer:
            - read:integrations:basic
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/audit-log:
    get:
      summary: Get audit logs
      tags:
        - Audit
      description: Fetch audit logs from your Port account (also viewable in [Port's UI](https://app.port.io/settings/AuditLog)).<br/><br/>All query parameters are combined with logical `AND`.<br/><br/>**Non-admin users** have limited access. They can only:<br/>- Pass an `identifier` to access a specific log.<br/>- Pass an `entity` to retrieve logs of entities they have access to.<br/>- Pass a `run_id` to retrieve logs of action runs they have access to.<br/><br/>Non-admin users **cannot** view logs of deleted entities.<br/><br/>**Performance:** The optional `limit` parameter defaults to `10000`. Omitting `limit` previously used a default of `100000`, which often caused `504 Gateway Timeout` on large accounts. For very broad queries you may still need a lower `limit` or narrower `from`/`to` time windows.
      parameters:
        - schema:
            type: string
          in: query
          name: identifier
          required: false
          description: An identifier of the log event you want to fetch.
        - schema:
            type: string
          in: query
          name: entity
          required: false
          description: Fetch all audit logs related to the specified entity.
        - schema:
            type: boolean
          in: query
          name: include_deleted_entities
          required: false
          description: Include deleted entities when searching for audit logs. This requires the `entity`, `blueprint`, `status`, `from` and `to` parameters. And the diff between `from` & `to` is limited to 1 day.
        - schema:
            type: string
          in: query
          name: blueprint
          required: false
          description: Fetch all audit logs related to the specified blueprint.
        - schema:
            type: string
          in: query
          name: run_id
          required: false
          description: Fetch all audit logs related to the specified action run.
        - schema:
            type: string
          in: query
          name: webhookId
          required: false
          description: Fetch all audit logs related to the specified webhook.
        - schema:
            type: string
          in: query
          name: webhookEventId
          required: false
          description: Fetch all audit logs related to the specified webhook event.
        - schema:
            type: array
            items:
              type: string
          in: query
          name: origin
          required: false
          description: Fetch all audit logs coming from the specified origin/s. This refers to the integration/s that triggered the log. For operations performed via Port's UI, the origin will be `UI`.
          style: form
          explode: true
        - schema:
            type: string
          in: query
          name: InstallationId
          required: false
          description: Fetch all audit logs related to the specified integration.
        - schema:
            anyOf:
              - type: array
                items:
                  type: string
                  enum:
                    - entity
                    - blueprint_permission
                    - blueprint
                    - run
                    - webhook
                    - action
                    - action_permission
                    - scorecard
                    - integration
                    - secret
              - type: string
                enum:
                  - entity
                  - blueprint_permission
                  - blueprint
                  - run
                  - webhook
                  - action
                  - action_permission
                  - scorecard
                  - integration
                  - secret
          in: query
          name: resources
          required: false
          description: 'Fetch all audit logs related to the specified resource type/s.<br/>**Possible values**: [`blueprint`, `entity`, `run`, `webhook`, `scorecard`, `action`, `integration`]<br/>The `integration` value is **experimental** and may change in future API versions.'
          style: form
          explode: true
        - schema:
            type: array
            items:
              enum:
                - action
                - context
                - diff
                - identifier
                - resourceType
                - status
                - trigger
                - additionalData
                - message
          in: query
          name: includes
          required: false
          description: The fields you want to include in the response. If used, only the specified fields will be included in the response.
          style: form
          explode: true
        - schema:
            type: string
            format: date-time
          in: query
          name: from
          required: false
          description: The starting timestamp of the audit logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
        - schema:
            type: string
            format: date-time
          in: query
          name: to
          required: false
          description: The ending timestamp of the audit logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
        - schema:
            type: string
          in: query
          name: action
          required: false
          description: Fetch all audit logs with the specified action type - `CREATE`, `UPDATE`, or `DELETE`.
        - schema:
            type: string
            enum:
              - SUCCESS
              - FAILURE
          in: query
          name: status
          required: false
          description: Fetch all audit logs with the specified status.
        - schema:
            type: number
          in: query
          name: limit
          required: false
          description: The maximum number of logs to return. Optional; defaults to `10000`. The previous default was `100000`, which could cause `504 Gateway Timeout` on large accounts. Use a lower value or narrow `from` and `to` if you still hit timeouts.
        - schema:
            type: string
            enum:
              - automation
              - self-service
          in: query
          name: actionType
          required: false
      security:
        - bearer:
            - read:audit-log
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/teams:
    get:
      summary: Get all teams in your organization
      tags:
        - Teams
      description: This route allows you to fetch all of the teams in your Port organization.<br/><br/>To learn more about teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      parameters:
        - schema:
            type: array
            items:
              enum:
                - id
                - name
                - createdAt
                - updatedAt
                - provider
                - description
                - users.firstName
                - users.lastName
                - users.email
                - users.picture
                - users.status
          in: query
          name: fields
          required: false
          description: The fields you want to fetch for each team. If used, only the specified fields will be included in the response.
          style: form
          explode: true
      security:
        - bearer:
            - read:teams
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  teams:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                        provider:
                          type: string
                        description:
                          type: string
                        users:
                          type: array
                          items:
                            type: object
                            properties:
                              email:
                                type: string
                              firstName:
                                type: string
                              lastName:
                                type: string
                              picture:
                                type: string
                              status:
                                type: string
                required:
                  - teams
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    post:
      summary: Create a team
      tags:
        - Teams
      description: This route allows you to create a new team in your Port organization.<br/><br/>To learn more about teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  pattern: ^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$
                  description: The name of the new team.
                users:
                  type: array
                  items:
                    type: string
                  description: One or more e-mail addresses of users to add to the new team.
                description:
                  type: string
                  description: The description of the new team.
              required:
                - name
        required: true
      security:
        - bearer:
            - create:teams
      responses:
        '200':
          description: Created successfully.
          content:
            application/json:
              schema:
                description: Created successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  team:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      provider:
                        type: string
                      description:
                        type: string
                      users:
                        type: array
                        items:
                          type: object
                          properties:
                            email:
                              type: string
                            firstName:
                              type: string
                            lastName:
                              type: string
                            picture:
                              type: string
                            status:
                              type: string
                required:
                  - team
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/teams/{name}:
    get:
      summary: Get a team
      tags:
        - Teams
      description: This route allows you to fetch a specific team in your Port organization.<br/><br/>To learn more about teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      parameters:
        - schema:
            type: array
            items:
              enum:
                - id
                - name
                - createdAt
                - updatedAt
                - provider
                - description
                - users.firstName
                - users.lastName
                - users.email
                - users.picture
                - users.status
          in: query
          name: fields
          required: false
          description: The fields you want to fetch for the team. If used, only the specified fields will be included in the response.
          style: form
          explode: true
        - schema:
            type: string
          in: path
          name: name
          required: true
          description: The name of the team you want to fetch.
      security:
        - bearer:
            - read:teams
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  team:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      provider:
                        type: string
                      description:
                        type: string
                required:
                  - team
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update a team
      tags:
        - Teams
      description: This route allows you to update a team's details. This can be used to update the team's name, users, and description.<br/><br/>To learn more about teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The new name of the team.
                users:
                  type: array
                  items:
                    type: string
                  description: One or more e-mail addresses of users to add to the new team. This will override the existing user list.
                description:
                  type:
                    - string
                    - 'null'
                  description: The new description of the team.
      parameters:
        - schema:
            type: string
          in: path
          name: name
          required: true
          description: The name of the team you want to update.
      security:
        - bearer:
            - update:teams
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  team:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      provider:
                        type: string
                      description:
                        type: string
                      users:
                        type: array
                        items:
                          type: object
                          properties:
                            email:
                              type: string
                            firstName:
                              type: string
                            lastName:
                              type: string
                            picture:
                              type: string
                            status:
                              type: string
                required:
                  - team
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    put:
      summary: Change a team
      tags:
        - Teams
      description: This route allows you to change a team's details. This can be used to update the team's name, users, and description.<br/><br/>To learn more about teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The new name of the team.
                users:
                  type: array
                  items:
                    type: string
                  description: One or more e-mail addresses of users to add to the new team. This will override the existing user list.
                description:
                  type: string
                  description: The new description of the team.
              required:
                - name
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: name
          required: true
          description: The name of the team you want to change.
      security:
        - bearer:
            - update:teams
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                description: Updated successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  team:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      provider:
                        type: string
                      description:
                        type: string
                      users:
                        type: array
                        items:
                          type: object
                          properties:
                            email:
                              type: string
                            firstName:
                              type: string
                            lastName:
                              type: string
                            picture:
                              type: string
                            status:
                              type: string
                required:
                  - team
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    delete:
      summary: Delete a team
      tags:
        - Teams
      description: This route allows you to delete a team in your Port organization.<br/><br/>To learn more about teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: name
          required: true
          description: The name of the team you want to delete.
      security:
        - bearer:
            - delete:teams
      responses:
        '200':
          description: Deleted successfully.
          content:
            application/json:
              schema:
                description: Deleted successfully.
                properties:
                  ok:
                    enum:
                      - true
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/users:
    get:
      summary: Get all users in your organization
      tags:
        - Users
      description: This route allows you to fetch all of the users in your Port organization.<br/><br/>To learn more about users, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      parameters:
        - schema:
            type: array
            style: form
            explode: true
            items:
              type: string
              enum:
                - id
                - email
                - firstName
                - isInvisible
                - lastName
                - picture
                - status
                - supportLevel
                - type
                - providers
                - managedByScim
                - createdAt
                - updatedAt
                - teams.name
                - teams.provider
                - teams.createdAt
                - teams.updatedAt
                - roles.name
                - roles.description
                - roles.isAdmin
                - roles.protected
                - roles.orgId
                - roles.createdAt
                - roles.updatedAt
                - orgMembers.orgId
                - orgMembers.status
                - orgMembers.lastLoginAt
                - userAccounts.accountId
                - userAccounts.accountRole
                - companyId
                - companyRole
          in: query
          name: fields
          required: false
          description: The fields you want to fetch for each user. If used, only the specified fields will be included in the response.
          style: form
          explode: true
      security:
        - bearer:
            - read:users
        - bearer:
            - read:minimal:users
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  users:
                    type: array
                    items:
                      properties:
                        email:
                          type: string
                        firstName:
                          type: string
                        lastName:
                          type: string
                        picture:
                          type: string
                        status:
                          type: string
                        id:
                          type: string
                        type:
                          type: string
                        providers:
                          type: array
                          items:
                            type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                        orgs:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                        teams:
                          type: array
                          items:
                            type: string
                        roles:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                            required:
                              - name
                        orgMembers:
                          type: array
                          items:
                            type: object
                            properties:
                              orgId:
                                type: string
                              status:
                                type: string
                              lastLoginAt:
                                type: string
                                format: date-time
                            required:
                              - orgId
                              - status
                              - lastLoginAt
                        termsAccepted:
                          type: boolean
                          default: null
                        managedByScim:
                          type: boolean
                          default: null
                        companyId:
                          type: string
                          nullable: true
                        companyRole:
                          type: string
                          nullable: true
                        userAccounts:
                          type: array
                          items:
                            type: object
                            properties:
                              accountId:
                                type: string
                              accountRole:
                                type: string
                required:
                  - users
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/users/invite:
    post:
      summary: Invite a user to your organization
      tags:
        - Users
      description: This route allows you to invite a user to your Port organization.<br/><br/>To learn more about users, roles, and teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                invitee:
                  type: object
                  description: The details of the user you want to invite.
                  properties:
                    email:
                      type: string
                      pattern: ^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$
                      description: The user's email address.
                    roles:
                      type: array
                      items:
                        type: string
                      description: The roles you want to assign to the user.
                    teams:
                      type: array
                      items:
                        type: string
                      description: The names of the teams you want to assign the user to.
                  required:
                    - email
              additionalProperties: false
              required:
                - invitee
        required: true
      parameters:
        - schema:
            type: boolean
            default: true
          in: query
          name: notify
          required: false
          description: If `true`, the invitee will receive an email notification.
      security:
        - bearer:
            - create:users
      responses:
        '200':
          description: Created successfully.
          content:
            application/json:
              schema:
                description: Created successfully.
                properties:
                  ok:
                    enum:
                      - true
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/users/{user_email}:
    get:
      summary: Get a user
      tags:
        - Users
      description: This route allows you to fetch a specific user in your Port organization.<br/><br/>To learn more about users, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: user_email
          required: true
          description: The email address of the user you want to operate on.
      security:
        - bearer:
            - read:users
        - bearer:
            - read:minimal:users
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                description: Retrieved successfully.
                properties:
                  ok:
                    enum:
                      - true
                  user:
                    properties:
                      email:
                        type: string
                      firstName:
                        type: string
                      lastName:
                        type: string
                      picture:
                        type: string
                      status:
                        type: string
                      id:
                        type: string
                      type:
                        type: string
                      providers:
                        type: array
                        items:
                          type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      orgs:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                          required:
                            - id
                      teams:
                        type: array
                        items:
                          type: string
                      roles:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                          required:
                            - name
                      orgMembers:
                        type: array
                        items:
                          type: object
                          properties:
                            orgId:
                              type: string
                            status:
                              type: string
                            lastLoginAt:
                              type: string
                              format: date-time
                          required:
                            - orgId
                            - status
                            - lastLoginAt
                      termsAccepted:
                        type: boolean
                        default: null
                      managedByScim:
                        type: boolean
                        default: null
                      companyId:
                        type: string
                        nullable: true
                      companyRole:
                        type: string
                        nullable: true
                      userAccounts:
                        type: array
                        items:
                          type: object
                          properties:
                            accountId:
                              type: string
                            accountRole:
                              type: string
                      teamsIdentifiers:
                        type: array
                        items:
                          type: string
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update a user
      tags:
        - Users
      description: This route allows you to update a user's details. This can be used to update the user's role/s and team/s.<br/><br/>To learn more about users, roles, and teams, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                roles:
                  type: array
                  minItems: 1
                  items:
                    type: string
                  description: The roles you want to assign to the user.
                teams:
                  type: array
                  items:
                    type: string
                  description: The names of the teams you want to assign the user to.
              additionalProperties: false
      parameters:
        - schema:
            type: string
          in: path
          name: user_email
          required: true
          description: The email address of the user you want to operate on.
      security:
        - bearer:
            - update:users
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  email:
                    type: string
                  firstName:
                    type: string
                  lastName:
                    type: string
                  picture:
                    type: string
                  status:
                    type: string
                  id:
                    type: string
                  type:
                    type: string
                  providers:
                    type: array
                    items:
                      type: string
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  orgs:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                      required:
                        - id
                  teams:
                    type: array
                    items:
                      type: string
                  roles:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                      required:
                        - name
                  orgMembers:
                    type: array
                    items:
                      type: object
                      properties:
                        orgId:
                          type: string
                        status:
                          type: string
                        lastLoginAt:
                          type: string
                          format: date-time
                      required:
                        - orgId
                        - status
                        - lastLoginAt
                  termsAccepted:
                    type: boolean
                    default: null
                  managedByScim:
                    type: boolean
                    default: null
                  companyId:
                    type: string
                    nullable: true
                  companyRole:
                    type: string
                    nullable: true
                  userAccounts:
                    type: array
                    items:
                      type: object
                      properties:
                        accountId:
                          type: string
                        accountRole:
                          type: string
                description: Updated successfully.
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    delete:
      summary: Delete a user
      tags:
        - Users
      description: This route allows you to delete a user in your Port organization.<br/><br/>To learn more about users, check out the [documentation](https://docs.port.io/context-lake/consuming-the-lake/govern-data-access/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: user_email
          required: true
          description: The email address of the user you want to operate on.
      security:
        - bearer:
            - delete:users
      responses:
        '200':
          description: Deleted successfully.
          content:
            application/json:
              schema:
                description: Deleted successfully.
                properties:
                  ok:
                    enum:
                      - true
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/users/{userId}/account-role:
    patch:
      summary: Change a user's account role
      tags:
        - Users
      description: This route allows you to promote or demote a user's account role in a multi-organization account.<br/><br/>**Prerequisites:**<br/>- The caller must have the `Account admin` role.<br/>- The target user must hold the `Admin` role in at least one organization within the account before being eligible for the `Account admin` role.<br/>- Machine tokens cannot call this route.<br/>- You cannot change your own role.<br/>- Both the caller and target must belong to the same company.<br/><br/>To learn more about multiple organization membership, check out the [documentation](https://docs.port.io/platform-administration/multi-org-management/multi-organization/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                accountRole:
                  type: string
                  enum:
                    - ADMIN
                    - MEMBER
                  description: Use `ADMIN` to promote the user to account admin, or `MEMBER` to demote an account admin to member.
              required:
                - accountRole
              additionalProperties: false
        required: true
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: userId
          required: true
          description: The target user's ID, returned in the `id` field from [Get all users in your organization](https://docs.port.io/api-reference/get-all-users-in-your-organization/) or [Get a user](https://docs.port.io/api-reference/get-a-user/).
      security:
        - bearer:
            - update:users
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '403':
          description: The caller does not have permission to perform this action
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The caller does not have permission to perform this action
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/users/{userId}/company-role:
    patch:
      summary: Change a user's company role
      tags:
        - Users
      description: This route allows you to promote or demote a user's company role.<br/><br/>**Prerequisites:**<br/>- The caller must have the `Company admin` role.<br/>- Machine tokens cannot call this route.<br/>- You cannot change your own role.<br/>- Both the caller and target must belong to the same company.<br/>- The last company admin cannot be demoted.<br/><br/>To learn more about multiple organization membership, check out the [documentation](https://docs.port.io/platform-administration/multi-org-management/multi-organization/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                companyRole:
                  type: string
                  enum:
                    - ADMIN
                    - MEMBER
                  description: Use `ADMIN` to promote the user to company admin, or `MEMBER` to demote a company admin to member.
              required:
                - companyRole
              additionalProperties: false
        required: true
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: userId
          required: true
          description: The target user's ID, returned in the `id` field from [Get all users in your organization](https://docs.port.io/api-reference/get-all-users-in-your-organization/) or [Get a user](https://docs.port.io/api-reference/get-a-user/).
      security:
        - bearer:
            - update:users
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '403':
          description: The caller does not have permission to perform this action
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The caller does not have permission to perform this action
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '409':
          description: The request conflicts with the current state of the resource
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The request conflicts with the current state of the resource
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/apps:
    get:
      summary: Get all credentials
      tags:
        - Apps
      description: This route allows you to fetch all credentials in your Port organization.
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - name
                - createdAt
                - updatedAt
                - secret
                - enabled
          in: query
          name: fields
          required: false
          description: The fields to include in the response. If not specified, all fields will be included.
          style: form
          explode: true
      security:
        - bearer:
            - read:apps
      responses:
        '200':
          description: Retrieved successfully.
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  apps:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        enabled:
                          type: boolean
                        id:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                        secret:
                          type: string
                required:
                  - ok
                additionalProperties: false
                description: Retrieved successfully.
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/apps/{id}/rotate-secret:
    post:
      summary: Rotate secret
      tags:
        - Apps
      description: This route allows you to rotate the secret of a set of credentials in your Port organization.
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
          description: The `id` of the credentials set you want to operate on.
      security:
        - bearer:
            - update:apps
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  app:
                    type: object
                    properties:
                      name:
                        type: string
                      enabled:
                        type: boolean
                      id:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      secret:
                        type: string
                required:
                  - ok
                additionalProperties: false
                description: OK
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/apps/{id}:
    delete:
      summary: Delete credentials
      tags:
        - Apps
      description: This route allows you to delete a set of credentials in your Port organization.
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
          description: The `id` of the credentials set you want to operate on.
      security:
        - bearer:
            - update:apps
      responses:
        '200':
          description: Deleted successfully.
          content:
            application/json:
              schema:
                description: Deleted successfully.
                properties:
                  ok:
                    enum:
                      - true
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    put:
      summary: Change the name of a credentials set
      tags:
        - Apps
      description: This route allows you to change the name of a set of credentials in your Port organization.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The new name of the credentials set.
              additionalProperties: false
              required:
                - name
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
          description: The `id` of the credentials set you want to operate on.
      security:
        - bearer:
            - update:apps
      responses:
        '200':
          description: Updated successfully.
          content:
            application/json:
              schema:
                properties:
                  ok:
                    enum:
                      - true
                  app:
                    type: object
                    properties:
                      name:
                        type: string
                      enabled:
                        type: boolean
                      id:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      secret:
                        type: string
                required:
                  - ok
                additionalProperties: false
                description: Updated successfully.
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/rotate-credentials/{user_email}:
    post:
      summary: Rotate a user's credentials
      tags:
        - Authentication / Authorization
      description: This route allows you to rotate a user's credentials and generate new ones.
      parameters:
        - schema:
            type: string
          in: path
          name: user_email
          required: true
          description: The email address of the user you want to operate on.
      security:
        - bearer:
            - update:users
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/blueprints/{blueprint_identifier}/scorecards:
    post:
      summary: Create a scorecard
      tags:
        - Scorecards
      description: This route allows you to create a scorecard for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.<br/><br/>To learn more about scorecards, check out the [documentation](https://docs.port.io/governance/standards-and-compliance/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                  maxLength: 100
                  description: A unique identifier for the scorecard.
                title:
                  type: string
                  description: The title of the scorecard.
                filter:
                  type: object
                  properties:
                    combinator:
                      type: string
                      enum:
                        - and
                        - or
                      description: The combinator to use when evaluating the conditions.
                    conditions:
                      type: array
                      minItems: 1
                      description: The conditions to evaluate.
                      items:
                        anyOf:
                          - type: object
                            title: Property between condition
                            properties:
                              property:
                                type: string
                              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: Preset date range
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - today
                                          - tomorrow
                                          - yesterday
                                          - lastWeek
                                          - last2Weeks
                                          - lastMonth
                                          - last3Months
                                          - last6Months
                                          - last12Months
                                    required:
                                      - preset
                            required:
                              - property
                              - operator
                              - value
                            additionalProperties: false
                          - type: object
                            title: Property containsAny condition
                            properties:
                              property:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - containsAny
                                  - in
                              value:
                                type: array
                                items:
                                  type: string
                            required:
                              - property
                              - operator
                              - value
                          - type: object
                            title: Relation containsAny condition
                            properties:
                              relation:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - containsAny
                                  - in
                              value:
                                type: array
                                items:
                                  type: string
                            required:
                              - relation
                              - operator
                              - value
                          - type: object
                            title: Property comparison
                            properties:
                              property:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - '='
                                  - '!='
                                  - '>'
                                  - <
                                  - '>='
                                  - <=
                                  - contains
                                  - doesNotContains
                                  - beginsWith
                                  - doesNotBeginsWith
                                  - endsWith
                                  - doesNotEndsWith
                              value:
                                oneOf:
                                  - type: string
                                    title: string
                                  - type: number
                                    title: number
                                  - type: boolean
                                    title: boolean
                                  - type: array
                                    items:
                                      type: string
                                description: The value to compare against.
                            required:
                              - property
                              - operator
                              - value
                          - type: object
                            title: Relation comparison
                            properties:
                              relation:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - '='
                                  - '!='
                                  - '>'
                                  - <
                                  - '>='
                                  - <=
                                  - contains
                                  - doesNotContains
                                  - beginsWith
                                  - doesNotBeginsWith
                                  - endsWith
                                  - doesNotEndsWith
                              value:
                                oneOf:
                                  - type: string
                                    title: string
                                  - type: number
                                    title: number
                                  - type: boolean
                                    title: boolean
                                  - type: array
                                    items:
                                      type: string
                                description: The value to compare against.
                            required:
                              - relation
                              - operator
                              - value
                          - type: object
                            title: Property empty condition
                            properties:
                              not:
                                type: boolean
                              property:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - isEmpty
                                  - isNotEmpty
                            required:
                              - property
                              - operator
                          - type: object
                            title: Relation empty condition
                            properties:
                              not:
                                type: boolean
                              relation:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - isEmpty
                                  - isNotEmpty
                            required:
                              - relation
                              - operator
                  required:
                    - combinator
                    - conditions
                  description: An optional set of [conditions](https://docs.port.io/governance/standards-and-compliance/concepts-and-structure/#conditions) to filter entities that will be evaluated by the scorecard.
                properties:
                  type: object
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                  description: An object containing the additional properties of the scorecard, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                rules:
                  type: array
                  description: The [rules](https://docs.port.io/governance/standards-and-compliance/concepts-and-structure/#rule-elements) that define the scorecard.
                  items:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^[A-Za-z0-9@_=\\-]+$
                        maxLength: 100
                        description: The identifier of the rule.
                      title:
                        type: string
                        description: The title of the rule.
                      description:
                        type: string
                        description: A description for the rule.
                      level:
                        type: string
                        description: The level of the rule (Gold, Silver, or Bronze).
                      query:
                        type: object
                        properties:
                          combinator:
                            type: string
                            enum:
                              - and
                              - or
                            description: The combinator to use when evaluating the conditions.
                          conditions:
                            type: array
                            minItems: 1
                            description: The conditions to evaluate.
                            items:
                              anyOf:
                                - type: object
                                  title: Property between condition
                                  properties:
                                    property:
                                      type: string
                                    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: Preset date range
                                          properties:
                                            preset:
                                              type: string
                                              enum:
                                                - today
                                                - tomorrow
                                                - yesterday
                                                - lastWeek
                                                - last2Weeks
                                                - lastMonth
                                                - last3Months
                                                - last6Months
                                                - last12Months
                                          required:
                                            - preset
                                  required:
                                    - property
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  title: Property containsAny condition
                                  properties:
                                    property:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - containsAny
                                        - in
                                    value:
                                      type: array
                                      items:
                                        type: string
                                  required:
                                    - property
                                    - operator
                                    - value
                                - type: object
                                  title: Relation containsAny condition
                                  properties:
                                    relation:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - containsAny
                                        - in
                                    value:
                                      type: array
                                      items:
                                        type: string
                                  required:
                                    - relation
                                    - operator
                                    - value
                                - type: object
                                  title: Property comparison
                                  properties:
                                    property:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!='
                                        - '>'
                                        - <
                                        - '>='
                                        - <=
                                        - contains
                                        - doesNotContains
                                        - beginsWith
                                        - doesNotBeginsWith
                                        - endsWith
                                        - doesNotEndsWith
                                    value:
                                      oneOf:
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                        - type: array
                                          items:
                                            type: string
                                      description: The value to compare against.
                                  required:
                                    - property
                                    - operator
                                    - value
                                - type: object
                                  title: Relation comparison
                                  properties:
                                    relation:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!='
                                        - '>'
                                        - <
                                        - '>='
                                        - <=
                                        - contains
                                        - doesNotContains
                                        - beginsWith
                                        - doesNotBeginsWith
                                        - endsWith
                                        - doesNotEndsWith
                                    value:
                                      oneOf:
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                        - type: array
                                          items:
                                            type: string
                                      description: The value to compare against.
                                  required:
                                    - relation
                                    - operator
                                    - value
                                - type: object
                                  title: Property empty condition
                                  properties:
                                    not:
                                      type: boolean
                                    property:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - isEmpty
                                        - isNotEmpty
                                  required:
                                    - property
                                    - operator
                                - type: object
                                  title: Relation empty condition
                                  properties:
                                    not:
                                      type: boolean
                                    relation:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - isEmpty
                                        - isNotEmpty
                                  required:
                                    - relation
                                    - operator
                        required:
                          - combinator
                          - conditions
                        description: The query that defines the rule.
                    required:
                      - identifier
                      - title
                      - level
                      - query
                levels:
                  type: array
                  description: The available levels of the scorecard, each with its own name and color.
                  items:
                    type: object
                    properties:
                      title:
                        type: string
                        description: The name of the level.
                      color:
                        type: string
                        enum:
                          - blue
                          - turquoise
                          - orange
                          - purple
                          - pink
                          - yellow
                          - green
                          - red
                          - gold
                          - silver
                          - paleBlue
                          - darkGray
                          - lightGray
                          - bronze
                          - lime
                          - olive
                          - brown
                        description: The color associated with the level, for visualization in Port's UI.
                    required:
                      - title
                      - color
              if:
                properties:
                  levels:
                    type: array
                    minItems: 1
              then:
                properties:
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                          pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                          maxLength: 100
                        title:
                          type: string
                        description:
                          type: string
                        level:
                          type: string
                        query:
                          type: object
                          properties:
                            combinator:
                              type: string
                              enum:
                                - and
                                - or
                              description: The combinator to use when evaluating the conditions.
                            conditions:
                              type: array
                              minItems: 1
                              description: The conditions to evaluate.
                              items:
                                anyOf:
                                  - type: object
                                    title: Property between condition
                                    properties:
                                      property:
                                        type: string
                                      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: Preset date range
                                            properties:
                                              preset:
                                                type: string
                                                enum:
                                                  - today
                                                  - tomorrow
                                                  - yesterday
                                                  - lastWeek
                                                  - last2Weeks
                                                  - lastMonth
                                                  - last3Months
                                                  - last6Months
                                                  - last12Months
                                            required:
                                              - preset
                                    required:
                                      - property
                                      - operator
                                      - value
                                    additionalProperties: false
                                  - type: object
                                    title: Property containsAny condition
                                    properties:
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - containsAny
                                          - in
                                      value:
                                        type: array
                                        items:
                                          type: string
                                    required:
                                      - property
                                      - operator
                                      - value
                                  - type: object
                                    title: Relation containsAny condition
                                    properties:
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - containsAny
                                          - in
                                      value:
                                        type: array
                                        items:
                                          type: string
                                    required:
                                      - relation
                                      - operator
                                      - value
                                  - type: object
                                    title: Property comparison
                                    properties:
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!='
                                          - '>'
                                          - <
                                          - '>='
                                          - <=
                                          - contains
                                          - doesNotContains
                                          - beginsWith
                                          - doesNotBeginsWith
                                          - endsWith
                                          - doesNotEndsWith
                                      value:
                                        oneOf:
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                          - type: array
                                            items:
                                              type: string
                                        description: The value to compare against.
                                    required:
                                      - property
                                      - operator
                                      - value
                                  - type: object
                                    title: Relation comparison
                                    properties:
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!='
                                          - '>'
                                          - <
                                          - '>='
                                          - <=
                                          - contains
                                          - doesNotContains
                                          - beginsWith
                                          - doesNotBeginsWith
                                          - endsWith
                                          - doesNotEndsWith
                                      value:
                                        oneOf:
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                          - type: array
                                            items:
                                              type: string
                                        description: The value to compare against.
                                    required:
                                      - relation
                                      - operator
                                      - value
                                  - type: object
                                    title: Property empty condition
                                    properties:
                                      not:
                                        type: boolean
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - isEmpty
                                          - isNotEmpty
                                    required:
                                      - property
                                      - operator
                                  - type: object
                                    title: Relation empty condition
                                    properties:
                                      not:
                                        type: boolean
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - isEmpty
                                          - isNotEmpty
                                    required:
                                      - relation
                                      - operator
                          required:
                            - combinator
                            - conditions
                      required:
                        - identifier
                        - title
                        - query
              else:
                properties:
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                          pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                          maxLength: 100
                        title:
                          type: string
                        description:
                          type: string
                        level:
                          type: string
                          enum:
                            - Gold
                            - Silver
                            - Bronze
                        query:
                          type: object
                          properties:
                            combinator:
                              type: string
                              enum:
                                - and
                                - or
                              description: The combinator to use when evaluating the conditions.
                            conditions:
                              type: array
                              minItems: 1
                              description: The conditions to evaluate.
                              items:
                                anyOf:
                                  - type: object
                                    title: Property between condition
                                    properties:
                                      property:
                                        type: string
                                      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: Preset date range
                                            properties:
                                              preset:
                                                type: string
                                                enum:
                                                  - today
                                                  - tomorrow
                                                  - yesterday
                                                  - lastWeek
                                                  - last2Weeks
                                                  - lastMonth
                                                  - last3Months
                                                  - last6Months
                                                  - last12Months
                                            required:
                                              - preset
                                    required:
                                      - property
                                      - operator
                                      - value
                                    additionalProperties: false
                                  - type: object
                                    title: Property containsAny condition
                                    properties:
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - containsAny
                                          - in
                                      value:
                                        type: array
                                        items:
                                          type: string
                                    required:
                                      - property
                                      - operator
                                      - value
                                  - type: object
                                    title: Relation containsAny condition
                                    properties:
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - containsAny
                                          - in
                                      value:
                                        type: array
                                        items:
                                          type: string
                                    required:
                                      - relation
                                      - operator
                                      - value
                                  - type: object
                                    title: Property comparison
                                    properties:
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!='
                                          - '>'
                                          - <
                                          - '>='
                                          - <=
                                          - contains
                                          - doesNotContains
                                          - beginsWith
                                          - doesNotBeginsWith
                                          - endsWith
                                          - doesNotEndsWith
                                      value:
                                        oneOf:
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                          - type: array
                                            items:
                                              type: string
                                        description: The value to compare against.
                                    required:
                                      - property
                                      - operator
                                      - value
                                  - type: object
                                    title: Relation comparison
                                    properties:
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!='
                                          - '>'
                                          - <
                                          - '>='
                                          - <=
                                          - contains
                                          - doesNotContains
                                          - beginsWith
                                          - doesNotBeginsWith
                                          - endsWith
                                          - doesNotEndsWith
                                      value:
                                        oneOf:
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                          - type: array
                                            items:
                                              type: string
                                        description: The value to compare against.
                                    required:
                                      - relation
                                      - operator
                                      - value
                                  - type: object
                                    title: Property empty condition
                                    properties:
                                      not:
                                        type: boolean
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - isEmpty
                                          - isNotEmpty
                                    required:
                                      - property
                                      - operator
                                  - type: object
                                    title: Relation empty condition
                                    properties:
                                      not:
                                        type: boolean
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - isEmpty
                                          - isNotEmpty
                                    required:
                                      - relation
                                      - operator
                          required:
                            - combinator
                            - conditions
                      required:
                        - identifier
                        - title
                        - query
              additionalProperties: false
              required:
                - identifier
                - title
                - rules
        required: true
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    put:
      summary: Change scorecards
      tags:
        - Scorecards
      description: This route allows you to modify one or more scorecards of a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.<br/><br/>To learn more about scorecards, check out the [documentation](https://docs.port.io/governance/standards-and-compliance/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  identifier:
                    type: string
                    pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                    maxLength: 100
                    description: A unique identifier for the scorecard.
                  title:
                    type: string
                    description: The title of the scorecard.
                  filter:
                    type: object
                    properties:
                      combinator:
                        type: string
                        enum:
                          - and
                          - or
                        description: The combinator to use when evaluating the conditions.
                      conditions:
                        type: array
                        minItems: 1
                        description: The conditions to evaluate.
                        items:
                          anyOf:
                            - type: object
                              title: Property between condition
                              properties:
                                property:
                                  type: string
                                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: Preset date range
                                      properties:
                                        preset:
                                          type: string
                                          enum:
                                            - today
                                            - tomorrow
                                            - yesterday
                                            - lastWeek
                                            - last2Weeks
                                            - lastMonth
                                            - last3Months
                                            - last6Months
                                            - last12Months
                                      required:
                                        - preset
                              required:
                                - property
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              title: Property containsAny condition
                              properties:
                                property:
                                  type: string
                                operator:
                                  type: string
                                  enum:
                                    - containsAny
                                    - in
                                value:
                                  type: array
                                  items:
                                    type: string
                              required:
                                - property
                                - operator
                                - value
                            - type: object
                              title: Relation containsAny condition
                              properties:
                                relation:
                                  type: string
                                operator:
                                  type: string
                                  enum:
                                    - containsAny
                                    - in
                                value:
                                  type: array
                                  items:
                                    type: string
                              required:
                                - relation
                                - operator
                                - value
                            - type: object
                              title: Property comparison
                              properties:
                                property:
                                  type: string
                                operator:
                                  type: string
                                  enum:
                                    - '='
                                    - '!='
                                    - '>'
                                    - <
                                    - '>='
                                    - <=
                                    - contains
                                    - doesNotContains
                                    - beginsWith
                                    - doesNotBeginsWith
                                    - endsWith
                                    - doesNotEndsWith
                                value:
                                  oneOf:
                                    - type: string
                                      title: string
                                    - type: number
                                      title: number
                                    - type: boolean
                                      title: boolean
                                    - type: array
                                      items:
                                        type: string
                                  description: The value to compare against.
                              required:
                                - property
                                - operator
                                - value
                            - type: object
                              title: Relation comparison
                              properties:
                                relation:
                                  type: string
                                operator:
                                  type: string
                                  enum:
                                    - '='
                                    - '!='
                                    - '>'
                                    - <
                                    - '>='
                                    - <=
                                    - contains
                                    - doesNotContains
                                    - beginsWith
                                    - doesNotBeginsWith
                                    - endsWith
                                    - doesNotEndsWith
                                value:
                                  oneOf:
                                    - type: string
                                      title: string
                                    - type: number
                                      title: number
                                    - type: boolean
                                      title: boolean
                                    - type: array
                                      items:
                                        type: string
                                  description: The value to compare against.
                              required:
                                - relation
                                - operator
                                - value
                            - type: object
                              title: Property empty condition
                              properties:
                                not:
                                  type: boolean
                                property:
                                  type: string
                                operator:
                                  type: string
                                  enum:
                                    - isEmpty
                                    - isNotEmpty
                              required:
                                - property
                                - operator
                            - type: object
                              title: Relation empty condition
                              properties:
                                not:
                                  type: boolean
                                relation:
                                  type: string
                                operator:
                                  type: string
                                  enum:
                                    - isEmpty
                                    - isNotEmpty
                              required:
                                - relation
                                - operator
                    required:
                      - combinator
                      - conditions
                    description: An optional set of [conditions](https://docs.port.io/governance/standards-and-compliance/concepts-and-structure/#conditions) to filter entities that will be evaluated by the scorecard.
                  properties:
                    type: object
                    propertyNames:
                      pattern: ^[A-Za-z0-9@_=\\-]+$
                    description: An object containing the additional properties of the scorecard, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                  rules:
                    type: array
                    description: The [rules](https://docs.port.io/governance/standards-and-compliance/concepts-and-structure/#rule-elements) that define the scorecard.
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                          pattern: ^[A-Za-z0-9@_=\\-]+$
                          maxLength: 100
                          description: The identifier of the rule.
                        title:
                          type: string
                          description: The title of the rule.
                        description:
                          type: string
                          description: A description for the rule.
                        level:
                          type: string
                          description: The level of the rule (Gold, Silver, or Bronze).
                        query:
                          type: object
                          properties:
                            combinator:
                              type: string
                              enum:
                                - and
                                - or
                              description: The combinator to use when evaluating the conditions.
                            conditions:
                              type: array
                              minItems: 1
                              description: The conditions to evaluate.
                              items:
                                anyOf:
                                  - type: object
                                    title: Property between condition
                                    properties:
                                      property:
                                        type: string
                                      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: Preset date range
                                            properties:
                                              preset:
                                                type: string
                                                enum:
                                                  - today
                                                  - tomorrow
                                                  - yesterday
                                                  - lastWeek
                                                  - last2Weeks
                                                  - lastMonth
                                                  - last3Months
                                                  - last6Months
                                                  - last12Months
                                            required:
                                              - preset
                                    required:
                                      - property
                                      - operator
                                      - value
                                    additionalProperties: false
                                  - type: object
                                    title: Property containsAny condition
                                    properties:
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - containsAny
                                          - in
                                      value:
                                        type: array
                                        items:
                                          type: string
                                    required:
                                      - property
                                      - operator
                                      - value
                                  - type: object
                                    title: Relation containsAny condition
                                    properties:
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - containsAny
                                          - in
                                      value:
                                        type: array
                                        items:
                                          type: string
                                    required:
                                      - relation
                                      - operator
                                      - value
                                  - type: object
                                    title: Property comparison
                                    properties:
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!='
                                          - '>'
                                          - <
                                          - '>='
                                          - <=
                                          - contains
                                          - doesNotContains
                                          - beginsWith
                                          - doesNotBeginsWith
                                          - endsWith
                                          - doesNotEndsWith
                                      value:
                                        oneOf:
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                          - type: array
                                            items:
                                              type: string
                                        description: The value to compare against.
                                    required:
                                      - property
                                      - operator
                                      - value
                                  - type: object
                                    title: Relation comparison
                                    properties:
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!='
                                          - '>'
                                          - <
                                          - '>='
                                          - <=
                                          - contains
                                          - doesNotContains
                                          - beginsWith
                                          - doesNotBeginsWith
                                          - endsWith
                                          - doesNotEndsWith
                                      value:
                                        oneOf:
                                          - type: string
                                            title: string
                                          - type: number
                                            title: number
                                          - type: boolean
                                            title: boolean
                                          - type: array
                                            items:
                                              type: string
                                        description: The value to compare against.
                                    required:
                                      - relation
                                      - operator
                                      - value
                                  - type: object
                                    title: Property empty condition
                                    properties:
                                      not:
                                        type: boolean
                                      property:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - isEmpty
                                          - isNotEmpty
                                    required:
                                      - property
                                      - operator
                                  - type: object
                                    title: Relation empty condition
                                    properties:
                                      not:
                                        type: boolean
                                      relation:
                                        type: string
                                      operator:
                                        type: string
                                        enum:
                                          - isEmpty
                                          - isNotEmpty
                                    required:
                                      - relation
                                      - operator
                          required:
                            - combinator
                            - conditions
                          description: The query that defines the rule.
                      required:
                        - identifier
                        - title
                        - level
                        - query
                  levels:
                    type: array
                    description: The available levels of the scorecard, each with its own name and color.
                    items:
                      type: object
                      properties:
                        title:
                          type: string
                          description: The name of the level.
                        color:
                          type: string
                          enum:
                            - blue
                            - turquoise
                            - orange
                            - purple
                            - pink
                            - yellow
                            - green
                            - red
                            - gold
                            - silver
                            - paleBlue
                            - darkGray
                            - lightGray
                            - bronze
                            - lime
                            - olive
                            - brown
                          description: The color associated with the level, for visualization in Port's UI.
                      required:
                        - title
                        - color
                  id:
                    type: string
                additionalProperties: false
                required:
                  - identifier
                  - title
                  - rules
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get a blueprint's scorecards
      tags:
        - Scorecards
      description: This route allows you to fetch all scorecards for a given blueprint. A scorecard is a set of rules that define the quality of a blueprint.<br/><br/>To learn more about scorecards, check out the [documentation](https://docs.port.io/governance/standards-and-compliance/overview).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint to operate on.
      security:
        - bearer:
            - read:scorecards
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/blueprints/{blueprint_identifier}/scorecards/{scorecard_identifier}:
    put:
      summary: Change a scorecard
      tags:
        - Scorecards
      description: This route allows you to modify a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.<br/><br/>To learn more about scorecards, check out the [documentation](https://docs.port.io/governance/standards-and-compliance/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  type: string
                  pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                  maxLength: 100
                  description: A unique identifier for the scorecard.
                title:
                  type: string
                  description: The title of the scorecard.
                filter:
                  type: object
                  properties:
                    combinator:
                      type: string
                      enum:
                        - and
                        - or
                      description: The combinator to use when evaluating the conditions.
                    conditions:
                      type: array
                      minItems: 1
                      description: The conditions to evaluate.
                      items:
                        anyOf:
                          - type: object
                            title: Property between condition
                            properties:
                              property:
                                type: string
                              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: Preset date range
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - today
                                          - tomorrow
                                          - yesterday
                                          - lastWeek
                                          - last2Weeks
                                          - lastMonth
                                          - last3Months
                                          - last6Months
                                          - last12Months
                                    required:
                                      - preset
                            required:
                              - property
                              - operator
                              - value
                            additionalProperties: false
                          - type: object
                            title: Property containsAny condition
                            properties:
                              property:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - containsAny
                                  - in
                              value:
                                type: array
                                items:
                                  type: string
                            required:
                              - property
                              - operator
                              - value
                          - type: object
                            title: Relation containsAny condition
                            properties:
                              relation:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - containsAny
                                  - in
                              value:
                                type: array
                                items:
                                  type: string
                            required:
                              - relation
                              - operator
                              - value
                          - type: object
                            title: Property comparison
                            properties:
                              property:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - '='
                                  - '!='
                                  - '>'
                                  - <
                                  - '>='
                                  - <=
                                  - contains
                                  - doesNotContains
                                  - beginsWith
                                  - doesNotBeginsWith
                                  - endsWith
                                  - doesNotEndsWith
                              value:
                                oneOf:
                                  - type: string
                                    title: string
                                  - type: number
                                    title: number
                                  - type: boolean
                                    title: boolean
                                  - type: array
                                    items:
                                      type: string
                                description: The value to compare against.
                            required:
                              - property
                              - operator
                              - value
                          - type: object
                            title: Relation comparison
                            properties:
                              relation:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - '='
                                  - '!='
                                  - '>'
                                  - <
                                  - '>='
                                  - <=
                                  - contains
                                  - doesNotContains
                                  - beginsWith
                                  - doesNotBeginsWith
                                  - endsWith
                                  - doesNotEndsWith
                              value:
                                oneOf:
                                  - type: string
                                    title: string
                                  - type: number
                                    title: number
                                  - type: boolean
                                    title: boolean
                                  - type: array
                                    items:
                                      type: string
                                description: The value to compare against.
                            required:
                              - relation
                              - operator
                              - value
                          - type: object
                            title: Property empty condition
                            properties:
                              not:
                                type: boolean
                              property:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - isEmpty
                                  - isNotEmpty
                            required:
                              - property
                              - operator
                          - type: object
                            title: Relation empty condition
                            properties:
                              not:
                                type: boolean
                              relation:
                                type: string
                              operator:
                                type: string
                                enum:
                                  - isEmpty
                                  - isNotEmpty
                            required:
                              - relation
                              - operator
                  required:
                    - combinator
                    - conditions
                  description: An optional set of [conditions](https://docs.port.io/governance/standards-and-compliance/concepts-and-structure/#conditions) to filter entities that will be evaluated by the scorecard.
                properties:
                  type: object
                  propertyNames:
                    pattern: ^[A-Za-z0-9@_=\\-]+$
                  description: An object containing the additional properties of the scorecard, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                rules:
                  type: array
                  description: The [rules](https://docs.port.io/governance/standards-and-compliance/concepts-and-structure/#rule-elements) that define the scorecard.
                  items:
                    type: object
                    properties:
                      identifier:
                        type: string
                        pattern: ^[A-Za-z0-9@_=\\-]+$
                        maxLength: 100
                        description: The identifier of the rule.
                      title:
                        type: string
                        description: The title of the rule.
                      description:
                        type: string
                        description: A description for the rule.
                      level:
                        type: string
                        description: The level of the rule (Gold, Silver, or Bronze).
                      query:
                        type: object
                        properties:
                          combinator:
                            type: string
                            enum:
                              - and
                              - or
                            description: The combinator to use when evaluating the conditions.
                          conditions:
                            type: array
                            minItems: 1
                            description: The conditions to evaluate.
                            items:
                              anyOf:
                                - type: object
                                  title: Property between condition
                                  properties:
                                    property:
                                      type: string
                                    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: Preset date range
                                          properties:
                                            preset:
                                              type: string
                                              enum:
                                                - today
                                                - tomorrow
                                                - yesterday
                                                - lastWeek
                                                - last2Weeks
                                                - lastMonth
                                                - last3Months
                                                - last6Months
                                                - last12Months
                                          required:
                                            - preset
                                  required:
                                    - property
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  title: Property containsAny condition
                                  properties:
                                    property:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - containsAny
                                        - in
                                    value:
                                      type: array
                                      items:
                                        type: string
                                  required:
                                    - property
                                    - operator
                                    - value
                                - type: object
                                  title: Relation containsAny condition
                                  properties:
                                    relation:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - containsAny
                                        - in
                                    value:
                                      type: array
                                      items:
                                        type: string
                                  required:
                                    - relation
                                    - operator
                                    - value
                                - type: object
                                  title: Property comparison
                                  properties:
                                    property:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!='
                                        - '>'
                                        - <
                                        - '>='
                                        - <=
                                        - contains
                                        - doesNotContains
                                        - beginsWith
                                        - doesNotBeginsWith
                                        - endsWith
                                        - doesNotEndsWith
                                    value:
                                      oneOf:
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                        - type: array
                                          items:
                                            type: string
                                      description: The value to compare against.
                                  required:
                                    - property
                                    - operator
                                    - value
                                - type: object
                                  title: Relation comparison
                                  properties:
                                    relation:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!='
                                        - '>'
                                        - <
                                        - '>='
                                        - <=
                                        - contains
                                        - doesNotContains
                                        - beginsWith
                                        - doesNotBeginsWith
                                        - endsWith
                                        - doesNotEndsWith
                                    value:
                                      oneOf:
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                        - type: array
                                          items:
                                            type: string
                                      description: The value to compare against.
                                  required:
                                    - relation
                                    - operator
                                    - value
                                - type: object
                                  title: Property empty condition
                                  properties:
                                    not:
                                      type: boolean
                                    property:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - isEmpty
                                        - isNotEmpty
                                  required:
                                    - property
                                    - operator
                                - type: object
                                  title: Relation empty condition
                                  properties:
                                    not:
                                      type: boolean
                                    relation:
                                      type: string
                                    operator:
                                      type: string
                                      enum:
                                        - isEmpty
                                        - isNotEmpty
                                  required:
                                    - relation
                                    - operator
                        required:
                          - combinator
                          - conditions
                        description: The query that defines the rule.
                    required:
                      - identifier
                      - title
                      - level
                      - query
                levels:
                  type: array
                  description: The available levels of the scorecard, each with its own name and color.
                  items:
                    type: object
                    properties:
                      title:
                        type: string
                        description: The name of the level.
                      color:
                        type: string
                        enum:
                          - blue
                          - turquoise
                          - orange
                          - purple
                          - pink
                          - yellow
                          - green
                          - red
                          - gold
                          - silver
                          - paleBlue
                          - darkGray
                          - lightGray
                          - bronze
                          - lime
                          - olive
                          - brown
                        description: The color associated with the level, for visualization in Port's UI.
                    required:
                      - title
                      - color
              additionalProperties: false
              required:
                - identifier
                - title
                - rules
        required: true
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: scorecard_identifier
          required: true
          description: The identifier of the scorecard to operate on.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint containing the scorecard.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
    get:
      summary: Get a scorecard
      tags:
        - Scorecards
      description: This route allows you to fetch a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.<br/><br/>To learn more about scorecards, check out the [documentation](https://docs.port.io/governance/standards-and-compliance/overview).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: scorecard_identifier
          required: true
          description: The identifier of the scorecard to operate on.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint containing the scorecard.
      security:
        - bearer:
            - read:scorecards
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    delete:
      summary: Delete a scorecard
      tags:
        - Scorecards
      description: This route allows you to delete a specific scorecard. A scorecard is a set of rules that define the quality of a blueprint.<br/><br/>To learn more about scorecards, check out the [documentation](https://docs.port.io/governance/standards-and-compliance/overview).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: scorecard_identifier
          required: true
          description: The identifier of the scorecard to operate on.
        - schema:
            type: string
            minLength: 1
          in: path
          name: blueprint_identifier
          required: true
          description: The identifier of the blueprint containing the scorecard.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/scorecards:
    get:
      summary: Get all scorecards
      tags:
        - Scorecards
      description: This route allows you to fetch all scorecards in your Port organization.<br/><br/>To learn more about scorecards, check out the [documentation](https://docs.port.io/governance/standards-and-compliance/overview).
      security:
        - bearer:
            - read:scorecards
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/migrations:
    get:
      summary: Get all migrations
      tags:
        - Migrations
      description: This route allows you to fetch all migrations (both past and present) in your Port organization.<br/><br/>The call will perform a logical `AND` operation on the query parameters below, and return all migrations that match the criteria.
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - COMPLETED
                - RUNNING
                - PENDING
                - INITIALIZING
                - FAILURE
                - CANCELLED
                - PENDING_CANCELLATION
          in: query
          name: status
          required: false
          style: form
          explode: true
        - schema:
            type: string
          in: query
          name: actor
          required: false
          description: The identifier of the user who initiated the migration. You can use the [Get user](https://docs.port.io/api-reference/get-a-user/) route to get a user's identifier.
        - schema:
            type: string
          in: query
          name: blueprint
          required: false
          description: The identifier of the blueprint associated with the migration.
      security:
        - bearer:
            - read:blueprints
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    post:
      summary: Create a migration
      tags:
        - Migrations
      description: This route allows you to create a migration in your Port organization. You can use this to migrate data from one blueprint to another.<br/><br/>**Note** that it is not possible to directly change the data type of an existing property via the UI or the API. The type field setting of a property (**number**, **string**, etc.) is permanent and cannot be changed after creation.<br/><br/>However, you can create a new property with the desired type and migrate the old values to it. Refer to the [documentation](https://docs.port.io/context-lake/data-model/setup-blueprint/properties/overview/#change-a-propertys-type) for more information on how to change a property's type.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sourceBlueprint:
                  type: string
                  description: The identifier of the blueprint from which the migration will be performed.
                mapping:
                  type: object
                  description: The definition used to map the data from the source blueprint into the target blueprint.
                  properties:
                    blueprint:
                      type: string
                      description: The identifier of the target blueprint.
                    filter:
                      type: string
                      description: An optional set of [conditions](https://docs.port.io/governance/standards-and-compliance/concepts-and-structure/#conditions) to filter the entities that will be migrated.
                    itemsToParse:
                      type: string
                      description: A `jq` query that evaluates to an array of items, used to create multiple entities at once. See more information [here](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#items-to-parse).
                    entity:
                      type: object
                      properties:
                        identifier:
                          type: string
                          description: A `jq` expression used to get data from the source blueprint, to be used as an identifier for the entity.
                        title:
                          type: string
                          description: A `jq` expression used to get data from the source blueprint, to be used as the title of the entity.
                        icon:
                          type: string
                          description: The icon of the entity.
                        team:
                          type: string
                          description: The team the entity belongs to.
                        properties:
                          type: object
                          description: An object containing the properties of the entity and their values, in `"key":"value"` pairs where the `key` is the property's identifier, and the `value` is its value.
                          additionalProperties:
                            type: string
                        relations:
                          type: object
                          description: An object containing the relations of the entity and their values, in `"key":"value"` pairs where the `key` is the relation's identifier, and the `value` is the related entity's identifier for single-relations, or an array of identifiers for many-relations.<br/>You can also use a [search query](https://docs.port.io/context-lake/ingestion/configure-mapping/configuration-methods#mapping-relations-using-search-queries) to define relations based on a property of the related entity.
                          additionalProperties:
                            type: string
                  required:
                    - entity
              required:
                - sourceBlueprint
                - mapping
              additionalProperties: false
        required: true
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/migrations/{migration_id}:
    get:
      summary: Get a migration
      tags:
        - Migrations
      description: This route allows you to fetch a specific migration in your Port organization.
      parameters:
        - schema:
            type: string
          in: path
          name: migration_id
          required: true
          description: The identifier of the migration you want to fetch.
      security:
        - bearer:
            - read:blueprints
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/migrations/{migration_id}/cancel:
    post:
      summary: Cancel a migration
      tags:
        - Migrations
      description: This route allows you to cancel a running migration in your Port organization.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  description: The reason for cancelling the migration.
              additionalProperties: false
      parameters:
        - schema:
            type: string
          in: path
          name: migration_id
          required: true
          description: The identifier of the migration you want to cancel.
      security:
        - bearer: []
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/actions/{action_identifier}/permissions:
    get:
      summary: Get an action's permissions
      tags:
        - Actions
      description: This route allows you to fetch the permissions of a self-service action.<br/><br/>To learn more about action RBAC, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/).
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: action_identifier
          required: true
          description: The identifier of the action/automation you want to operate on.
      security:
        - bearer:
            - read:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
    patch:
      summary: Update an action's permissions
      tags:
        - Actions
      description: This route allows you to update the permissions of a self-service action.<br/><br/>To learn more about action RBAC, check out the [documentation](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                execute:
                  type: object
                  description: An object used to define who can execute the action.
                  properties:
                    users:
                      type: array
                      items:
                        type: string
                      description: The email addresses of the users who can execute the action.
                    roles:
                      type: array
                      items:
                        type: string
                      description: The roles that can execute the action.
                    teams:
                      type: array
                      items:
                        type: string
                      description: The names of the teams whose members can execute the action.
                    ownedByTeam:
                      type: boolean
                      description: Relevant only for [DAY-2/DELETE actions](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/setup-ui-for-action/#basic-details). If `true`, any member of the team that the entity belongs to can execute the action.
                    policy:
                      type:
                        - object
                        - 'null'
                      properties:
                        queries:
                          type: object
                          description: One or more queries to fetch data from your software catalog.
                          minProperties: 1
                          additionalProperties:
                            $ref: '#/components/schemas/def-1'
                        conditions:
                          type: array
                          items:
                            type: string
                            minLength: 1
                          minItems: 1
                          description: '`JQ` expressions that run against the provided queries, and resolve to a boolean value (`true` = allowed to execute).'
                      required:
                        - queries
                        - conditions
                      additionalProperties: false
                      description: An optional custom policy the determines if action execution is allowed.<br/>See instructions and examples [here](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/dynamic-permissions/#instructions).
                  additionalProperties: false
                approve:
                  type: object
                  description: An object used to define who can approve the action.
                  properties:
                    users:
                      type: array
                      items:
                        type: string
                      description: The email addresses of the users who can approve the action.
                    roles:
                      type: array
                      items:
                        type: string
                      description: The roles that can approve the action.
                    teams:
                      type: array
                      items:
                        type: string
                      description: The names of the teams whose members can approve the action.
                    policy:
                      type:
                        - object
                        - 'null'
                      properties:
                        queries:
                          type: object
                          description: One or more queries to fetch data from your software catalog.
                          minProperties: 1
                          additionalProperties:
                            $ref: '#/components/schemas/def-1'
                        conditions:
                          type: array
                          items:
                            type: string
                            minLength: 1
                          minItems: 1
                          description: '`JQ` expressions that run against the provided queries, and resolve to a boolean value (`true` = allowed to execute).'
                      required:
                        - queries
                        - conditions
                      additionalProperties: false
                      description: An optional custom policy the determines who can approve the action.<br/>See instructions and examples [here](https://docs.port.io/workflows/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/dynamic-permissions/#instructions).
                  additionalProperties: false
              additionalProperties: false
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: action_identifier
          required: true
          description: The identifier of the action/automation you want to operate on.
      security:
        - bearer:
            - update:actions
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
        '413':
          description: Request body is too large (limit is 1MiB)
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
                description: Request body is too large (limit is 1MiB)
        '422':
          description: The json provided does not match the route's schema
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: The json provided does not match the route's schema
  /v1/profile/onboarding-prompt:
    get:
      summary: Get the onboarding prompt stored for the current user
      tags:
        - AI
      description: Returns the onboarding system prompt stored for the authenticated user, set during signup, or null if none is set.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    enum:
                      - true
                  onboardingPrompt:
                    type: string
                    nullable: true
                required:
                  - ok
                  - onboardingPrompt
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                  - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/agent/{identifier}/invoke:
    post:
      summary: Invoke a specific agent
      tags:
        - AI
      description: This route allows you to create an agent's invocation.<br/><br/>To learn more about AI agents, check out the [documentation](https://docs.port.io/agent-management/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  description: The user's message or query to be processed by the AI agent.
                  type: string
                labels:
                  description: Optional meta-data about the invocation.
                  type: object
                  additionalProperties:
                    type: string
                provider:
                  description: The AI provider for this invocation. Use `openai-compatible`, `vertex-gemini`, or `vertex-anthropic` with a model you registered via the [LLM management API](https://docs.port.io/api-reference/create-or-connect-an-llm-provider). See the [OpenAI compatible](https://docs.port.io/port-ai/llm-providers-management/providers/openai-compatible), [Vertex Gemini](https://docs.port.io/port-ai/llm-providers-management/providers/vertex-gemini), and [Vertex Anthropic](https://docs.port.io/port-ai/llm-providers-management/providers/vertex-anthropic) setup guides.
                  type: string
                  enum:
                    - openai
                    - azure-openai
                    - anthropic
                    - azure-anthropic
                    - bedrock
                    - port
                    - openai-compatible
                    - vertex-gemini
                    - vertex-anthropic
                model:
                  anyOf:
                    - type: string
                      enum:
                        - gpt-5
                        - claude-sonnet-4-20250514
                        - claude-sonnet-4-5-20250929
                        - claude-sonnet-4-6
                        - claude-sonnet-5
                        - claude-haiku-4-5-20251001
                        - claude-opus-4-5-20251101
                        - claude-opus-4-6
                    - type: string
                      minLength: 3
                      description: Custom model name (for example from an OpenAI-compatible provider you configured).
                toolApprovals:
                  description: Tool call approvals to continue a paused invocation. Mutually exclusive with prompt.
                  type: array
                  items:
                    type: object
                    properties:
                      toolCallId:
                        type: string
                        description: The ID of the tool call to approve or reject.
                      action:
                        type: string
                        enum:
                          - approve
                          - approve_with_edit
                          - reject
                        description: The action to take on the tool call.
                      editedArguments:
                        description: Required if action is approve_with_edit. The edited arguments to use.
                        type: object
                        additionalProperties: {}
                      rejectionReason:
                        description: Optional reason if rejecting the tool call. Passed to LLM.
                        type: string
                    required:
                      - toolCallId
                      - action
                async:
                  description: If true, the invocation runs in the background and returns immediately with an invocation identifier.
                  type: boolean
                outputSchema:
                  description: JSON Schema for structured output validation. When provided, the AI response will be validated against this schema.
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - object
                      description: Root JSON Schema type for structured output.
                    properties:
                      description: JSON object properties for structured output. Values may be nested JSON Schema fragments.
                      type: object
                      additionalProperties: {}
                    required:
                      description: List of required property names for the top-level object.
                      type: array
                      items:
                        type: string
                        description: A required property name.
                  required:
                    - type
                  additionalProperties: {}
      parameters:
        - schema:
            type: string
          in: query
          name: invocation_identifier
          required: false
          description: Optional existing invocation id when continuing a multi-step interaction.
        - schema:
            type: string
          in: query
          name: conversation_identifier
          required: false
          description: Conversation ID for clients continuing a thread.
        - schema:
            type: boolean
          in: query
          name: stream
          required: false
          description: If true, response may stream (when supported) instead of a single payload.
        - schema:
            type: boolean
          in: query
          name: use_mcp
          required: false
          description: If true, MCP tools may be used for this invocation when configured.
        - schema:
            type: string
          in: path
          name: identifier
          required: true
          description: The identifier of the agent you want to operate on.
      responses:
        '202':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  invocationIdentifier:
                    type: string
                    description: The invocation id to use when polling for results.
                  traceID:
                    type: string
                required:
                  - ok
                  - invocationIdentifier
                  - traceID
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/conversations:
    get:
      summary: List the user's recent AI conversations
      tags:
        - AI
      description: This route returns a paginated list of the calling user's AI assistant conversations, sorted by latest activity descending.<br/><br/>Use the `cursor` query parameter with the previous page's last `askedAt` value to fetch older pages.<br/><br/>To learn more about Port AI API interaction, check out the [documentation](https://docs.port.io/port-ai/api-interaction).
      parameters:
        - schema:
            default: 20
            type: integer
            exclusiveMinimum: true
            maximum: 100
          in: query
          name: limit
          required: false
          description: Maximum number of conversations to return (default 20).
        - schema:
            type: string
          in: query
          name: cursor
          required: false
          description: asked_at value of the last item from the previous page (ISO timestamp).
        - schema:
            type: string
          in: query
          name: search
          required: false
          description: Case-insensitive substring match against conversation title.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  conversations:
                    type: array
                    items:
                      type: object
                      properties:
                        conversationId:
                          type: string
                          description: Unique identifier for the conversation.
                        title:
                          description: Display title for the conversation.
                          type: string
                        askedAt:
                          type: string
                          description: Timestamp of the most recent activity (ISO 8601).
                        status:
                          type: string
                          enum:
                            - In Progress
                            - Completed
                            - Failed
                          description: Status of the latest invocation in the conversation.
                        latestInvocationId:
                          type: string
                          description: Identifier of the most recent invocation segment in this conversation.
                        pinned:
                          description: Whether the conversation is pinned by the user.
                          type: boolean
                      required:
                        - conversationId
                        - askedAt
                        - status
                        - latestInvocationId
                      additionalProperties: false
                  nextCursor:
                    nullable: true
                    description: Cursor for the next page, or null when there are no more results.
                    type: string
                required:
                  - ok
                  - conversations
                  - nextCursor
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/conversations/{conversation_id}:
    get:
      summary: Load a conversation by id
      tags:
        - AI
      description: This route returns conversation metadata and the latest invocation segment's messages, plus a `previousInvocationId` pointer for scroll-up pagination into older segments.<br/><br/>To learn more about Port AI API interaction, check out the [documentation](https://docs.port.io/port-ai/api-interaction).
      parameters:
        - schema:
            type: string
          in: path
          name: conversation_id
          required: true
          description: Unique identifier for the conversation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      conversationId:
                        type: string
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - In Progress
                          - Completed
                          - Failed
                        description: Status of the latest invocation in the conversation.
                      latestInvocation:
                        type: object
                        properties:
                          invocationId:
                            type: string
                          askedAt:
                            type: string
                          messages:
                            type: array
                            items:
                              oneOf:
                                - type: object
                                  properties:
                                    role:
                                      type: string
                                      enum:
                                        - user
                                    messageId:
                                      type: string
                                      description: Stable identifier for this message. Use as message_id when submitting feedback.
                                    content:
                                      type: string
                                  required:
                                    - role
                                    - messageId
                                    - content
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    role:
                                      type: string
                                      enum:
                                        - assistant
                                    messageId:
                                      type: string
                                      description: Stable identifier for this message. Use as message_id when submitting feedback.
                                    content:
                                      anyOf:
                                        - type: string
                                        - type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - text
                                                    description: Content block type.
                                                  text:
                                                    type: string
                                                    description: The text content of this block.
                                                required:
                                                  - type
                                                  - text
                                                additionalProperties: false
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - reasoning
                                                    description: Content block type.
                                                  text:
                                                    type: string
                                                    description: The reasoning text content of this block.
                                                  durationMs:
                                                    description: How long the model spent reasoning for this block, in milliseconds.
                                                    type: number
                                                required:
                                                  - type
                                                  - text
                                                additionalProperties: false
                                    toolCalls:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          id:
                                            type: string
                                          name:
                                            type: string
                                          arguments:
                                            type: object
                                            additionalProperties: {}
                                          approvalStatus:
                                            type: string
                                            enum:
                                              - pending
                                              - approved
                                              - approved_with_edit
                                              - rejected
                                          originalArguments:
                                            type: object
                                            additionalProperties: {}
                                          requiresApproval:
                                            type: boolean
                                          requiresUserInteraction:
                                            description: Whether this tool call requires the user to interact with it directly (beyond approval) before it can complete.
                                            type: boolean
                                        required:
                                          - id
                                          - name
                                          - arguments
                                        additionalProperties: false
                                    feedbackRating:
                                      description: User feedback rating stored on this assistant message, if any.
                                      type: string
                                      enum:
                                        - positive
                                        - negative
                                    feedbackComment:
                                      description: Optional free-text feedback comment on this assistant message.
                                      type: string
                                    agentName:
                                      description: Name of the agent that produced this assistant message, when applicable.
                                      type: string
                                  required:
                                    - role
                                    - messageId
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    role:
                                      type: string
                                      enum:
                                        - tool
                                    messageId:
                                      type: string
                                    toolCallId:
                                      type: string
                                    content:
                                      type: string
                                    isError:
                                      description: Whether the tool call resulted in an error.
                                      type: boolean
                                  required:
                                    - role
                                    - messageId
                                    - toolCallId
                                    - content
                                  additionalProperties: false
                          previousInvocationId:
                            nullable: true
                            description: Parent invocation segment when older history exists.
                            type: string
                        required:
                          - invocationId
                          - askedAt
                          - messages
                          - previousInvocationId
                        additionalProperties: false
                    required:
                      - conversationId
                      - status
                      - latestInvocation
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    delete:
      summary: Delete a conversation
      tags:
        - AI
      description: This route permanently deletes a conversation and its associated invocation segments for the authenticated user.<br/><br/>To learn more about Port AI API interaction, check out the [documentation](https://docs.port.io/port-ai/api-interaction).
      parameters:
        - schema:
            type: string
          in: path
          name: conversation_id
          required: true
          description: Unique identifier for the conversation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/conversations/{conversation_id}/pin:
    patch:
      summary: Pin or unpin a conversation
      tags:
        - AI
      description: This route sets whether a conversation is pinned for the authenticated user.<br/><br/>To learn more about Port AI API interaction, check out the [documentation](https://docs.port.io/port-ai/api-interaction).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pinned:
                  type: boolean
                  description: Whether the conversation is pinned.
              required:
                - pinned
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: conversation_id
          required: true
          description: Unique identifier for the conversation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/conversations/{conversation_id}/title:
    patch:
      summary: Rename a conversation
      tags:
        - AI
      description: This route updates the display title of a conversation.<br/><br/>To learn more about Port AI API interaction, check out the [documentation](https://docs.port.io/port-ai/api-interaction).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  minLength: 1
                  description: The new title for the conversation.
              required:
                - title
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: conversation_id
          required: true
          description: Unique identifier for the conversation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/entities-auto-discovery:
    post:
      summary: Create an auto-discovery invocation
      tags:
        - Catalog auto discovery
      description: This route allows you to create an auto-discovery invocation.<br></br> To learn more about the auto-discovery feature, see the [documentation](https://docs.port.io/context-lake/ingestion/catalog-auto-discovery).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                blueprintIdentifier:
                  type: string
                  description: The identifier of the blueprint to discover entities for.
                excludedBlueprintIdentifiers:
                  description: The identifiers of the related blueprints to exclude from the discovery context.
                  type: array
                  items:
                    type: string
                description:
                  description: Additional information to guide the auto-discovery search. For example, you can provide a clue that service names end with `_service`.
                  type: string
                autoApprove:
                  default: false
                  description: When true, automatically accepts all suggestions without requiring manual review. If some suggestions fail to be ingested but at least one succeeds, the invocation is marked completed. If all suggestions fail to ingest, the invocation is marked failed.
                  type: boolean
                waitForEntities:
                  default: false
                  description: When true, the invocation is in a `waiting` state until either enough entities have been ingested into the related blueprints, or a safety timeout elapses. Thresholds (count and timeout) are configured on the server, not per-request.
                  type: boolean
              required:
                - blueprintIdentifier
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  invocationId:
                    type: string
                required:
                  - ok
                  - invocationId
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/entities-auto-discovery/{invocation_id}/review:
    post:
      summary: Review auto-discovery invocation suggestions
      tags:
        - Catalog auto discovery
      description: This route allows you to review suggestions for an auto-discovery invocation. You can accept or reject individual suggestions, or accept or reject all suggestions at once.<br></br> To learn more about the auto-discovery feature, see the [documentation](https://docs.port.io/context-lake/ingestion/catalog-auto-discovery).
      security:
        - bearer: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                actions:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        properties:
                          entityIdentifier:
                            type: string
                            description: The identifier of the entity to accept.
                          action:
                            type: string
                            enum:
                              - accept
                        required:
                          - entityIdentifier
                          - action
                        title: Accept suggestion
                      - type: object
                        properties:
                          entityIdentifier:
                            type: string
                            description: The identifier of the entity to reject.
                          action:
                            type: string
                            enum:
                              - reject
                          rejectionReason:
                            description: The reason for rejecting the entity.
                            type: string
                        required:
                          - entityIdentifier
                          - action
                        title: Reject suggestion
                bulkAction:
                  oneOf:
                    - type: object
                      properties:
                        action:
                          type: string
                          enum:
                            - accept_all
                          description: Accept all suggestions.
                      required:
                        - action
                      title: Accept all suggestions
                    - type: object
                      properties:
                        action:
                          type: string
                          enum:
                            - reject_all
                          description: Reject all suggestions.
                        rejectionReason:
                          description: The reason for rejecting all suggestions.
                          type: string
                      required:
                        - action
                      title: Reject all suggestions
      parameters:
        - schema:
            type: string
            pattern: ^[0-9a-f]{24}$
          in: path
          name: invocation_id
          required: true
          description: The ID of the auto-discovery invocation returned by the create auto-discovery invocation endpoint.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  reviewedCount:
                    type: number
                    description: The number of suggestions reviewed.
                  acceptedCount:
                    type: number
                    description: The number of suggestions accepted.
                  rejectedCount:
                    type: number
                    description: The number of suggestions rejected.
                  ingestErrorCount:
                    type: number
                    description: The number of suggestions that failed to be ingested.
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        entityIdentifier:
                          type: string
                          description: The identifier of the entity that failed to be ingested.
                        errorMessage:
                          type: string
                          description: The error message of the entity that failed to be ingested.
                      required:
                        - entityIdentifier
                        - errorMessage
                      additionalProperties: false
                required:
                  - ok
                  - reviewedCount
                  - acceptedCount
                  - rejectedCount
                  - ingestErrorCount
                  - errors
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
  /v1/ai/entities-auto-discovery/{invocation_id}/suggestions:
    get:
      summary: Get suggestions for an auto-discovery invocation
      tags:
        - Catalog auto discovery
      description: This route allows you to get suggestions for an auto-discovery invocation.<br></br> To learn more about the auto-discovery feature, see the [documentation](https://docs.port.io/context-lake/ingestion/catalog-auto-discovery).
      parameters:
        - schema:
            type: string
            pattern: ^[0-9a-f]{24}$
          in: path
          name: invocation_id
          required: true
          description: The ID of the auto-discovery invocation returned by the create auto-discovery invocation endpoint.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  status:
                    type: string
                    enum:
                      - in_progress
                      - pending_review
                      - completed
                      - failed
                    description: The status of the auto-discovery invocation.
                  durationSeconds:
                    description: The duration of the auto-discovery invocation in seconds.
                    type: number
                  generatedCount:
                    description: The number of entities generated by the auto-discovery invocation.
                    type: number
                  errorMessage:
                    type: string
                  upstreamBlueprintCounts:
                    type: object
                    additionalProperties:
                      type: number
                  downstreamBlueprintCounts:
                    type: object
                    additionalProperties:
                      type: number
                  enrichSuggestions:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                        title:
                          type: string
                        icon:
                          type: string
                        properties:
                          type: object
                          additionalProperties: {}
                        relations:
                          type: object
                          additionalProperties:
                            anyOf:
                              - type: string
                              - type: array
                                items:
                                  type: string
                      required:
                        - identifier
                      additionalProperties: false
                  createSuggestions:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                        title:
                          type: string
                        icon:
                          type: string
                        properties:
                          type: object
                          additionalProperties: {}
                        relations:
                          type: object
                          additionalProperties:
                            anyOf:
                              - type: string
                              - type: array
                                items:
                                  type: string
                      required:
                        - identifier
                      additionalProperties: false
                required:
                  - ok
                  - status
                  - enrichSuggestions
                  - createSuggestions
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/entities-auto-discovery/blueprint/{blueprint_identifier}/latest:
    get:
      summary: Get the latest auto-discovery invocation for a blueprint
      tags:
        - Catalog auto discovery
      description: This route allows you to get the latest auto-discovery invocation for a blueprint.<br></br> To learn more about the auto-discovery feature, see the [documentation](https://docs.port.io/context-lake/ingestion/catalog-auto-discovery).
      parameters:
        - schema:
            type: string
          in: path
          name: blueprint_identifier
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  invocationId:
                    type: string
                    description: The ID of the auto-discovery invocation.
                  status:
                    type: string
                    enum:
                      - in_progress
                      - pending_review
                      - completed
                      - failed
                      - waiting
                    description: The status of the latest auto-discovery invocation for the blueprint.
                  generatedCount:
                    description: The number of entities generated by the latest auto-discovery invocation for the blueprint.
                    type: number
                  pendingReviewCount:
                    type: number
                    description: The number of suggestions waiting for review in the latest auto-discovery invocation for the blueprint.
                  errorMessage:
                    description: The error message of the latest auto-discovery invocation for the blueprint, if failed.
                    type: string
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                required:
                  - ok
                  - invocationId
                  - status
                  - pendingReviewCount
                  - createdAt
                  - updatedAt
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/entities-auto-discovery/active:
    get:
      summary: Get active auto-discovery invocations (in progress or pending review)
      tags:
        - Catalog auto discovery
      description: This route returns auto-discovery invocations that are in progress (discovery running) or pending review (suggestions ready for review).<br></br> To learn more about the auto-discovery feature, see the [documentation](https://docs.port.io/context-lake/ingestion/catalog-auto-discovery).
      parameters:
        - schema:
            default: 100
            type: integer
            exclusiveMinimum: true
            maximum: 100
          in: query
          name: limit
          required: false
          description: Maximum number of active invocations to return (default 100).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  invocations:
                    type: array
                    items:
                      type: object
                      properties:
                        invocationId:
                          type: string
                          description: The ID of the auto-discovery invocation.
                        blueprintIdentifier:
                          type: string
                          description: The identifier of the blueprint for this auto-discovery invocation.
                        createdBy:
                          description: The user ID that created this auto-discovery invocation.
                          type: string
                        status:
                          type: string
                          enum:
                            - in_progress
                            - pending_review
                          description: The status of the auto-discovery invocation.
                        pendingReviewCount:
                          type: number
                          description: The number of suggestions waiting for review in this auto-discovery invocation.
                        createdAt:
                          description: The creation date of the invocation.
                          type: string
                          format: date-time
                        updatedAt:
                          description: The last update date of the invocation.
                          type: string
                          format: date-time
                      required:
                        - invocationId
                        - blueprintIdentifier
                        - status
                        - pendingReviewCount
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                required:
                  - ok
                  - invocations
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/entities-auto-discovery/{invocation_id}/suggestions/{entity_identifier}:
    patch:
      summary: Update a suggestion for an auto-discovery invocation
      tags:
        - Catalog auto discovery
      description: This route allows you to update a suggestion for an auto-discovery invocation. If a suggestion is not accurate, you can update it with the correct information.<br></br> To learn more about the auto-discovery feature, see the [documentation](https://docs.port.io/context-lake/ingestion/catalog-auto-discovery).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                identifier:
                  nullable: true
                  type: string
                title:
                  nullable: true
                  type: string
                icon:
                  nullable: true
                  type: string
                properties:
                  type: object
                  additionalProperties:
                    nullable: true
                relations:
                  type: object
                  additionalProperties:
                    anyOf:
                      - nullable: true
                        type: string
                      - type: array
                        items:
                          type: string
      parameters:
        - schema:
            type: string
            pattern: ^[0-9a-f]{24}$
          in: path
          name: invocation_id
          required: true
          description: The ID of the auto-discovery invocation returned by the create auto-discovery invocation endpoint.
        - schema:
            type: string
          in: path
          name: entity_identifier
          required: true
          description: The identifier of the entity to update the suggestion for.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  entity:
                    type: object
                    properties:
                      identifier:
                        type: string
                      title:
                        type: string
                      icon:
                        type: string
                      properties:
                        type: object
                        additionalProperties: {}
                      relations:
                        type: object
                        additionalProperties:
                          anyOf:
                            - type: string
                            - type: array
                              items:
                                type: string
                    required:
                      - identifier
                    additionalProperties: false
                required:
                  - ok
                  - entity
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/invoke/{invocation_identifier}:
    get:
      summary: Get an invocation's result
      tags:
        - AI
      description: This route allows you to get a specific invocation result.<br/><br/>To learn more about AI agents, check out the [documentation](https://docs.port.io/agent-management/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: invocation_identifier
          required: true
          description: A unique identifier for the invocation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - In Progress
                          - Completed
                          - Failed
                      message:
                        type: string
                      error:
                        type: string
                      invocationIdentifier:
                        type: string
                      selectedAgent:
                        type: string
                      messages:
                        type: array
                        items:
                          oneOf:
                            - type: object
                              properties:
                                role:
                                  type: string
                                  enum:
                                    - user
                                messageId:
                                  type: string
                                  description: Stable identifier for this message. Use as message_id when submitting feedback.
                                content:
                                  type: string
                              required:
                                - role
                                - messageId
                                - content
                              additionalProperties: false
                            - type: object
                              properties:
                                role:
                                  type: string
                                  enum:
                                    - assistant
                                messageId:
                                  type: string
                                  description: Stable identifier for this message. Use as message_id when submitting feedback.
                                content:
                                  anyOf:
                                    - type: string
                                    - type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - text
                                                description: Content block type.
                                              text:
                                                type: string
                                                description: The text content of this block.
                                            required:
                                              - type
                                              - text
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - reasoning
                                                description: Content block type.
                                              text:
                                                type: string
                                                description: The reasoning text content of this block.
                                              durationMs:
                                                description: How long the model spent reasoning for this block, in milliseconds.
                                                type: number
                                            required:
                                              - type
                                              - text
                                            additionalProperties: false
                                toolCalls:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                      name:
                                        type: string
                                      arguments:
                                        type: object
                                        additionalProperties: {}
                                      approvalStatus:
                                        type: string
                                        enum:
                                          - pending
                                          - approved
                                          - approved_with_edit
                                          - rejected
                                      originalArguments:
                                        type: object
                                        additionalProperties: {}
                                      requiresApproval:
                                        type: boolean
                                      requiresUserInteraction:
                                        description: Whether this tool call requires the user to interact with it directly (beyond approval) before it can complete.
                                        type: boolean
                                    required:
                                      - id
                                      - name
                                      - arguments
                                    additionalProperties: false
                                feedbackRating:
                                  description: User feedback rating stored on this assistant message, if any.
                                  type: string
                                  enum:
                                    - positive
                                    - negative
                                feedbackComment:
                                  description: Optional free-text feedback comment on this assistant message.
                                  type: string
                                agentName:
                                  description: Name of the agent that produced this assistant message, when applicable.
                                  type: string
                              required:
                                - role
                                - messageId
                              additionalProperties: false
                            - type: object
                              properties:
                                role:
                                  type: string
                                  enum:
                                    - tool
                                messageId:
                                  type: string
                                toolCallId:
                                  type: string
                                content:
                                  type: string
                                isError:
                                  description: Whether the tool call resulted in an error.
                                  type: boolean
                              required:
                                - role
                                - messageId
                                - toolCallId
                                - content
                              additionalProperties: false
                      pendingToolCalls:
                        type: array
                        items:
                          type: object
                          properties:
                            toolCallId:
                              type: string
                            name:
                              type: string
                            arguments:
                              type: object
                              additionalProperties: {}
                            requiresApproval:
                              type: boolean
                          required:
                            - toolCallId
                            - name
                            - arguments
                            - requiresApproval
                          additionalProperties: false
                      contextUsagePercent:
                        type: number
                      conversationId:
                        type: string
                      previousInvocationId:
                        nullable: true
                        type: string
                    required:
                      - status
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/invoke:
    post:
      summary: General-purpose AI interactions
      tags:
        - AI
      description: This is a general-purpose endpoint that is not tied to any specific agent. Its purpose is to allow you to send requests directly to Port AI, enabling interactions and executions without being bound to a predefined agent context.<br/><br/>To learn more about AI agents, check out the [documentation](https://docs.port.io/agent-management/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userPrompt:
                  description: The user's message or query to be processed by Port AI.
                  type: string
                toolApprovals:
                  description: Tool call approvals to continue a paused invocation. Mutually exclusive with userPrompt.
                  type: array
                  items:
                    type: object
                    properties:
                      toolCallId:
                        type: string
                        description: The ID of the tool call to approve or reject.
                      action:
                        type: string
                        enum:
                          - approve
                          - approve_with_edit
                          - reject
                        description: The action to take on the tool call.
                      editedArguments:
                        description: Required if action is approve_with_edit. The edited arguments to use.
                        type: object
                        additionalProperties: {}
                      rejectionReason:
                        description: Optional reason if rejecting the tool call. Passed to LLM.
                        type: string
                    required:
                      - toolCallId
                      - action
                labels:
                  description: Optional meta-data about the invocation.
                  type: object
                  additionalProperties:
                    type: string
                provider:
                  description: The AI provider to use for this invocation. If not specified, the default provider will be used. For custom catalogs, use `openai-compatible`, `vertex-gemini`, or `vertex-anthropic` with a model `name` from your [LLM provider configuration](https://docs.port.io/api-reference/create-or-connect-an-llm-provider).
                  type: string
                  enum:
                    - openai
                    - azure-openai
                    - anthropic
                    - azure-anthropic
                    - bedrock
                    - port
                    - openai-compatible
                    - vertex-gemini
                    - vertex-anthropic
                model:
                  anyOf:
                    - type: string
                      enum:
                        - gpt-5
                        - claude-sonnet-4-20250514
                        - claude-sonnet-4-5-20250929
                        - claude-sonnet-4-6
                        - claude-sonnet-5
                        - claude-haiku-4-5-20251001
                        - claude-opus-4-5-20251101
                        - claude-opus-4-6
                    - type: string
                      minLength: 3
                      description: Custom model name (for example from an OpenAI-compatible, Vertex Gemini, or Vertex Anthropic provider you configured).
                systemPrompt:
                  default: ''
                  description: A set of instructions that guides an AI's behavior and responses by providing its role, persona, and operational rules at the beginning of an interaction.
                  type: string
                executionMode:
                  description: Tool execution mode. Controls how tools are executed.
                  type: string
                  enum:
                    - Automatic
                    - Approval Required
                toolApprovalOverrides:
                  description: Override the per-tool approval mode for this invocation. Each entry is layered on top of the user's saved approval preferences (entries here win on conflicts). Each key is a tool name; "approval" pauses execution to require user approval before the tool runs, "automatic" runs the tool without approval. To narrow the set of tools available to the model, use the `tools` field.
                  type: object
                  additionalProperties:
                    type: string
                    enum:
                      - automatic
                      - approval
                tools:
                  description: List of Regex values to match against the tools names. When omitted, all tools available to the user are included (subject to the user's tool approval preferences). To learn more about the available tools, refer to the [documentation](https://docs.port.io/ai-interfaces/port-ai/overview?execution-modes=manual#available-tools).
                  type: array
                  items:
                    type: string
                    description: Regular expressions matched against available tool names. See [available tools](https://docs.port.io/port-ai/overview#available-tools) in the Port AI overview.
                mcpServers:
                  description: Up to five MCP server identifiers to use for this invocation.
                  maxItems: 5
                  type: array
                  items:
                    type: object
                    properties:
                      identifier:
                        type: string
                        description: The MCP server identifier in Port.
                    required:
                      - identifier
                memory:
                  description: Memory configuration options for this invocation.
                  type: object
                  properties:
                    disabled:
                      default: false
                      description: If true, disables memory retrieval and storage for this invocation.
                      type: boolean
                async:
                  default: false
                  description: When true, the invocation is accepted and run asynchronously. The response is HTTP 202 with no SSE stream. Poll GET /ai/invoke/:invocation_identifier for results.
                  type: boolean
                outputSchema:
                  description: JSON Schema for structured output validation. When provided, the AI response will be validated against this schema.
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - object
                      description: Root JSON Schema type for structured output.
                    properties:
                      description: JSON object properties for structured output. Values may be nested JSON Schema fragments.
                      type: object
                      additionalProperties: {}
                    required:
                      description: List of required property names for the top-level object.
                      type: array
                      items:
                        type: string
                        description: A required property name.
                  required:
                    - type
                  additionalProperties: {}
                chatMode:
                  description: 'Chat mode that controls which tools are available. ask: read-only tools only. plan: read-only + plan tools. build: all tools. When specifying a chat mode the run_action tool is replaced by the trigger_run tool.'
                  type: string
                  enum:
                    - ask
                    - build
                    - plan
                    - onboarding
                conversationId:
                  description: Conversation ID for stateless clients continuing a thread without invocation_identifier.
                  type: string
      parameters:
        - schema:
            type: string
          in: query
          name: invocation_identifier
          required: false
          description: A unique identifier for the invocation.
        - schema:
            type: string
          in: query
          name: conversation_identifier
          required: false
          description: Conversation ID for clients continuing a thread.
      responses:
        '202':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  invocationIdentifier:
                    type: string
                    description: The invocation id to use when polling for results.
                  traceID:
                    type: string
                required:
                  - ok
                  - invocationIdentifier
                  - traceID
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/invoke/{invocation_identifier}/feedback:
    patch:
      summary: Submit feedback for an AI message
      tags:
        - AI
      description: Stores thumbs up/down and an optional comment on a specific assistant message within an invocation.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                message_id:
                  type: string
                  description: The identifier of the assistant message to rate. Obtain it from GET /v1/ai/invoke/{invocation_identifier}/messages or conversation load responses.
                feedback_rating:
                  type: string
                  enum:
                    - positive
                    - negative
                  description: The feedback rating for the AI message.
                feedback_comment:
                  description: Optional free-text comment accompanying the feedback.
                  type: string
              required:
                - message_id
                - feedback_rating
        required: true
      parameters:
        - schema:
            type: string
          in: path
          name: invocation_identifier
          required: true
          description: A unique identifier for the invocation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    delete:
      summary: Delete feedback for an AI message
      tags:
        - AI
      description: Clears stored feedback (rating and comment) for a specific assistant message within an invocation.
      parameters:
        - schema:
            type: string
          in: query
          name: message_id
          required: true
          description: The identifier of the assistant message whose feedback should be cleared.
        - schema:
            type: string
          in: path
          name: invocation_identifier
          required: true
          description: A unique identifier for the invocation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/invoke/{invocation_identifier}/messages:
    get:
      summary: Load a single invocation's messages with a pointer to the previous invocation
      tags:
        - AI
      description: This route returns messages for one invocation segment and a `previousInvocationId` pointer when older segments exist in the same conversation (for example after context summarization).<br/><br/>To learn more about Port AI API interaction, check out the [documentation](https://docs.port.io/port-ai/api-interaction).
      parameters:
        - schema:
            type: string
          in: path
          name: invocation_identifier
          required: true
          description: A unique identifier for the invocation.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      invocationId:
                        type: string
                      askedAt:
                        type: string
                      messages:
                        type: array
                        items:
                          oneOf:
                            - type: object
                              properties:
                                role:
                                  type: string
                                  enum:
                                    - user
                                messageId:
                                  type: string
                                  description: Stable identifier for this message. Use as message_id when submitting feedback.
                                content:
                                  type: string
                              required:
                                - role
                                - messageId
                                - content
                              additionalProperties: false
                            - type: object
                              properties:
                                role:
                                  type: string
                                  enum:
                                    - assistant
                                messageId:
                                  type: string
                                  description: Stable identifier for this message. Use as message_id when submitting feedback.
                                content:
                                  anyOf:
                                    - type: string
                                    - type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - text
                                                description: Content block type.
                                              text:
                                                type: string
                                                description: The text content of this block.
                                            required:
                                              - type
                                              - text
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - reasoning
                                                description: Content block type.
                                              text:
                                                type: string
                                                description: The reasoning text content of this block.
                                              durationMs:
                                                description: How long the model spent reasoning for this block, in milliseconds.
                                                type: number
                                            required:
                                              - type
                                              - text
                                            additionalProperties: false
                                toolCalls:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                      name:
                                        type: string
                                      arguments:
                                        type: object
                                        additionalProperties: {}
                                      approvalStatus:
                                        type: string
                                        enum:
                                          - pending
                                          - approved
                                          - approved_with_edit
                                          - rejected
                                      originalArguments:
                                        type: object
                                        additionalProperties: {}
                                      requiresApproval:
                                        type: boolean
                                      requiresUserInteraction:
                                        description: Whether this tool call requires the user to interact with it directly (beyond approval) before it can complete.
                                        type: boolean
                                    required:
                                      - id
                                      - name
                                      - arguments
                                    additionalProperties: false
                                feedbackRating:
                                  description: User feedback rating stored on this assistant message, if any.
                                  type: string
                                  enum:
                                    - positive
                                    - negative
                                feedbackComment:
                                  description: Optional free-text feedback comment on this assistant message.
                                  type: string
                                agentName:
                                  description: Name of the agent that produced this assistant message, when applicable.
                                  type: string
                              required:
                                - role
                                - messageId
                              additionalProperties: false
                            - type: object
                              properties:
                                role:
                                  type: string
                                  enum:
                                    - tool
                                messageId:
                                  type: string
                                toolCallId:
                                  type: string
                                content:
                                  type: string
                                isError:
                                  description: Whether the tool call resulted in an error.
                                  type: boolean
                              required:
                                - role
                                - messageId
                                - toolCallId
                                - content
                              additionalProperties: false
                      previousInvocationId:
                        nullable: true
                        description: Parent invocation segment when you should load older messages next.
                        type: string
                    required:
                      - invocationId
                      - askedAt
                      - messages
                      - previousInvocationId
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/llm-providers:
    post:
      summary: Create or connect an LLM provider
      tags:
        - LLM management
      description: This route allows you to create or connect an LLM provider.<br></br> To learn more about LLM management, see the [documentation](https://docs.port.io/category/llm-provider-management).
      security:
        - bearer: []
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - anthropic
                    config:
                      type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                      required:
                        - apiKeySecretName
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: anthropic
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - openai
                    config:
                      type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                      required:
                        - apiKeySecretName
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: openai
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - azure-openai
                    config:
                      type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                        resourceName:
                          type: string
                          minLength: 1
                        deploymentId:
                          description: Deprecated. Use modelDeployments instead.
                          deprecated: true
                          type: string
                          minLength: 1
                        modelDeployments:
                          description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"gpt-5": "my-custom-deployment"}).'
                          type: object
                          additionalProperties:
                            type: string
                            minLength: 1
                      required:
                        - apiKeySecretName
                        - resourceName
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: azure-openai
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - azure-anthropic
                    config:
                      type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                        resourceName:
                          type: string
                          minLength: 1
                        modelDeployments:
                          description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"claude-sonnet-4-20250514": "my-custom-deployment"}).'
                          type: object
                          additionalProperties:
                            type: string
                            minLength: 1
                      required:
                        - apiKeySecretName
                        - resourceName
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: azure-anthropic
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - bedrock
                    config:
                      type: object
                      properties:
                        accessKeyIdSecretName:
                          type: string
                          minLength: 1
                        secretAccessKeySecretName:
                          type: string
                          minLength: 1
                        roleArn:
                          type: string
                          minLength: 1
                        externalIdSecretName:
                          type: string
                        region:
                          type: string
                          minLength: 1
                          pattern: ^[a-z]{2}-[a-z]+-\d{1}$
                        guardrailIdentifier:
                          type: string
                        guardrailVersion:
                          type: string
                      required:
                        - region
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: bedrock
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - openai-compatible
                    config:
                      type: object
                      properties:
                        baseUrl:
                          type: string
                          format: uri
                          description: Base URL of the OpenAI-compatible API endpoint.
                        apiKeySecretName:
                          type: string
                          minLength: 1
                          description: Name of a Port secret that stores the API key for this provider.
                        customHeaders:
                          description: Optional HTTP headers to add to every request to this provider.
                          type: object
                          additionalProperties:
                            type: string
                        models:
                          minItems: 1
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                minLength: 3
                                description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                              displayName:
                                description: Optional display name for the model in Port.
                                type: string
                              contextWindow:
                                description: Optional maximum context length for the model in tokens.
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                              supportedFeatures:
                                description: Optional feature flags for this model in Port.
                                type: object
                                properties:
                                  temperature:
                                    type: boolean
                                  extendedThinking:
                                    type: boolean
                                  adaptiveThinking:
                                    type: boolean
                                  anthropicBeta:
                                    type: boolean
                                  caching:
                                    type: boolean
                                  guardrails:
                                    type: boolean
                                  reasoningEffort:
                                    type: boolean
                            required:
                              - name
                          description: Model catalog for this OpenAI-compatible provider. Each `name` is the model id you use in the `model` field on invocations.
                        supportsStructuredOutputs:
                          description: Whether the endpoint supports JSON schema structured output responses.
                          type: boolean
                      required:
                        - baseUrl
                        - apiKeySecretName
                        - models
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: openai-compatible
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - vertex-gemini
                    config:
                      type: object
                      properties:
                        clientEmailSecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `client_email` field.
                        privateKeySecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `private_key` field (PEM).
                        project:
                          type: string
                          minLength: 1
                          description: GCP project ID where Vertex AI is enabled.
                        location:
                          type: string
                          minLength: 1
                          description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                        models:
                          minItems: 1
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                minLength: 3
                                description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                              displayName:
                                description: Optional display name for the model in Port.
                                type: string
                              contextWindow:
                                description: Optional maximum context length for the model in tokens.
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                              supportedFeatures:
                                description: Optional feature flags for this model in Port.
                                type: object
                                properties:
                                  temperature:
                                    type: boolean
                                  extendedThinking:
                                    type: boolean
                                  adaptiveThinking:
                                    type: boolean
                                  anthropicBeta:
                                    type: boolean
                                  caching:
                                    type: boolean
                                  guardrails:
                                    type: boolean
                                  reasoningEffort:
                                    type: boolean
                            required:
                              - name
                          description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                        apiKeySecretName:
                          type: string
                          minLength: 1
                      required:
                        - models
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: vertex-gemini
                - type: object
                  properties:
                    provider:
                      type: string
                      enum:
                        - vertex-anthropic
                    config:
                      type: object
                      properties:
                        clientEmailSecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `client_email` field.
                        privateKeySecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `private_key` field (PEM).
                        project:
                          type: string
                          minLength: 1
                          description: GCP project ID where Vertex AI is enabled.
                        location:
                          type: string
                          minLength: 1
                          description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                        models:
                          minItems: 1
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                minLength: 3
                                description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                              displayName:
                                description: Optional display name for the model in Port.
                                type: string
                              contextWindow:
                                description: Optional maximum context length for the model in tokens.
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                              supportedFeatures:
                                description: Optional feature flags for this model in Port.
                                type: object
                                properties:
                                  temperature:
                                    type: boolean
                                  extendedThinking:
                                    type: boolean
                                  adaptiveThinking:
                                    type: boolean
                                  anthropicBeta:
                                    type: boolean
                                  caching:
                                    type: boolean
                                  guardrails:
                                    type: boolean
                                  reasoningEffort:
                                    type: boolean
                            required:
                              - name
                          description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                      required:
                        - clientEmailSecretName
                        - privateKeySecretName
                        - project
                        - location
                        - models
                      additionalProperties: false
                    overrides:
                      type: object
                      properties:
                        models:
                          description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                default: true
                                type: boolean
                    enabled:
                      default: true
                      type: boolean
                  required:
                    - provider
                    - config
                  title: vertex-anthropic
      parameters:
        - schema:
            type: boolean
          in: query
          name: validate_connection
          required: false
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      provider:
                        type: string
                        enum:
                          - openai
                          - azure-openai
                          - anthropic
                          - azure-anthropic
                          - bedrock
                          - port
                          - openai-compatible
                          - vertex-gemini
                          - vertex-anthropic
                      enabled:
                        type: boolean
                      config:
                        anyOf:
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - apiKeySecretName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - apiKeySecretName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                              resourceName:
                                type: string
                                minLength: 1
                              deploymentId:
                                description: Deprecated. Use modelDeployments instead.
                                deprecated: true
                                type: string
                                minLength: 1
                              modelDeployments:
                                description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"gpt-5": "my-custom-deployment"}).'
                                type: object
                                additionalProperties:
                                  type: string
                                  minLength: 1
                            required:
                              - apiKeySecretName
                              - resourceName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                              resourceName:
                                type: string
                                minLength: 1
                              modelDeployments:
                                description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"claude-sonnet-4-20250514": "my-custom-deployment"}).'
                                type: object
                                additionalProperties:
                                  type: string
                                  minLength: 1
                            required:
                              - apiKeySecretName
                              - resourceName
                            additionalProperties: false
                          - type: object
                            properties:
                              accessKeyIdSecretName:
                                type: string
                                minLength: 1
                              secretAccessKeySecretName:
                                type: string
                                minLength: 1
                              roleArn:
                                type: string
                                minLength: 1
                              externalIdSecretName:
                                type: string
                              region:
                                type: string
                                minLength: 1
                                pattern: ^[a-z]{2}-[a-z]+-\d{1}$
                              guardrailIdentifier:
                                type: string
                              guardrailVersion:
                                type: string
                            required:
                              - region
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              baseUrl:
                                type: string
                                format: uri
                                description: Base URL of the OpenAI-compatible API endpoint.
                              apiKeySecretName:
                                type: string
                                minLength: 1
                                description: Name of a Port secret that stores the API key for this provider.
                              customHeaders:
                                description: Optional HTTP headers to add to every request to this provider.
                                type: object
                                additionalProperties:
                                  type: string
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Model catalog for this OpenAI-compatible provider. Each `name` is the model id you use in the `model` field on invocations.
                              supportsStructuredOutputs:
                                description: Whether the endpoint supports JSON schema structured output responses.
                                type: boolean
                            required:
                              - baseUrl
                              - apiKeySecretName
                              - models
                            additionalProperties: false
                          - type: object
                            properties:
                              clientEmailSecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `client_email` field.
                              privateKeySecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `private_key` field (PEM).
                              project:
                                type: string
                                minLength: 1
                                description: GCP project ID where Vertex AI is enabled.
                              location:
                                type: string
                                minLength: 1
                                description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - models
                            additionalProperties: false
                          - type: object
                            properties:
                              clientEmailSecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `client_email` field.
                              privateKeySecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `private_key` field (PEM).
                              project:
                                type: string
                                minLength: 1
                                description: GCP project ID where Vertex AI is enabled.
                              location:
                                type: string
                                minLength: 1
                                description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                            required:
                              - clientEmailSecretName
                              - privateKeySecretName
                              - project
                              - location
                              - models
                            additionalProperties: false
                      overrides:
                        type: object
                        properties:
                          models:
                            description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                            type: object
                            additionalProperties:
                              type: object
                              properties:
                                enabled:
                                  default: true
                                  type: boolean
                              additionalProperties: false
                        additionalProperties: false
                      effectiveModels:
                        type: object
                        additionalProperties:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                          additionalProperties: false
                        description: Effective enablement state per model identifier after merging configuration and overrides. Keys are model id strings (not limited to a fixed catalog).
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: string
                      updatedAt:
                        type: string
                        format: date-time
                      updatedBy:
                        type: string
                    required:
                      - provider
                      - enabled
                      - effectiveModels
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
    get:
      summary: Get configured LLM providers
      tags:
        - LLM management
      description: This route allows you to get the configured LLM providers.<br></br> To learn more about LLM management, see the [documentation](https://docs.port.io/category/llm-provider-management).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: array
                    items:
                      type: object
                      properties:
                        provider:
                          type: string
                          enum:
                            - openai
                            - azure-openai
                            - anthropic
                            - azure-anthropic
                            - bedrock
                            - port
                            - openai-compatible
                            - vertex-gemini
                            - vertex-anthropic
                        enabled:
                          type: boolean
                        config:
                          anyOf:
                            - type: object
                              properties:
                                apiKeySecretName:
                                  type: string
                                  minLength: 1
                              required:
                                - apiKeySecretName
                              additionalProperties: false
                            - type: object
                              properties:
                                apiKeySecretName:
                                  type: string
                                  minLength: 1
                              required:
                                - apiKeySecretName
                              additionalProperties: false
                            - type: object
                              properties:
                                apiKeySecretName:
                                  type: string
                                  minLength: 1
                                resourceName:
                                  type: string
                                  minLength: 1
                                deploymentId:
                                  description: Deprecated. Use modelDeployments instead.
                                  deprecated: true
                                  type: string
                                  minLength: 1
                                modelDeployments:
                                  description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"gpt-5": "my-custom-deployment"}).'
                                  type: object
                                  additionalProperties:
                                    type: string
                                    minLength: 1
                              required:
                                - apiKeySecretName
                                - resourceName
                              additionalProperties: false
                            - type: object
                              properties:
                                apiKeySecretName:
                                  type: string
                                  minLength: 1
                                resourceName:
                                  type: string
                                  minLength: 1
                                modelDeployments:
                                  description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"claude-sonnet-4-20250514": "my-custom-deployment"}).'
                                  type: object
                                  additionalProperties:
                                    type: string
                                    minLength: 1
                              required:
                                - apiKeySecretName
                                - resourceName
                              additionalProperties: false
                            - type: object
                              properties:
                                accessKeyIdSecretName:
                                  type: string
                                  minLength: 1
                                secretAccessKeySecretName:
                                  type: string
                                  minLength: 1
                                roleArn:
                                  type: string
                                  minLength: 1
                                externalIdSecretName:
                                  type: string
                                region:
                                  type: string
                                  minLength: 1
                                  pattern: ^[a-z]{2}-[a-z]+-\d{1}$
                                guardrailIdentifier:
                                  type: string
                                guardrailVersion:
                                  type: string
                              required:
                                - region
                              additionalProperties: false
                            - type: object
                              properties: {}
                              additionalProperties: false
                            - type: object
                              properties:
                                baseUrl:
                                  type: string
                                  format: uri
                                  description: Base URL of the OpenAI-compatible API endpoint.
                                apiKeySecretName:
                                  type: string
                                  minLength: 1
                                  description: Name of a Port secret that stores the API key for this provider.
                                customHeaders:
                                  description: Optional HTTP headers to add to every request to this provider.
                                  type: object
                                  additionalProperties:
                                    type: string
                                models:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                        minLength: 3
                                        description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                      displayName:
                                        description: Optional display name for the model in Port.
                                        type: string
                                      contextWindow:
                                        description: Optional maximum context length for the model in tokens.
                                        type: number
                                        minimum: 0
                                        exclusiveMinimum: true
                                      supportedFeatures:
                                        description: Optional feature flags for this model in Port.
                                        type: object
                                        properties:
                                          temperature:
                                            type: boolean
                                          extendedThinking:
                                            type: boolean
                                          adaptiveThinking:
                                            type: boolean
                                          anthropicBeta:
                                            type: boolean
                                          caching:
                                            type: boolean
                                          guardrails:
                                            type: boolean
                                          reasoningEffort:
                                            type: boolean
                                        additionalProperties: false
                                    required:
                                      - name
                                    additionalProperties: false
                                  description: Model catalog for this OpenAI-compatible provider. Each `name` is the model id you use in the `model` field on invocations.
                                supportsStructuredOutputs:
                                  description: Whether the endpoint supports JSON schema structured output responses.
                                  type: boolean
                              required:
                                - baseUrl
                                - apiKeySecretName
                                - models
                              additionalProperties: false
                            - type: object
                              properties:
                                clientEmailSecretName:
                                  type: string
                                  minLength: 1
                                  description: Port secret name for the GCP service account `client_email` field.
                                privateKeySecretName:
                                  type: string
                                  minLength: 1
                                  description: Port secret name for the GCP service account `private_key` field (PEM).
                                project:
                                  type: string
                                  minLength: 1
                                  description: GCP project ID where Vertex AI is enabled.
                                location:
                                  type: string
                                  minLength: 1
                                  description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                                models:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                        minLength: 3
                                        description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                      displayName:
                                        description: Optional display name for the model in Port.
                                        type: string
                                      contextWindow:
                                        description: Optional maximum context length for the model in tokens.
                                        type: number
                                        minimum: 0
                                        exclusiveMinimum: true
                                      supportedFeatures:
                                        description: Optional feature flags for this model in Port.
                                        type: object
                                        properties:
                                          temperature:
                                            type: boolean
                                          extendedThinking:
                                            type: boolean
                                          adaptiveThinking:
                                            type: boolean
                                          anthropicBeta:
                                            type: boolean
                                          caching:
                                            type: boolean
                                          guardrails:
                                            type: boolean
                                          reasoningEffort:
                                            type: boolean
                                        additionalProperties: false
                                    required:
                                      - name
                                    additionalProperties: false
                                  description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                                apiKeySecretName:
                                  type: string
                                  minLength: 1
                              required:
                                - models
                              additionalProperties: false
                            - type: object
                              properties:
                                clientEmailSecretName:
                                  type: string
                                  minLength: 1
                                  description: Port secret name for the GCP service account `client_email` field.
                                privateKeySecretName:
                                  type: string
                                  minLength: 1
                                  description: Port secret name for the GCP service account `private_key` field (PEM).
                                project:
                                  type: string
                                  minLength: 1
                                  description: GCP project ID where Vertex AI is enabled.
                                location:
                                  type: string
                                  minLength: 1
                                  description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                                models:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                        minLength: 3
                                        description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                      displayName:
                                        description: Optional display name for the model in Port.
                                        type: string
                                      contextWindow:
                                        description: Optional maximum context length for the model in tokens.
                                        type: number
                                        minimum: 0
                                        exclusiveMinimum: true
                                      supportedFeatures:
                                        description: Optional feature flags for this model in Port.
                                        type: object
                                        properties:
                                          temperature:
                                            type: boolean
                                          extendedThinking:
                                            type: boolean
                                          adaptiveThinking:
                                            type: boolean
                                          anthropicBeta:
                                            type: boolean
                                          caching:
                                            type: boolean
                                          guardrails:
                                            type: boolean
                                          reasoningEffort:
                                            type: boolean
                                        additionalProperties: false
                                    required:
                                      - name
                                    additionalProperties: false
                                  description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                              required:
                                - clientEmailSecretName
                                - privateKeySecretName
                                - project
                                - location
                                - models
                              additionalProperties: false
                        overrides:
                          type: object
                          properties:
                            models:
                              description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                              type: object
                              additionalProperties:
                                type: object
                                properties:
                                  enabled:
                                    default: true
                                    type: boolean
                                additionalProperties: false
                          additionalProperties: false
                        effectiveModels:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                            additionalProperties: false
                          description: Effective enablement state per model identifier after merging configuration and overrides. Keys are model id strings (not limited to a fixed catalog).
                        createdAt:
                          type: string
                          format: date-time
                        createdBy:
                          type: string
                        updatedAt:
                          type: string
                          format: date-time
                        updatedBy:
                          type: string
                      required:
                        - provider
                        - enabled
                        - effectiveModels
                      additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/llm-providers/{provider}:
    get:
      summary: Get a specific provider configuration
      tags:
        - LLM management
      description: This route allows you to get the configured LLM providers.<br></br> To learn more about LLM management, see the [documentation](https://docs.port.io/category/llm-provider-management).
      parameters:
        - schema:
            type: string
            enum:
              - openai
              - azure-openai
              - anthropic
              - azure-anthropic
              - bedrock
              - port
              - openai-compatible
              - vertex-gemini
              - vertex-anthropic
          in: path
          name: provider
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      provider:
                        type: string
                        enum:
                          - openai
                          - azure-openai
                          - anthropic
                          - azure-anthropic
                          - bedrock
                          - port
                          - openai-compatible
                          - vertex-gemini
                          - vertex-anthropic
                      enabled:
                        type: boolean
                      config:
                        anyOf:
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - apiKeySecretName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - apiKeySecretName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                              resourceName:
                                type: string
                                minLength: 1
                              deploymentId:
                                description: Deprecated. Use modelDeployments instead.
                                deprecated: true
                                type: string
                                minLength: 1
                              modelDeployments:
                                description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"gpt-5": "my-custom-deployment"}).'
                                type: object
                                additionalProperties:
                                  type: string
                                  minLength: 1
                            required:
                              - apiKeySecretName
                              - resourceName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                              resourceName:
                                type: string
                                minLength: 1
                              modelDeployments:
                                description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"claude-sonnet-4-20250514": "my-custom-deployment"}).'
                                type: object
                                additionalProperties:
                                  type: string
                                  minLength: 1
                            required:
                              - apiKeySecretName
                              - resourceName
                            additionalProperties: false
                          - type: object
                            properties:
                              accessKeyIdSecretName:
                                type: string
                                minLength: 1
                              secretAccessKeySecretName:
                                type: string
                                minLength: 1
                              roleArn:
                                type: string
                                minLength: 1
                              externalIdSecretName:
                                type: string
                              region:
                                type: string
                                minLength: 1
                                pattern: ^[a-z]{2}-[a-z]+-\d{1}$
                              guardrailIdentifier:
                                type: string
                              guardrailVersion:
                                type: string
                            required:
                              - region
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              baseUrl:
                                type: string
                                format: uri
                                description: Base URL of the OpenAI-compatible API endpoint.
                              apiKeySecretName:
                                type: string
                                minLength: 1
                                description: Name of a Port secret that stores the API key for this provider.
                              customHeaders:
                                description: Optional HTTP headers to add to every request to this provider.
                                type: object
                                additionalProperties:
                                  type: string
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Model catalog for this OpenAI-compatible provider. Each `name` is the model id you use in the `model` field on invocations.
                              supportsStructuredOutputs:
                                description: Whether the endpoint supports JSON schema structured output responses.
                                type: boolean
                            required:
                              - baseUrl
                              - apiKeySecretName
                              - models
                            additionalProperties: false
                          - type: object
                            properties:
                              clientEmailSecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `client_email` field.
                              privateKeySecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `private_key` field (PEM).
                              project:
                                type: string
                                minLength: 1
                                description: GCP project ID where Vertex AI is enabled.
                              location:
                                type: string
                                minLength: 1
                                description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - models
                            additionalProperties: false
                          - type: object
                            properties:
                              clientEmailSecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `client_email` field.
                              privateKeySecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `private_key` field (PEM).
                              project:
                                type: string
                                minLength: 1
                                description: GCP project ID where Vertex AI is enabled.
                              location:
                                type: string
                                minLength: 1
                                description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                            required:
                              - clientEmailSecretName
                              - privateKeySecretName
                              - project
                              - location
                              - models
                            additionalProperties: false
                      overrides:
                        type: object
                        properties:
                          models:
                            description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                            type: object
                            additionalProperties:
                              type: object
                              properties:
                                enabled:
                                  default: true
                                  type: boolean
                              additionalProperties: false
                        additionalProperties: false
                      effectiveModels:
                        type: object
                        additionalProperties:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                          additionalProperties: false
                        description: Effective enablement state per model identifier after merging configuration and overrides. Keys are model id strings (not limited to a fixed catalog).
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: string
                      updatedAt:
                        type: string
                        format: date-time
                      updatedBy:
                        type: string
                    required:
                      - provider
                      - enabled
                      - effectiveModels
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    put:
      summary: Change a specific provider configuration
      tags:
        - LLM management
      description: This route allows you to change the configuration of a specific LLM provider.<br></br> To learn more about LLM management, see the [documentation](https://docs.port.io/category/llm-provider-management).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                config:
                  anyOf:
                    - type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                      required:
                        - apiKeySecretName
                      additionalProperties: false
                    - type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                      required:
                        - apiKeySecretName
                      additionalProperties: false
                    - type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                        resourceName:
                          type: string
                          minLength: 1
                        deploymentId:
                          description: Deprecated. Use modelDeployments instead.
                          deprecated: true
                          type: string
                          minLength: 1
                        modelDeployments:
                          description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"gpt-5": "my-custom-deployment"}).'
                          type: object
                          additionalProperties:
                            type: string
                            minLength: 1
                      required:
                        - apiKeySecretName
                        - resourceName
                      additionalProperties: false
                    - type: object
                      properties:
                        apiKeySecretName:
                          type: string
                          minLength: 1
                        resourceName:
                          type: string
                          minLength: 1
                        modelDeployments:
                          description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"claude-sonnet-4-20250514": "my-custom-deployment"}).'
                          type: object
                          additionalProperties:
                            type: string
                            minLength: 1
                      required:
                        - apiKeySecretName
                        - resourceName
                      additionalProperties: false
                    - type: object
                      properties:
                        accessKeyIdSecretName:
                          type: string
                          minLength: 1
                        secretAccessKeySecretName:
                          type: string
                          minLength: 1
                        roleArn:
                          type: string
                          minLength: 1
                        externalIdSecretName:
                          type: string
                        region:
                          type: string
                          minLength: 1
                          pattern: ^[a-z]{2}-[a-z]+-\d{1}$
                        guardrailIdentifier:
                          type: string
                        guardrailVersion:
                          type: string
                      required:
                        - region
                      additionalProperties: false
                    - type: object
                      properties: {}
                      additionalProperties: false
                    - type: object
                      properties:
                        baseUrl:
                          type: string
                          format: uri
                          description: Base URL of the OpenAI-compatible API endpoint.
                        apiKeySecretName:
                          type: string
                          minLength: 1
                          description: Name of a Port secret that stores the API key for this provider.
                        customHeaders:
                          description: Optional HTTP headers to add to every request to this provider.
                          type: object
                          additionalProperties:
                            type: string
                        models:
                          minItems: 1
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                minLength: 3
                                description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                              displayName:
                                description: Optional display name for the model in Port.
                                type: string
                              contextWindow:
                                description: Optional maximum context length for the model in tokens.
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                              supportedFeatures:
                                description: Optional feature flags for this model in Port.
                                type: object
                                properties:
                                  temperature:
                                    type: boolean
                                  extendedThinking:
                                    type: boolean
                                  adaptiveThinking:
                                    type: boolean
                                  anthropicBeta:
                                    type: boolean
                                  caching:
                                    type: boolean
                                  guardrails:
                                    type: boolean
                                  reasoningEffort:
                                    type: boolean
                            required:
                              - name
                          description: Model catalog for this OpenAI-compatible provider. Each `name` is the model id you use in the `model` field on invocations.
                        supportsStructuredOutputs:
                          description: Whether the endpoint supports JSON schema structured output responses.
                          type: boolean
                      required:
                        - baseUrl
                        - apiKeySecretName
                        - models
                      additionalProperties: false
                    - type: object
                      properties:
                        clientEmailSecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `client_email` field.
                        privateKeySecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `private_key` field (PEM).
                        project:
                          type: string
                          minLength: 1
                          description: GCP project ID where Vertex AI is enabled.
                        location:
                          type: string
                          minLength: 1
                          description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                        models:
                          minItems: 1
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                minLength: 3
                                description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                              displayName:
                                description: Optional display name for the model in Port.
                                type: string
                              contextWindow:
                                description: Optional maximum context length for the model in tokens.
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                              supportedFeatures:
                                description: Optional feature flags for this model in Port.
                                type: object
                                properties:
                                  temperature:
                                    type: boolean
                                  extendedThinking:
                                    type: boolean
                                  adaptiveThinking:
                                    type: boolean
                                  anthropicBeta:
                                    type: boolean
                                  caching:
                                    type: boolean
                                  guardrails:
                                    type: boolean
                                  reasoningEffort:
                                    type: boolean
                            required:
                              - name
                          description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                        apiKeySecretName:
                          type: string
                          minLength: 1
                      required:
                        - models
                      additionalProperties: false
                    - type: object
                      properties:
                        clientEmailSecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `client_email` field.
                        privateKeySecretName:
                          type: string
                          minLength: 1
                          description: Port secret name for the GCP service account `private_key` field (PEM).
                        project:
                          type: string
                          minLength: 1
                          description: GCP project ID where Vertex AI is enabled.
                        location:
                          type: string
                          minLength: 1
                          description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                        models:
                          minItems: 1
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                minLength: 3
                                description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                              displayName:
                                description: Optional display name for the model in Port.
                                type: string
                              contextWindow:
                                description: Optional maximum context length for the model in tokens.
                                type: number
                                minimum: 0
                                exclusiveMinimum: true
                              supportedFeatures:
                                description: Optional feature flags for this model in Port.
                                type: object
                                properties:
                                  temperature:
                                    type: boolean
                                  extendedThinking:
                                    type: boolean
                                  adaptiveThinking:
                                    type: boolean
                                  anthropicBeta:
                                    type: boolean
                                  caching:
                                    type: boolean
                                  guardrails:
                                    type: boolean
                                  reasoningEffort:
                                    type: boolean
                            required:
                              - name
                          description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                      required:
                        - clientEmailSecretName
                        - privateKeySecretName
                        - project
                        - location
                        - models
                      additionalProperties: false
                overrides:
                  type: object
                  properties:
                    models:
                      description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          enabled:
                            default: true
                            type: boolean
                enabled:
                  default: true
                  type: boolean
      parameters:
        - schema:
            type: boolean
          in: query
          name: validate_connection
          required: false
        - schema:
            type: string
            enum:
              - openai
              - azure-openai
              - anthropic
              - azure-anthropic
              - bedrock
              - port
              - openai-compatible
              - vertex-gemini
              - vertex-anthropic
          in: path
          name: provider
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      provider:
                        type: string
                        enum:
                          - openai
                          - azure-openai
                          - anthropic
                          - azure-anthropic
                          - bedrock
                          - port
                          - openai-compatible
                          - vertex-gemini
                          - vertex-anthropic
                      enabled:
                        type: boolean
                      config:
                        anyOf:
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - apiKeySecretName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - apiKeySecretName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                              resourceName:
                                type: string
                                minLength: 1
                              deploymentId:
                                description: Deprecated. Use modelDeployments instead.
                                deprecated: true
                                type: string
                                minLength: 1
                              modelDeployments:
                                description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"gpt-5": "my-custom-deployment"}).'
                                type: object
                                additionalProperties:
                                  type: string
                                  minLength: 1
                            required:
                              - apiKeySecretName
                              - resourceName
                            additionalProperties: false
                          - type: object
                            properties:
                              apiKeySecretName:
                                type: string
                                minLength: 1
                              resourceName:
                                type: string
                                minLength: 1
                              modelDeployments:
                                description: 'Optional mapping of model names to Azure deployment IDs. Only needed when your deployment names differ from model names (e.g., {"claude-sonnet-4-20250514": "my-custom-deployment"}).'
                                type: object
                                additionalProperties:
                                  type: string
                                  minLength: 1
                            required:
                              - apiKeySecretName
                              - resourceName
                            additionalProperties: false
                          - type: object
                            properties:
                              accessKeyIdSecretName:
                                type: string
                                minLength: 1
                              secretAccessKeySecretName:
                                type: string
                                minLength: 1
                              roleArn:
                                type: string
                                minLength: 1
                              externalIdSecretName:
                                type: string
                              region:
                                type: string
                                minLength: 1
                                pattern: ^[a-z]{2}-[a-z]+-\d{1}$
                              guardrailIdentifier:
                                type: string
                              guardrailVersion:
                                type: string
                            required:
                              - region
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              baseUrl:
                                type: string
                                format: uri
                                description: Base URL of the OpenAI-compatible API endpoint.
                              apiKeySecretName:
                                type: string
                                minLength: 1
                                description: Name of a Port secret that stores the API key for this provider.
                              customHeaders:
                                description: Optional HTTP headers to add to every request to this provider.
                                type: object
                                additionalProperties:
                                  type: string
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Model catalog for this OpenAI-compatible provider. Each `name` is the model id you use in the `model` field on invocations.
                              supportsStructuredOutputs:
                                description: Whether the endpoint supports JSON schema structured output responses.
                                type: boolean
                            required:
                              - baseUrl
                              - apiKeySecretName
                              - models
                            additionalProperties: false
                          - type: object
                            properties:
                              clientEmailSecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `client_email` field.
                              privateKeySecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `private_key` field (PEM).
                              project:
                                type: string
                                minLength: 1
                                description: GCP project ID where Vertex AI is enabled.
                              location:
                                type: string
                                minLength: 1
                                description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                              apiKeySecretName:
                                type: string
                                minLength: 1
                            required:
                              - models
                            additionalProperties: false
                          - type: object
                            properties:
                              clientEmailSecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `client_email` field.
                              privateKeySecretName:
                                type: string
                                minLength: 1
                                description: Port secret name for the GCP service account `private_key` field (PEM).
                              project:
                                type: string
                                minLength: 1
                                description: GCP project ID where Vertex AI is enabled.
                              location:
                                type: string
                                minLength: 1
                                description: Vertex AI region where the configured models are enabled (for example `us-central1` for Gemini or `us-east5` for Claude).
                              models:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      minLength: 3
                                      description: Model identifier as exposed by the provider (for example the OpenAI-compatible API or Vertex AI).
                                    displayName:
                                      description: Optional display name for the model in Port.
                                      type: string
                                    contextWindow:
                                      description: Optional maximum context length for the model in tokens.
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                    supportedFeatures:
                                      description: Optional feature flags for this model in Port.
                                      type: object
                                      properties:
                                        temperature:
                                          type: boolean
                                        extendedThinking:
                                          type: boolean
                                        adaptiveThinking:
                                          type: boolean
                                        anthropicBeta:
                                          type: boolean
                                        caching:
                                          type: boolean
                                        guardrails:
                                          type: boolean
                                        reasoningEffort:
                                          type: boolean
                                      additionalProperties: false
                                  required:
                                    - name
                                  additionalProperties: false
                                description: Models your project exposes on Vertex AI. Each `name` is the model id used in the `model` field on invocations.
                            required:
                              - clientEmailSecretName
                              - privateKeySecretName
                              - project
                              - location
                              - models
                            additionalProperties: false
                      overrides:
                        type: object
                        properties:
                          models:
                            description: Per-model enablement overrides. Keys are model identifiers — either a `name` from `config.models`, or any other model identifier your organization may configure.
                            type: object
                            additionalProperties:
                              type: object
                              properties:
                                enabled:
                                  default: true
                                  type: boolean
                              additionalProperties: false
                        additionalProperties: false
                      effectiveModels:
                        type: object
                        additionalProperties:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                          additionalProperties: false
                        description: Effective enablement state per model identifier after merging configuration and overrides. Keys are model id strings (not limited to a fixed catalog).
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: string
                      updatedAt:
                        type: string
                        format: date-time
                      updatedBy:
                        type: string
                    required:
                      - provider
                      - enabled
                      - effectiveModels
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    delete:
      summary: Delete a specific provider configuration
      tags:
        - LLM management
      description: This route allows you to delete a specific LLM provider configuration.<br></br> To learn more about LLM management, see the [documentation](https://docs.port.io/category/llm-provider-management).
      parameters:
        - schema:
            type: string
            enum:
              - openai
              - azure-openai
              - anthropic
              - azure-anthropic
              - bedrock
              - openai-compatible
              - vertex-gemini
              - vertex-anthropic
          in: path
          name: provider
          required: true
      responses:
        '204':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/llm-providers/defaults:
    get:
      summary: Get default LLM provider and model
      tags:
        - LLM management
      description: This route returns the default LLM provider and model.<br></br> To learn more about LLM management, see the [documentation](https://docs.port.io/category/llm-provider-management).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      provider:
                        type: string
                        enum:
                          - openai
                          - azure-openai
                          - anthropic
                          - azure-anthropic
                          - bedrock
                          - port
                          - openai-compatible
                          - vertex-gemini
                          - vertex-anthropic
                      model:
                        anyOf:
                          - type: string
                            enum:
                              - gpt-5
                              - claude-sonnet-4-20250514
                              - claude-sonnet-4-5-20250929
                              - claude-sonnet-4-6
                              - claude-sonnet-5
                              - claude-haiku-4-5-20251001
                              - claude-opus-4-5-20251101
                              - claude-opus-4-6
                          - type: string
                            minLength: 3
                            description: Custom model name (for example from an OpenAI-compatible, Vertex Gemini, or Vertex Anthropic provider you configured).
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: string
                      updatedAt:
                        type: string
                        format: date-time
                      updatedBy:
                        type: string
                    required:
                      - provider
                      - model
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    put:
      summary: Change default LLM provider and model
      tags:
        - LLM management
      description: This route allows you to change the default LLM provider and model.<br></br> To learn more about LLM management, see the [documentation](https://docs.port.io/category/llm-provider-management).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                provider:
                  type: string
                  enum:
                    - openai
                    - azure-openai
                    - anthropic
                    - azure-anthropic
                    - bedrock
                    - port
                    - openai-compatible
                    - vertex-gemini
                    - vertex-anthropic
                model:
                  anyOf:
                    - type: string
                      enum:
                        - gpt-5
                        - claude-sonnet-4-20250514
                        - claude-sonnet-4-5-20250929
                        - claude-sonnet-4-6
                        - claude-sonnet-5
                        - claude-haiku-4-5-20251001
                        - claude-opus-4-5-20251101
                        - claude-opus-4-6
                    - type: string
                      minLength: 3
                      description: Custom model name (for example from an OpenAI-compatible, Vertex Gemini, or Vertex Anthropic provider you configured).
              required:
                - provider
                - model
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  result:
                    type: object
                    properties:
                      provider:
                        type: string
                        enum:
                          - openai
                          - azure-openai
                          - anthropic
                          - azure-anthropic
                          - bedrock
                          - port
                          - openai-compatible
                          - vertex-gemini
                          - vertex-anthropic
                      model:
                        anyOf:
                          - type: string
                            enum:
                              - gpt-5
                              - claude-sonnet-4-20250514
                              - claude-sonnet-4-5-20250929
                              - claude-sonnet-4-6
                              - claude-sonnet-5
                              - claude-haiku-4-5-20251001
                              - claude-opus-4-5-20251101
                              - claude-opus-4-6
                          - type: string
                            minLength: 3
                            description: Custom model name (for example from an OpenAI-compatible, Vertex Gemini, or Vertex Anthropic provider you configured).
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: string
                      updatedAt:
                        type: string
                        format: date-time
                      updatedBy:
                        type: string
                    required:
                      - provider
                      - model
                    additionalProperties: false
                required:
                  - ok
                  - result
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/oauth2/servers/{server_id}/session-token:
    get:
      summary: Get OAuth2 session token
      tags:
        - MCP Connectors
      description: Generates a short-lived JWT session token for initiating the OAuth2 authentication flow with an MCP server.
      parameters:
        - schema:
            type: string
          in: path
          name: server_id
          required: true
          description: The unique identifier of the MCP server.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  sessionToken:
                    type: string
                    description: JWT session token for MCP OAuth2 authentication.
                required:
                  - ok
                  - sessionToken
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/oauth2/authenticate:
    get:
      summary: Initiate OAuth2 authentication
      tags:
        - MCP Connectors
      description: Starts the OAuth2 authentication flow with an MCP server. Redirects the user to the OAuth2 provider for authorization.
      parameters:
        - schema:
            type: string
          in: query
          name: session_token
          required: true
          description: JWT session token obtained from the session-token endpoint.
      responses:
        '302':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  location:
                    type: string
                    format: uri
                required:
                  - location
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/oauth2/callback:
    get:
      summary: OAuth2 callback handler
      tags:
        - MCP Connectors
      description: Handles the OAuth2 callback from the authorization provider. Exchanges the authorization code for tokens and stores them.
      parameters:
        - schema:
            type: string
          in: query
          name: code
          required: true
          description: Authorization code from the OAuth2 provider.
        - schema:
            type: string
          in: query
          name: state
          required: true
          description: State parameter containing the session token.
      responses:
        '202':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/user/servers/{server_id}:
    get:
      summary: Get MCP server by ID
      tags:
        - MCP Connectors
      description: Returns details of a specific MCP server including connection status and available tools.
      parameters:
        - schema:
            type: string
          in: path
          name: server_id
          required: true
          description: The unique identifier of the MCP server.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  server:
                    type: object
                    properties:
                      identifier:
                        type: string
                      title:
                        nullable: true
                        type: string
                      icon:
                        nullable: true
                        type: string
                      description:
                        nullable: true
                        type: string
                      allowedTools:
                        type: array
                        items:
                          type: string
                      usable:
                        type: boolean
                      error:
                        nullable: true
                        type: string
                      expiresAt:
                        nullable: true
                        type: string
                        format: date-time
                      tools:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                            description:
                              type: string
                            title:
                              type: string
                            inputSchema:
                              type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - object
                                properties:
                                  type: object
                                  additionalProperties: {}
                                required:
                                  type: array
                                  items:
                                    type: string
                              required:
                                - type
                              additionalProperties: {}
                            outputSchema:
                              type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - object
                                properties:
                                  type: object
                                  additionalProperties: {}
                                required:
                                  type: array
                                  items:
                                    type: string
                              required:
                                - type
                              additionalProperties: {}
                            annotations:
                              type: object
                              properties:
                                title:
                                  type: string
                                readOnlyHint:
                                  type: boolean
                                destructiveHint:
                                  type: boolean
                                idempotentHint:
                                  type: boolean
                                openWorldHint:
                                  type: boolean
                              additionalProperties: false
                          required:
                            - name
                            - inputSchema
                          additionalProperties: false
                      team:
                        nullable: true
                        type: array
                        items:
                          type: string
                      url:
                        nullable: true
                        type: string
                      headers:
                        nullable: true
                        type: object
                        additionalProperties:
                          type: string
                      oauthConfig:
                        nullable: true
                        type: object
                        properties:
                          clientId:
                            nullable: true
                            type: string
                          clientSecret:
                            nullable: true
                            type: string
                          scope:
                            nullable: true
                            type: string
                        additionalProperties: false
                    required:
                      - identifier
                      - allowedTools
                      - usable
                      - tools
                    additionalProperties: false
                required:
                  - ok
                  - server
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    delete:
      summary: Disconnect MCP server
      tags:
        - MCP Connectors
      description: Disconnects an MCP server for the user, deleting any stored OAuth2 tokens.
      parameters:
        - schema:
            type: string
          in: path
          name: server_id
          required: true
          description: The unique identifier of the MCP server.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/user/servers:
    get:
      summary: Get MCP servers for user
      tags:
        - MCP Connectors
      description: Returns all available MCP servers with verified connection status. Use includeTools=true to also fetch tools.
      parameters:
        - schema:
            type: boolean
          in: query
          name: includeTools
          required: false
          description: Whether to include tools for each server.
        - schema:
            type: string
          in: query
          name: agentIdentifier
          required: false
          description: When set, returns only MCP servers related to this agent and filters allowedTools by the agent tools regex.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  servers:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                        title:
                          nullable: true
                          type: string
                        icon:
                          nullable: true
                          type: string
                        description:
                          nullable: true
                          type: string
                        allowedTools:
                          type: array
                          items:
                            type: string
                        usable:
                          type: boolean
                        error:
                          nullable: true
                          type: string
                        expiresAt:
                          nullable: true
                          type: string
                          format: date-time
                        tools:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                              description:
                                type: string
                              title:
                                type: string
                              inputSchema:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - object
                                  properties:
                                    type: object
                                    additionalProperties: {}
                                  required:
                                    type: array
                                    items:
                                      type: string
                                required:
                                  - type
                                additionalProperties: {}
                              outputSchema:
                                type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - object
                                  properties:
                                    type: object
                                    additionalProperties: {}
                                  required:
                                    type: array
                                    items:
                                      type: string
                                required:
                                  - type
                                additionalProperties: {}
                              annotations:
                                type: object
                                properties:
                                  title:
                                    type: string
                                  readOnlyHint:
                                    type: boolean
                                  destructiveHint:
                                    type: boolean
                                  idempotentHint:
                                    type: boolean
                                  openWorldHint:
                                    type: boolean
                                additionalProperties: false
                            required:
                              - name
                              - inputSchema
                            additionalProperties: false
                        team:
                          nullable: true
                          type: array
                          items:
                            type: string
                        url:
                          nullable: true
                          type: string
                        headers:
                          nullable: true
                          type: object
                          additionalProperties:
                            type: string
                        oauthConfig:
                          nullable: true
                          type: object
                          properties:
                            clientId:
                              nullable: true
                              type: string
                            clientSecret:
                              nullable: true
                              type: string
                            scope:
                              nullable: true
                              type: string
                          additionalProperties: false
                      required:
                        - identifier
                        - allowedTools
                        - usable
                        - tools
                      additionalProperties: false
                required:
                  - ok
                  - servers
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/servers/{server_id}/tools/{tool_name}/call:
    post:
      summary: Call MCP server tool
      tags:
        - MCP Connectors
      description: Executes a tool on an MCP server with the provided arguments and returns the result.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                arguments:
                  description: Arguments to pass to the tool.
                  type: object
                  additionalProperties: {}
      parameters:
        - schema:
            type: string
          in: path
          name: server_id
          required: true
          description: The unique identifier of the MCP server.
        - schema:
            type: string
          in: path
          name: tool_name
          required: true
          description: The name of the tool to call.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  response:
                    type: object
                    properties:
                      content:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                            text:
                              type: string
                            mimeType:
                              type: string
                            data: {}
                          required:
                            - type
                          additionalProperties: {}
                      isError:
                        type: boolean
                    required:
                      - content
                    additionalProperties: {}
                required:
                  - ok
                  - response
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/prompts:
    get:
      summary: List available prompts
      tags:
        - MCP Connectors
      description: Returns all available prompts from the Port MCP service with their names, descriptions, and arguments.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  servers:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                        prompts:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                              description:
                                type: string
                              arguments:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - name
                                  additionalProperties: false
                            required:
                              - name
                            additionalProperties: false
                        error:
                          type: string
                      required:
                        - identifier
                        - prompts
                      additionalProperties: false
                required:
                  - ok
                  - servers
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/prompts/{prompt_name}:
    post:
      summary: Get prompt by name
      tags:
        - MCP Connectors
      description: Retrieves a specific prompt by name with the provided arguments, returning the rendered prompt messages.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                arguments:
                  description: Arguments to pass to the prompt.
                  type: object
                  additionalProperties:
                    type: string
      parameters:
        - schema:
            type: string
          in: path
          name: prompt_name
          required: true
          description: The name of the prompt to retrieve.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  prompt:
                    type: object
                    properties:
                      description:
                        type: string
                      messages:
                        type: array
                        items:
                          type: object
                          properties:
                            role:
                              type: string
                              enum:
                                - user
                                - assistant
                            content:
                              type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - text
                                text:
                                  type: string
                              required:
                                - type
                                - text
                              additionalProperties: false
                          required:
                            - role
                            - content
                          additionalProperties: false
                    required:
                      - messages
                    additionalProperties: false
                required:
                  - ok
                  - prompt
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/servers/{server_id}/tools:
    get:
      summary: Get all tools for MCP server
      tags:
        - MCP Connectors
      description: Returns all available tools for a specific MCP server, including their names, descriptions, and input schemas. These are all the tools the server exposes, not just the ones that are filtered in Port
      parameters:
        - schema:
            type: string
          in: path
          name: server_id
          required: true
          description: The unique identifier of the MCP server.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  identifier:
                    type: string
                  tools:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        description:
                          type: string
                        title:
                          type: string
                        inputSchema:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - object
                            properties:
                              type: object
                              additionalProperties: {}
                            required:
                              type: array
                              items:
                                type: string
                          required:
                            - type
                          additionalProperties: {}
                        outputSchema:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - object
                            properties:
                              type: object
                              additionalProperties: {}
                            required:
                              type: array
                              items:
                                type: string
                          required:
                            - type
                          additionalProperties: {}
                        annotations:
                          type: object
                          properties:
                            title:
                              type: string
                            readOnlyHint:
                              type: boolean
                            destructiveHint:
                              type: boolean
                            idempotentHint:
                              type: boolean
                            openWorldHint:
                              type: boolean
                          additionalProperties: false
                      required:
                        - name
                        - inputSchema
                      additionalProperties: false
                  allowedTools:
                    description: Tool names allowed by the agent when agentIdentifier query param is provided.
                    type: array
                    items:
                      type: string
                required:
                  - ok
                  - identifier
                  - tools
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/port/tools:
    get:
      summary: Get Port MCP tools
      tags:
        - MCP Connectors
      description: Returns all tools exposed by the built-in Port MCP server, including names, descriptions, and annotations such as readOnlyHint.
      parameters:
        - schema:
            type: string
          in: query
          name: agentIdentifier
          required: false
          description: When set, returns allowedTools filtered by the agent tools regex patterns.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  identifier:
                    type: string
                  tools:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        description:
                          type: string
                        title:
                          type: string
                        inputSchema:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - object
                            properties:
                              type: object
                              additionalProperties: {}
                            required:
                              type: array
                              items:
                                type: string
                          required:
                            - type
                          additionalProperties: {}
                        outputSchema:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - object
                            properties:
                              type: object
                              additionalProperties: {}
                            required:
                              type: array
                              items:
                                type: string
                          required:
                            - type
                          additionalProperties: {}
                        annotations:
                          type: object
                          properties:
                            title:
                              type: string
                            readOnlyHint:
                              type: boolean
                            destructiveHint:
                              type: boolean
                            idempotentHint:
                              type: boolean
                            openWorldHint:
                              type: boolean
                          additionalProperties: false
                      required:
                        - name
                        - inputSchema
                      additionalProperties: false
                  allowedTools:
                    description: Tool names allowed by the agent when agentIdentifier query param is provided.
                    type: array
                    items:
                      type: string
                required:
                  - ok
                  - identifier
                  - tools
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/mcp/templates:
    get:
      summary: Get MCP server templates
      tags:
        - MCP Connectors
      description: Returns all available MCP server templates that can be used to quickly set up connections to popular services.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  templates:
                    type: array
                    items:
                      type: object
                      properties:
                        identifier:
                          type: string
                        name:
                          type: string
                        url:
                          type: string
                        icon:
                          type: string
                        supportsOAuth:
                          type: boolean
                        supportsHeaders:
                          type: boolean
                      required:
                        - identifier
                        - name
                        - url
                        - icon
                        - supportsOAuth
                        - supportsHeaders
                      additionalProperties: false
                required:
                  - ok
                  - templates
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/memory:
    get:
      summary: List memory records
      tags:
        - Memory
      description: Returns memory records stored for the authenticated user's Port AI profile. These records are part of Port AI's [Memory](https://docs.port.io/port-ai/memory) feature, which stores user-specific preferences (output format, coding style, workflows, etc.) to personalize AI responses across conversations.<br/><br/>**Empty responses:** An empty array is expected when memory is enabled but the user has not yet accumulated enough AI interactions for memories to be generated, or when memory generation is still in progress - preferences are stored asynchronously and may not appear immediately after conversations.<br/><br/>**Related docs:**<br/>- [Port AI Memory overview](https://docs.port.io/port-ai/memory)<br/>- [Memory FAQ](https://docs.port.io/port-ai/memory#frequently-asked-questions).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  memories:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier for the memory record.
                        content:
                          type: string
                          description: The content of the memory.
                        createdAt:
                          description: When the memory was created.
                          type: string
                      required:
                        - id
                        - content
                      additionalProperties: false
                required:
                  - ok
                  - memories
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    delete:
      summary: Delete memory records
      tags:
        - Memory
      description: Deletes memory records for the authenticated user's Port AI profile. These records are part of Port AI's [Memory](https://docs.port.io/port-ai/memory) feature, which stores user-specific preferences to personalize AI responses. Use `deleteAll` to delete all records, or `recordIds` to delete specific ones.<br/><br/>**Note:** Deletion is asynchronous and may take time to complete. Deleted records might still appear in list requests briefly. If deletion fails for some records, the response will indicate which deletions failed.<br/><br/>**Related docs:**<br/>- [Port AI Memory overview](https://docs.port.io/port-ai/memory)<br/>- [Memory FAQ](https://docs.port.io/port-ai/memory#frequently-asked-questions).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                deleteAll:
                  type: boolean
                recordIds:
                  minItems: 1
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/memory/users:
    delete:
      summary: Delete user memories (Admin)
      tags:
        - Memory
      description: Deletes all Port AI [Memory](https://docs.port.io/port-ai/memory) records for the specified users. Admin only. This is part of Port AI's Memory feature, which stores user-specific preferences to personalize AI responses.<br/><br/>**Note:** Deletion is asynchronous and may take time to complete. If deletion fails for some users, the response will indicate which deletions failed.<br/><br/>**Related docs:**<br/>- [Port AI Memory overview](https://docs.port.io/port-ai/memory)<br/>- [Memory FAQ](https://docs.port.io/port-ai/memory#frequently-asked-questions).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userIds:
                  minItems: 1
                  type: array
                  items:
                    type: string
                  description: Array of user IDs whose memories should be deleted.
              required:
                - userIds
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/memory/settings:
    get:
      summary: Get memory settings
      tags:
        - Memory
      description: Returns memory settings for the organization's Port AI [Memory](https://docs.port.io/port-ai/memory) feature. Admin only. These settings control whether the AI learns and stores user preferences across conversations.<br/><br/>**Related docs:**<br/>- [Port AI Memory overview](https://docs.port.io/port-ai/memory)<br/>- [Memory FAQ](https://docs.port.io/port-ai/memory#frequently-asked-questions).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  settings:
                    type: object
                    properties:
                      memoryEnabled:
                        type: boolean
                        description: Whether memory is enabled for the organization.
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: string
                      updatedAt:
                        type: string
                        format: date-time
                      updatedBy:
                        type: string
                    required:
                      - memoryEnabled
                    additionalProperties: false
                required:
                  - ok
                  - settings
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
    put:
      summary: Update memory settings
      tags:
        - Memory
      description: Updates memory settings for the organization's Port AI [Memory](https://docs.port.io/port-ai/memory) feature. Admin only. These settings control whether the AI learns and stores user preferences to personalize responses. When memory is disabled, the AI stops learning new preferences but existing memories are retained.<br/><br/>**Related docs:**<br/>- [Port AI Memory overview](https://docs.port.io/port-ai/memory)<br/>- [Memory FAQ](https://docs.port.io/port-ai/memory#frequently-asked-questions).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                memoryEnabled:
                  type: boolean
                  description: Whether memory should be enabled for the organization.
              required:
                - memoryEnabled
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  settings:
                    type: object
                    properties:
                      memoryEnabled:
                        type: boolean
                        description: Whether memory is enabled for the organization.
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: string
                      updatedAt:
                        type: string
                        format: date-time
                      updatedBy:
                        type: string
                    required:
                      - memoryEnabled
                    additionalProperties: false
                required:
                  - ok
                  - settings
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/quota/ai-invocations:
    get:
      summary: Get monthly AI invocations quota usage
      tags:
        - AI
      description: This route returns the monthly quota usage for AI invocations.<br></br> To learn more about quota limitations, see the [documentation](https://docs.port.io/port-ai/api-interaction/#monitor-your-usage).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  monthlyQuotaUsage:
                    type: object
                    properties:
                      monthlyLimit:
                        type: number
                      remainingQuota:
                        type: number
                      month:
                        type: string
                      remainingTimeMs:
                        type: number
                    required:
                      - monthlyLimit
                      - remainingQuota
                      - month
                      - remainingTimeMs
                    additionalProperties: false
                required:
                  - ok
                  - monthlyQuotaUsage
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/rate-limit/ai-invocations:
    get:
      summary: Get rate limit usage for an AI model
      tags:
        - AI
      description: This route returns the current rate limit usage for a given AI model.<br></br> To learn more about rate limiting, see the [documentation](https://docs.port.io/ai-interfaces/port-ai/overview#limits-and-usage).
      parameters:
        - schema:
            type: string
            enum:
              - gpt-5
              - claude-sonnet-4-20250514
              - claude-sonnet-4-5-20250929
              - claude-sonnet-4-6
              - claude-sonnet-5
              - claude-haiku-4-5-20251001
              - claude-opus-4-5-20251101
              - claude-opus-4-6
          in: query
          name: model
          required: false
          description: The AI model to get rate limit usage for. When omitted, returns usage for all models.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  rateLimitUsages:
                    type: array
                    items:
                      type: object
                      properties:
                        maxRequests:
                          type: number
                          description: Maximum number of requests allowed in the current window.
                        remainingRequests:
                          type: number
                          description: Number of requests remaining in the current window.
                        maxTokens:
                          type: number
                          description: Maximum number of tokens allowed in the current window.
                        remainingTokens:
                          type: number
                          description: Number of tokens remaining in the current window.
                        remainingTimeMs:
                          type: number
                          description: Time remaining until the current rate limit window resets, in milliseconds.
                        model:
                          type: string
                          enum:
                            - gpt-5
                            - claude-sonnet-4-20250514
                            - claude-sonnet-4-5-20250929
                            - claude-sonnet-4-6
                            - claude-sonnet-5
                            - claude-haiku-4-5-20251001
                            - claude-opus-4-5-20251101
                            - claude-opus-4-6
                          description: The AI model this rate limit usage applies to.
                      required:
                        - maxRequests
                        - remainingRequests
                        - maxTokens
                        - remainingTokens
                        - remainingTimeMs
                        - model
                      additionalProperties: false
                required:
                  - ok
                  - rateLimitUsages
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
      security:
        - bearer: []
  /v1/ai/tool-approval-preferences:
    get:
      summary: Get tool approval preferences
      tags:
        - AI
      description: Returns the tool approval preferences for the authenticated user. These preferences control which tools require manual approval before execution, which run automatically, and which are disabled entirely.<br/><br/>When preferences are fetched, they are synced with the currently available tools from all connected MCP servers. Tools that no longer exist are pruned, and new tools receive their default approval mode.<br/><br/>To learn more about tool approval, see [tool selection](https://docs.port.io/port-ai/api-interaction#tool-selection).
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  preferences:
                    type: object
                    properties:
                      toolOverrides:
                        type: object
                        additionalProperties:
                          type: string
                          enum:
                            - approval
                            - automatic
                        description: A map of tool names to their approval mode. Each key is a tool name and each value is one of `approval` or `automatic`.
                      disabledTools:
                        type: array
                        items:
                          type: string
                        description: A list of tool names that are disabled and will not be available to the AI.
                      updatedAt:
                        description: The last time the preferences were updated.
                        type: string
                        format: date-time
                    required:
                      - toolOverrides
                      - disabledTools
                    additionalProperties: false
                required:
                  - ok
                  - preferences
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
    put:
      summary: Update tool approval preferences
      tags:
        - AI
      description: Updates the tool approval preferences for the authenticated user. You can set per-tool approval modes and specify which tools to disable.<br/><br/>These preferences act as the persisted default for all future invocations. They can be overridden on a per-invocation basis using the `toolApprovalOverrides` field in the [invoke endpoint](https://docs.port.io/api-reference/general-purpose-ai-interactions).<br/><br/>To learn more about tool approval, see [tool selection](https://docs.port.io/port-ai/api-interaction#tool-selection).
      security:
        - bearer: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                toolOverrides:
                  description: A map of tool names to their approval mode. Each key is a tool name and each value is one of `approval` or `automatic`.
                  type: object
                  additionalProperties:
                    type: string
                    enum:
                      - approval
                      - automatic
                disabledTools:
                  description: A list of tool names to disable. Disabled tools will not be available to the AI during invocations.
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  preferences:
                    type: object
                    properties:
                      toolOverrides:
                        type: object
                        additionalProperties:
                          type: string
                          enum:
                            - approval
                            - automatic
                        description: A map of tool names to their approval mode. Each key is a tool name and each value is one of `approval` or `automatic`.
                      disabledTools:
                        type: array
                        items:
                          type: string
                        description: A list of tool names that are disabled and will not be available to the AI.
                      updatedAt:
                        description: The last time the preferences were updated.
                        type: string
                        format: date-time
                    required:
                      - toolOverrides
                      - disabledTools
                    additionalProperties: false
                required:
                  - ok
                  - preferences
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                  details:
                    type: object
                    additionalProperties: {}
                required:
                  - ok
                  - error
                additionalProperties: false
  /v1/workflows/runs/{identifier}/cancel:
    post:
      summary: Cancel a workflow run
      tags:
        - Workflows
      description: Cancel an in-progress workflow run. By default, waits for the current node to finish before concluding the run as CANCELLED. Use <code>force=true</code> to immediately fail all running nodes.<br></br><br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            default: false
            type: boolean
          in: query
          name: force
          required: false
          description: When true, immediately fails all running nodes instead of waiting for them to complete.
        - schema:
            type: string
            pattern: ^wfr_[a-zA-Z0-9]{16}$
          in: path
          name: identifier
          required: true
          description: The unique identifier of the workflow run to cancel.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/nodes/runs/{node_run_identifier}/logs:
    get:
      summary: Get logs for a workflow node run
      tags:
        - Workflows
      parameters:
        - schema:
            type: string
            pattern: ^wfnr_[a-zA-Z0-9]{16}$
          in: path
          name: node_run_identifier
          required: true
          description: The unique identifier of the workflow node run.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  logs:
                    type: array
                    items:
                      type: object
                      properties:
                        level:
                          type: string
                          enum:
                            - DEBUG
                            - INFO
                            - WARN
                            - ERROR
                        message:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        updatedAt:
                          type: string
                          format: date-time
                          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      required:
                        - level
                        - message
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                required:
                  - logs
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
    post:
      summary: Write logs for a workflow node run
      tags:
        - Workflows
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                logs:
                  minItems: 1
                  type: array
                  items:
                    type: object
                    properties:
                      level:
                        type: string
                        enum:
                          - DEBUG
                          - INFO
                          - WARN
                          - ERROR
                      message:
                        type: string
                    required:
                      - level
                      - message
              required:
                - logs
        required: true
      parameters:
        - schema:
            type: string
            pattern: ^wfnr_[a-zA-Z0-9]{16}$
          in: path
          name: node_run_identifier
          required: true
          description: The unique identifier of the workflow node run.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/runs/{identifier}:
    get:
      summary: Get a workflow run by identifier
      tags:
        - Workflows
      description: This route allows you to retrieve detailed information about a specific workflow run, including its status and node runs.<br></br><br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: string
            pattern: ^wfr_[a-zA-Z0-9]{16}$
          in: path
          name: identifier
          required: true
          description: The unique identifier of the workflow run.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflowRun:
                    $ref: '#/components/schemas/workflowRun'
                required:
                  - ok
                  - workflowRun
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/runs/{identifier}/logs:
    get:
      summary: Get logs for all node runs in a workflow run
      tags:
        - Workflows
      parameters:
        - schema:
            type: string
            pattern: ^wfr_[a-zA-Z0-9]{16}$
          in: path
          name: identifier
          required: true
          description: The unique identifier of the workflow run.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  logs:
                    type: array
                    items:
                      type: object
                      properties:
                        nodeRunIdentifier:
                          type: string
                          pattern: ^wfnr_[a-zA-Z0-9]{16}$
                        logs:
                          type: array
                          items:
                            type: object
                            properties:
                              level:
                                type: string
                                enum:
                                  - DEBUG
                                  - INFO
                                  - WARN
                                  - ERROR
                              message:
                                type: string
                              createdAt:
                                type: string
                                format: date-time
                                pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              updatedAt:
                                type: string
                                format: date-time
                                pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - level
                              - message
                              - createdAt
                              - updatedAt
                            additionalProperties: false
                      required:
                        - nodeRunIdentifier
                        - logs
                      additionalProperties: false
                required:
                  - logs
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/runs:
    get:
      summary: Get workflow runs
      tags:
        - Workflows
      description: This route allows you to retrieve a list of workflow runs with optional filtering by status, result, workflow, and more.<br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: integer
            exclusiveMinimum: true
            maximum: 1000
          in: query
          name: limit
          required: false
          description: Maximum number of items to return.
        - schema:
            type: integer
            minimum: 0
            maximum: 9007199254740991
          in: query
          name: offset
          required: false
          description: Number of items to skip for pagination.
        - schema:
            type: array
            items:
              type: string
              pattern: ^wfr_[a-zA-Z0-9]{16}$
          in: query
          name: workflowRunIdentifiers
          required: false
          description: Filter by specific workflow run identifiers.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
          in: query
          name: workflowIdentifiers
          required: false
          description: Filter by workflow identifiers.
        - schema:
            type: array
            items:
              type: string
              pattern: ^wfv_[a-zA-Z0-9]{16}$
              example: wfv_aaaaaaaaaaaaaaaa
          in: query
          name: workflowVersionIdentifiers
          required: false
          description: Filter by workflow version identifiers.
          style: form
          explode: true
        - schema:
            type: string
          in: query
          name: createdBy
          required: false
          description: Filter by the user who created the workflow run.
        - schema:
            type: array
            items:
              type: string
          in: query
          name: excludeCreatedBy
          required: false
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
              enum:
                - COMPLETED
                - IN_PROGRESS
                - CANCELLING
          in: query
          name: statuses
          required: false
          description: Filter by workflow run statuses.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
              enum:
                - CANCELLED
                - SUCCESS
                - FAILED
          in: query
          name: results
          required: false
          description: Filter by workflow run results.
          style: form
          explode: true
        - schema:
            type: array
            items:
              type: string
              enum:
                - UI
                - API
                - EVENT
                - TEST
                - MCP
          in: query
          name: sources
          required: false
          description: Filter by workflow run sources.
          style: form
          explode: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflowRuns:
                    type: array
                    items:
                      $ref: '#/components/schemas/workflowRun'
                required:
                  - ok
                  - workflowRuns
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/nodes/runs/{node_run_identifier}:
    patch:
      summary: Update a workflow node run
      tags:
        - Workflows
      description: This route allows you to update the status, result, or output of a workflow node run.<br></br><br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  description: The new status of the node run.
                  type: string
                  enum:
                    - COMPLETED
                    - IN_PROGRESS
                result:
                  description: The result of the node run (e.g., SUCCESS, FAILED).
                  type: string
                  enum:
                    - SUCCESS
                    - FAILED
                output:
                  description: Output data produced by the node run.
                  default: {}
                  type: object
                  additionalProperties: {}
                externalRunId:
                  description: The external run ID to associate with this node run.
                  type: string
                links:
                  description: Links to attach to this node run, replacing any previously attached links.
                  maxItems: 3
                  type: array
                  items:
                    type: string
                    format: uri
                statusLabel:
                  description: A custom status label to display on this node run. Overrides any label set by the node configuration. Pass null to clear an existing label.
                  nullable: true
                  type: object
                  properties:
                    text:
                      type: string
                      minLength: 1
                      description: The label text. Supports JQ expressions for dynamic content.
                    variant:
                      description: Semantic variant controlling the label color/style.
                      type: string
                      enum:
                        - success
                        - alert
                  required:
                    - text
                workflowStatusLabel:
                  description: A custom status label to display on the parent workflow run. Overrides any label set by the node configuration. Pass null to clear an existing label.
                  nullable: true
                  type: object
                  properties:
                    text:
                      type: string
                      minLength: 1
                      description: The label text. Supports JQ expressions for dynamic content.
                    variant:
                      description: Semantic variant controlling the label color/style.
                      type: string
                      enum:
                        - success
                        - alert
                  required:
                    - text
      parameters:
        - schema:
            type: string
            pattern: ^wfnr_[a-zA-Z0-9]{16}$
          in: path
          name: node_run_identifier
          required: true
          description: The unique identifier of the workflow node run.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/nodes/runs/{node_run_identifier}/responses:
    post:
      summary: Submit a response to an input node run
      tags:
        - Workflows
      description: This route allows you to submit a response to an input node run.<br></br><br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                buttonIdentifier:
                  type: string
                inputs:
                  default: {}
                  description: Response inputs to submit to the input node responses
                  type: object
                  additionalProperties: {}
              required:
                - buttonIdentifier
        required: true
      parameters:
        - schema:
            type: string
            pattern: ^wfnr_[a-zA-Z0-9]{16}$
          in: path
          name: node_run_identifier
          required: true
          description: The unique identifier of the workflow node run.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
  /v1/workflows/{workflow_identifier}/runs:
    post:
      summary: Trigger a workflow run
      tags:
        - Workflows
      description: This route allows you to start a new execution of a workflow with optional input parameters.<br></br><br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                inputs:
                  default: {}
                  description: Input parameters to pass to the workflow execution.
                  type: object
                  additionalProperties: {}
      parameters:
        - schema:
            type: string
          in: query
          name: trigger_node
          required: false
          description: The identifier of the trigger node to execute. Required when the workflow has multiple trigger nodes.
        - schema:
            type: string
          in: path
          name: workflow_identifier
          required: true
          description: The unique identifier of the workflow.
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflowRun:
                    $ref: '#/components/schemas/workflowRun'
                required:
                  - ok
                  - workflowRun
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/nodes/runs/{node_run_identifier}/responders:
    get:
      summary: Get a list of evaluated users/roles/teams who are allowed to submit a response
      tags:
        - Workflows
      description: This route allows you to get a list of evaluated users/roles/teams who can provide inputs to an input node run.<br></br><br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: string
            pattern: ^wfnr_[a-zA-Z0-9]{16}$
          in: path
          name: node_run_identifier
          required: true
          description: The unique identifier of the workflow node run.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  evaluatedResponders:
                    type: object
                    properties:
                      users:
                        type: array
                        items:
                          type: string
                      roles:
                        type: array
                        items:
                          type: string
                      teams:
                        type: array
                        items:
                          type: string
                    required:
                      - users
                      - roles
                      - teams
                    additionalProperties: false
                required:
                  - ok
                  - evaluatedResponders
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows:
    post:
      summary: Create a workflow
      tags:
        - Workflows
      description: This route allows you to create a new workflow with the specified configuration and nodes.<br></br><br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/workflowBodyInput'
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflow:
                    $ref: '#/components/schemas/workflow'
                required:
                  - ok
                  - workflow
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
    get:
      summary: Get workflows
      tags:
        - Workflows
      description: Retrieve a list of all workflows in the organization.<br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: boolean
          in: query
          name: isDeleted
          required: false
          description: Include deleted workflows in the response.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflows:
                    type: array
                    items:
                      type: object
                      properties:
                        uid:
                          type: string
                          description: Globally unique workflow identifier.
                        identifier:
                          type: string
                          maxLength: 60
                          pattern: ^[\p{L}0-9@_:-]+$
                          description: Unique identifier for the workflow.
                        workflowVersionIdentifier:
                          type: string
                          pattern: ^wfv_[a-zA-Z0-9]{16}$
                        title:
                          description: Human-readable title for the workflow.
                          nullable: true
                          type: string
                          maxLength: 100
                        icon:
                          description: Icon identifier for the workflow.
                          nullable: true
                          type: string
                        description:
                          description: Detailed description of the workflow's purpose.
                          nullable: true
                          type: string
                          maxLength: 1100
                        category:
                          description: Category used to group this workflow.
                          nullable: true
                          type: string
                          maxLength: 40
                      required:
                        - uid
                        - identifier
                        - workflowVersionIdentifier
                      additionalProperties: false
                required:
                  - ok
                  - workflows
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/{workflow_identifier}:
    delete:
      summary: Delete a workflow
      tags:
        - Workflows
      description: This route allows you to permanently delete a workflow.<br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: workflow_identifier
          required: true
          description: The unique identifier of the workflow.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflow:
                    $ref: '#/components/schemas/workflow'
                required:
                  - ok
                  - workflow
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
    get:
      summary: Get a workflow
      tags:
        - Workflows
      description: Retrieve detailed information about a specific workflow, including its nodes and configuration. Optionally scope to a version via query param `workflowVersionIdentifier`.<br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: string
            pattern: ^wfv_[a-zA-Z0-9]{16}$
          in: query
          name: workflowVersionIdentifier
          required: false
          description: Return this workflow version by workflow version identifier.
        - schema:
            type: string
          in: path
          name: workflow_identifier
          required: true
          description: The unique identifier of the workflow.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflow:
                    $ref: '#/components/schemas/workflow'
                required:
                  - ok
                  - workflow
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
    put:
      summary: Change a workflow
      tags:
        - Workflows
      description: Create a new version of the workflow with the provided configuration.<br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/workflowBodyInput'
      parameters:
        - schema:
            type: string
          in: path
          name: workflow_identifier
          required: true
          description: The unique identifier of the workflow.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflow:
                    $ref: '#/components/schemas/workflow'
                required:
                  - ok
                  - workflow
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '412':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/{workflow_identifier}/nodes/{node_identifier}:
    get:
      summary: Get a workflow's node
      tags:
        - Workflows
      description: This route allows you to retrieve detailed information about a specific node within a workflow.<br></br> To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: string
          in: path
          name: workflow_identifier
          required: true
          description: The unique identifier of the workflow.
        - schema:
            type: string
          in: path
          name: node_identifier
          required: true
          description: The unique identifier of the node within the workflow.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  workflow:
                    $ref: '#/components/schemas/node'
                required:
                  - ok
                  - workflow
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/workflows/self-service-triggers:
    get:
      summary: List self-service workflow triggers
      tags:
        - Workflows
      description: Retrieve all self-service trigger nodes the caller can execute, across every workflow in the organization. Each item carries the trigger node plus minimal owning-workflow metadata. To learn more about workflows, see the [documentation](https://docs.port.io/workflows/overview).
      parameters:
        - schema:
            type: string
          in: query
          name: blueprintIdentifier
          required: false
          description: Filter triggers by blueprint identifier (used with entityIdentifier for ENTITY context matching).
        - schema:
            type: string
          in: query
          name: entityIdentifier
          required: false
          description: Filter triggers relevant to a specific entity (requires blueprintIdentifier).
        - schema:
            type: boolean
          in: query
          name: includeNonExecutable
          required: false
          description: When true, also return triggers the caller cannot execute.
        - schema:
            type: string
            enum:
              - UI
              - API
              - MCP
          in: query
          name: source
          required: false
          description: The invocation source to evaluate trigger permissions against. Defaults to the source derived from the caller token.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  triggers:
                    type: array
                    items:
                      type: object
                      properties:
                        uid:
                          description: Globally unique, node identifier.
                          type: string
                        identifier:
                          type: string
                          maxLength: 60
                          pattern: ^[\p{L}0-9@_:-]+$
                          description: Unique identifier for the node within the workflow.
                        title:
                          description: Human-readable title for the node.
                          nullable: true
                          type: string
                          maxLength: 100
                        icon:
                          description: Icon identifier for the node.
                          nullable: true
                          type: string
                        description:
                          description: Detailed description of the node's purpose.
                          nullable: true
                          type: string
                          maxLength: 1100
                        config:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - SELF_SERVE_TRIGGER
                            userInputs:
                              allOf:
                                - $ref: '#/components/schemas/userInputs'
                            actionCardButtonText:
                              type: string
                              minLength: 1
                              maxLength: 15
                              pattern: ^[^\s].*[^\s]$
                            executeActionButtonText:
                              type: string
                              minLength: 1
                              maxLength: 15
                              pattern: ^[^\s].*[^\s]$
                            published:
                              default: true
                              type: boolean
                            permissions:
                              type: object
                              properties:
                                users:
                                  type: array
                                  items:
                                    type: string
                                roles:
                                  type: array
                                  items:
                                    type: string
                                teams:
                                  type: array
                                  items:
                                    type: string
                                policy:
                                  allOf:
                                    - $ref: '#/components/schemas/workflowPermissionQuery'
                              additionalProperties: false
                            variant:
                              type: string
                              enum:
                                - DEFAULT
                                - ALERT
                            contexts:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      'on':
                                        type: string
                                        enum:
                                          - CREATE_ENTITY
                                      blueprintIdentifier:
                                        type: string
                                        minLength: 1
                                    required:
                                      - 'on'
                                      - blueprintIdentifier
                                    additionalProperties: false
                                    title: Create-entity trigger context
                                  - type: object
                                    properties:
                                      'on':
                                        type: string
                                        enum:
                                          - ENTITY
                                      userInput:
                                        type: string
                                        minLength: 1
                                    required:
                                      - 'on'
                                      - userInput
                                    additionalProperties: false
                                    title: Entity trigger context
                                title: Trigger context
                          required:
                            - type
                          additionalProperties: false
                          title: Self-serve trigger config
                        variables:
                          default: {}
                          type: object
                          additionalProperties:
                            type: string
                        links:
                          description: Link templates (supports `{{ .result.field }}` interpolation) evaluated at node run completion.
                          default: []
                          maxItems: 3
                          type: array
                          items:
                            type: string
                        testOutputs:
                          nullable: true
                          default: {}
                          type: object
                          additionalProperties: {}
                        verbose:
                          default: false
                          description: When true, the workflow service writes extended per-node run logs (e.g. webhook request/response details, upsert parameters).
                          type: boolean
                        workflowIdentifier:
                          type: string
                          maxLength: 60
                          pattern: ^[\p{L}0-9@_:-]+$
                          description: Identifier of the workflow that owns this trigger.
                        workflowTitle:
                          description: Title of the workflow that owns this trigger.
                          nullable: true
                          type: string
                          maxLength: 100
                        workflowIcon:
                          description: Icon of the workflow that owns this trigger.
                          nullable: true
                          type: string
                        workflowDescription:
                          description: Description of the workflow that owns this trigger.
                          nullable: true
                          type: string
                          maxLength: 1100
                        workflowCategory:
                          description: Category of the workflow that owns this trigger.
                          nullable: true
                          type: string
                          maxLength: 40
                        permitted:
                          description: Whether the caller can execute this trigger.
                          type: boolean
                      required:
                        - identifier
                        - config
                        - variables
                        - verbose
                        - workflowIdentifier
                      additionalProperties: false
                required:
                  - ok
                  - triggers
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError'
      security:
        - bearer: []
  /v1/plugins/upload-url:
    post:
      summary: Get a presigned URL for uploading a plugin
      tags:
        - Plugin
      description: This route allows you to get a presigned URL for uploading a new plugin file. Use the returned URL and fields to upload the file directly, then call the finalize endpoint to complete the process.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createAndGetPluginUploadUrlBodyInput'
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createAndGetPluginUploadUrlResponse'
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
  /v1/plugins/{identifier}/upload-url:
    put:
      summary: Get a presigned URL for plugin updates
      tags:
        - Plugin
      description: This route allows you to get a presigned URL for replacing the file of an existing plugin. Use the returned URL and fields to upload the new file directly, then call the finalize endpoint to complete the process.
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 100
            pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
          in: path
          name: identifier
          required: true
          description: The identifier of the plugin to update.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createAndGetPluginUploadUrlResponse'
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
  /v1/plugins/finalize-upload:
    post:
      summary: Finalize a plugin upload
      tags:
        - Plugin
      description: This route allows you to complete the plugin creation process after the file has been successfully uploaded to the presigned URL. It validates the uploaded file and creates the plugin record with the provided metadata.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/finalizePluginUploadBodyInput'
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/finalizePluginUploadResponse'
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '502':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
  /v1/plugins/install:
    post:
      summary: Install a plugin from the Port public registry
      tags:
        - Plugin
      description: Fetches a plugin artifact from the port-experimental/port-plugins GitHub repository and installs it for the organization.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pluginName:
                  type: string
                  minLength: 1
                  maxLength: 100
                  pattern: ^[a-z0-9-]+$
              required:
                - pluginName
        required: true
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/finalizePluginUploadResponse'
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '502':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
  /v1/plugins:
    get:
      summary: List all plugins for the organization
      tags:
        - Plugin
      description: This route allows you to list all plugins that belong to your organization.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/listPluginsResponse'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
  /v1/plugins/{identifier}:
    get:
      summary: Get a plugin by identifier
      tags:
        - Plugin
      description: This route allows you to retrieve a specific plugin by its identifier.
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 100
            pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
          in: path
          name: identifier
          required: true
          description: The identifier of the plugin to retrieve.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getPluginByIdentifierResponse'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
    patch:
      summary: Update metadata of a plugin
      tags:
        - Plugin
      description: This route allows you to update the metadata of an existing plugin, such as its title, description, and parameter definitions.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updatePluginMetadataBodyInput'
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 100
            pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
          in: path
          name: identifier
          required: true
          description: The identifier of the plugin to update.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updatePluginMetadataResponse'
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
    delete:
      summary: Delete a plugin by identifier
      tags:
        - Plugin
      description: This route allows you to delete a specific plugin by its identifier. This action is irreversible.
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 100
            pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
          in: path
          name: identifier
          required: true
          description: The identifier of the plugin to delete.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deletePluginResponse'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
        '502':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/serverError_asset-service'
  /v1/integration/{integrationInternalId}/syncMetrics:
    get:
      summary: Get an integration's metrics and sync status
      tags:
        - Integrations
      description: |-
        This route allows you to get a specific integration's metrics and sync status either the latest one or for a specific resync.<br/><br/>It returns the sync's execution status and detailed metrics per kind for each phase of the sync.<br/> For example, the number of fetched objects in the sync's fetch phase, number of objects that were mapped in the mapping phase, etc.<br/><br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview). <br></br><br></br>
        **Non-existent integration ID:** If the provided `integrationInternalId` does not match any existing integration, the endpoint will return a `200 OK` response with empty results.<br/><br/>
        **Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      parameters:
        - schema:
            type: string
          in: query
          name: resyncId
          required: false
          description: The ID of a specific resync. If this field is left empty, the latest resync data will be returned.
        - schema:
            type: string
          in: path
          name: integrationInternalId
          required: true
          description: The ID of the integration you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  count:
                    type: number
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        integrationType:
                          type: string
                        installationType:
                          type: string
                        executionMode:
                          type: string
                        integrationIdentifier:
                          type: string
                        integrationVersion:
                          type: string
                          minLength: 1
                        oceanVersion:
                          type: string
                        kindIdentifier:
                          type: string
                        kind:
                          type: string
                        kindIndex:
                          type: number
                        eventId:
                          type: string
                        syncState:
                          type: string
                        blueprint:
                          type: string
                        metrics:
                          type: object
                          properties:
                            phase:
                              type: object
                              properties:
                                resync:
                                  type: object
                                  properties:
                                    duration_seconds:
                                      type: number
                                    success:
                                      type: number
                                  additionalProperties: false
                                load:
                                  type: object
                                  properties:
                                    object_count_type:
                                      type: object
                                      properties:
                                        skipped:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        failed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        loaded:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        raw_extracted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        transformed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        filtered_out:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        deleted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                      additionalProperties: false
                                  required:
                                    - object_count_type
                                  additionalProperties: false
                                extract:
                                  type: object
                                  properties:
                                    object_count_type:
                                      type: object
                                      properties:
                                        skipped:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        failed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        loaded:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        raw_extracted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        transformed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        filtered_out:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        deleted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                      additionalProperties: false
                                  required:
                                    - object_count_type
                                  additionalProperties: false
                                transform:
                                  type: object
                                  properties:
                                    object_count_type:
                                      type: object
                                      properties:
                                        skipped:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        failed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        loaded:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        raw_extracted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        transformed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        filtered_out:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        deleted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                      additionalProperties: false
                                  required:
                                    - object_count_type
                                  additionalProperties: false
                                delete:
                                  type: object
                                  properties:
                                    object_count_type:
                                      type: object
                                      properties:
                                        skipped:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        failed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        loaded:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        raw_extracted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        transformed:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        filtered_out:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                        deleted:
                                          type: object
                                          properties:
                                            object_count:
                                              type: number
                                          required:
                                            - object_count
                                          additionalProperties: false
                                      additionalProperties: false
                                  required:
                                    - object_count_type
                                  additionalProperties: false
                              additionalProperties: false
                            cpu_max_percent:
                              type: number
                            cpu_median_percent:
                              type: number
                            cpu_avg_percent:
                              type: number
                            memory_max_bytes:
                              type: number
                            memory_median_bytes:
                              type: number
                            memory_avg_bytes:
                              type: number
                            event_loop_latency_max_ms:
                              type: number
                            event_loop_latency_median_ms:
                              type: number
                            event_loop_latency_avg_ms:
                              type: number
                            response_size_total_bytes:
                              type: number
                            response_size_avg_bytes:
                              type: number
                            response_size_median_bytes:
                              type: number
                          required:
                            - phase
                          additionalProperties: false
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - integrationType
                        - integrationIdentifier
                        - integrationVersion
                        - oceanVersion
                        - kindIdentifier
                        - kind
                        - eventId
                        - syncState
                        - metrics
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                required:
                  - ok
                  - count
                  - data
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
  /v1/integration/{integrationInternalId}/syncsMetadata:
    get:
      summary: Get an integration's sync metadata
      tags:
        - Integrations
      description: |-
        This route allows you to get an integration's sync metadata, which includes the sync's ID, state, creation and last update dates.

        Returns resyncs from the last 4 days, or the 50 most recent ones.

        **Non-existent integration ID:** If the provided `integrationInternalId` does not match any existing integration, the endpoint will return a `200 OK` response with empty results.

        **Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      parameters:
        - schema:
            type: string
          in: path
          name: integrationInternalId
          required: true
          description: The ID of the integration you want to operate on.
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  count:
                    type: number
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        eventId:
                          type: string
                        syncState:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - eventId
                        - syncState
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                required:
                  - ok
                  - count
                  - data
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
  /v1/integration/{integration_type}/port-app-config/schema:
    get:
      summary: Get an integration's port-app-config schema
      tags:
        - Integrations
      description: This route allows you to get the `port-app-config` JSON schema for a specific integration type.<br/><br/>The schema describes the structure and available configuration options for the integration's `port-app-config` file, which controls how data is synced to your software catalog.<br/><br/>To learn more about integrations and the port-app-config, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams/#roles--permissions).
      parameters:
        - schema:
            type: string
          in: query
          name: version
          required: false
          description: The specific version of the integration definition to retrieve. Omit to get the latest version.
        - schema:
            type: string
          in: path
          name: integration_type
          required: true
          description: The type identifier of the integration (e.g. "github", "jira").
      security:
        - bearer: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  definition:
                    type: object
                    properties: {}
                    additionalProperties: false
                    description: The JSON schema definition for the integration's port-app-config, describing its structure and available configuration options.
                required:
                  - ok
                  - definition
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
  /v1/integration/{integration_id}/resync:
    post:
      summary: Resync an integration
      tags:
        - Integrations
      description: This route allows you to trigger a manual resync of an integration in your Port organization.<br/><br/>A resync fetches fresh data from the integrated tool and updates your software catalog accordingly.<br/><br/>To learn more about integrations, check out the [documentation](https://docs.port.io/context-lake/ingestion/ingest-data-into-port/native-integrations/overview).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/platform-administration/users-and-teams/manage-users-teams#roles--permissions).
      parameters:
        - schema:
            type: string
          in: path
          name: integration_id
          required: true
          description: The unique identifier of the integration you want to resync.
      security:
        - bearer:
            - update:integrations
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                required:
                  - ok
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - ok
                  - error
                additionalProperties: false
  /v1/audit-logs/entities:
    post:
      summary: Search entity audit logs
      tags:
        - Audit
      description: Search **entity** audit logs from your Port account using a structured `filterQuery` (also viewable in [Port's UI](https://app.getport.io/settings/AuditLog)). For blueprint, action, run, and other resource types, use [Get audit logs](https://docs.port.io/api-reference/get-audit-logs/) instead.<br/><br/>**Non-admin users** must have the `read:audit-log` scope. Access may be limited to audit logs for entities and action runs they are allowed to see.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                filterQuery:
                  type: object
                  properties:
                    combinator:
                      type: string
                      enum:
                        - and
                        - or
                      description: How the rules in this group are combined. Use `and` to require all rules to match, or `or` to require at least one.
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          field:
                            type: string
                            description: 'The audit log field to filter on. Supported values: `status`, `operation`, `type`, `date`, `error`, `runId`, `installationId`, `webhookId`, `integrationId`, `action`, `scorecard`, `entity`, `blueprint`.'
                          operator:
                            type: string
                            description: The comparison operator to apply to `field` and `value`. Token fields (e.g. `status`, `type`) support `=`, `!=`, `in`, `notIn`; `date` supports `between`, `notBetween`, `=`; `error` supports text match.
                          value:
                            description: The value to compare `field` against using `operator`. For `date` with `between`/`notBetween`, provide a two-element ISO timestamp array.
                        required:
                          - field
                          - operator
                          - value
                      description: The list of rules to evaluate against each audit log, combined using `combinator`.
                    not:
                      description: When true, negates the result of this rule group.
                      type: boolean
                  required:
                    - combinator
                    - rules
                  description: Structured query used to filter entity audit logs. Combines one or more `rules` using `combinator`, and can be nested via `not`.
                limit:
                  default: 1000
                  description: Maximum number of logs to return. Defaults to 1000 (maximum 1000). Prefer reasonable values, especially alongside broad `date` filters, since very broad queries may be slow on large accounts.
                  type: integer
                  exclusiveMinimum: true
                  maximum: 1000
                offset:
                  default: 0
                  description: Number of logs to skip, for paginating beyond the first `limit` results.
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
              required:
                - filterQuery
        required: true
      parameters:
        - schema:
            default: false
            type: boolean
          in: query
          name: historicalData
          required: false
          description: When true, `entity` and `blueprint` filters in `filterQuery` use identifiers. When false (default), they use internal IDs.
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
          in: query
          name: include[]
          required: false
          description: Optional fields to return per log, e.g. `diff`, `context`, `trigger`, `status`, `message`.
          style: form
          explode: true
      security:
        - bearer:
            - read:audit-log
      responses:
        '200':
          description: Default Response
components:
  securitySchemes:
    bearer:
      type: apiKey
      name: Authorization
      in: header
  schemas:
    def-0:
      type: object
      properties:
        jqQuery:
          type: string
          description: A [jq query](https://stedolan.github.io/jq/manual/) that resolves to `true` or `false`, determining the visibility of the input.
      required:
        - jqQuery
      additionalProperties: false
      title: /schemas/userInputs/jqQuery
    def-1:
      type: object
      properties:
        combinator:
          enum:
            - and
            - or
          description: The combinator to use for the rules.
        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
                    title: Expired Rule
                    properties:
                      operator:
                        enum:
                          - isExpired
                          - isNotExpired
                      property:
                        type: string
                    required:
                      - operator
                      - property
                    additionalProperties: false
              - type: object
                title: String Rule
                oneOf:
                  - type: object
                    title: String Rule
                    properties:
                      property:
                        oneOf:
                          - type: string
                          - type: object
                            properties:
                              property:
                                type: string
                              context:
                                type: string
                                enum:
                                  - user
                                  - userTeams
                            required:
                              - property
                              - context
                      operator:
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                      value:
                        anyOf:
                          - type: 'null'
                            title: 'null'
                          - type: string
                            title: string
                          - type: number
                            title: number
                          - type: boolean
                            title: boolean
                          - type: string
                            format: date-time
                            title: date-time
                          - type: array
                            items:
                              type: string
                            title: array
                          - type: array
                            items:
                              type: number
                            title: array
                          - type: array
                            items:
                              type: boolean
                            title: array
                          - type: array
                            items:
                              type: string
                              format: date-time
                            title: array
                          - type: object
                            properties:
                              property:
                                type: string
                              context:
                                type: string
                                enum:
                                  - user
                                  - userTeams
                            required:
                              - property
                              - context
                    additionalProperties: false
                    required:
                      - property
                      - operator
                      - value
              - type: object
                title: Relation Rule
                properties:
                  operator:
                    enum:
                      - relatedTo
                  blueprint:
                    type: string
                  value:
                    anyOf:
                      - type: string
                        title: string
                      - type: array
                        items:
                          type: string
                        title: array
                  direction:
                    enum:
                      - upstream
                      - downstream
                  required:
                    type: boolean
                additionalProperties: false
                required:
                  - operator
                  - value
                  - blueprint
              - type: object
                title: Property schema rule
                properties:
                  propertySchema:
                    type: object
                    properties:
                      type:
                        type: string
                      format:
                        type: string
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                          format:
                            type: string
                        required:
                          - type
                    required:
                      - type
                    additionalProperties: false
                  operator:
                    enum:
                      - '='
                      - '!='
                      - contains
                  value:
                    anyOf:
                      - type: 'null'
                        title: 'null'
                      - type: string
                        title: string
                      - type: number
                        title: number
                      - type: boolean
                        title: boolean
                required:
                  - operator
                  - propertySchema
                additionalProperties: false
              - type: object
                title: matchAny Rule
                anyOf:
                  - type: object
                    properties:
                      property:
                        oneOf:
                          - type: object
                            properties:
                              path:
                                type: array
                                minItems: 1
                                items:
                                  anyOf:
                                    - type: string
                                    - type: object
                                      properties:
                                        relation:
                                          type: string
                                        maxHops:
                                          type: number
                                          minimum: 1
                                          maximum: 15
                              fromBlueprint:
                                type: string
                            required:
                              - path
                            additionalProperties: false
                          - oneOf:
                              - type: string
                              - type: object
                                properties:
                                  property:
                                    type: string
                                  context:
                                    type: string
                                    enum:
                                      - user
                                      - userTeams
                                required:
                                  - property
                                  - context
                      operator:
                        type: string
                        enum:
                          - matchAny
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - oneOf:
                              - type: string
                              - type: object
                                properties:
                                  property:
                                    type: string
                                  context:
                                    type: string
                                    enum:
                                      - user
                                      - userTeams
                                required:
                                  - property
                                  - context
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
              - $ref: '#/components/schemas/def-1'
      required:
        - combinator
        - rules
      additionalProperties: false
      example:
        combinator: and
        rules:
          - property: $blueprint
            operator: '='
            value: service
          - combinator: or
            rules:
              - property: environment
                operator: '='
                value: production
              - property: environment
                operator: '='
                value: staging
      title: /schemas/entitiesQuery
    def-2:
      type: object
      properties:
        combinator:
          enum:
            - and
            - or
          description: The combinator to use for the rules.
        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: Expired Rule
                oneOf:
                  - type: object
                    title: Expired Rule
                    properties:
                      operator:
                        enum:
                          - isExpired
                          - isNotExpired
                      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
                      - $ref: '#/components/schemas/def-0'
                      - type: object
                        properties:
                          property:
                            type: string
                          context:
                            type: string
                            enum:
                              - user
                              - userTeams
                        required:
                          - property
                          - context
                required:
                  - property
                  - operator
                  - value
                additionalProperties: false
              - type: object
                title: String Rule
                oneOf:
                  - type: object
                    title: String Rule
                    properties:
                      property:
                        oneOf:
                          - type: string
                          - type: object
                            properties:
                              property:
                                type: string
                              context:
                                type: string
                                enum:
                                  - user
                                  - userTeams
                            required:
                              - property
                              - context
                      operator:
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                      value:
                        anyOf:
                          - type: 'null'
                            title: 'null'
                          - type: string
                            title: string
                          - type: number
                            title: number
                          - type: boolean
                            title: boolean
                          - type: string
                            format: date-time
                            title: date-time
                          - type: array
                            items:
                              type: string
                            title: array
                          - type: array
                            items:
                              type: number
                            title: array
                          - type: array
                            items:
                              type: boolean
                            title: array
                          - type: array
                            items:
                              type: string
                              format: date-time
                            title: array
                          - $ref: '#/components/schemas/def-0'
                          - type: object
                            properties:
                              property:
                                type: string
                              context:
                                type: string
                                enum:
                                  - user
                                  - userTeams
                            required:
                              - property
                              - context
                    additionalProperties: false
                    required:
                      - property
                      - operator
                      - value
              - type: object
                title: Relation Rule
                properties:
                  operator:
                    enum:
                      - relatedTo
                  blueprint:
                    type: string
                  value:
                    anyOf:
                      - type: string
                        title: string
                      - type: array
                        items:
                          type: string
                        title: array
                      - $ref: '#/components/schemas/def-0'
                  direction:
                    enum:
                      - upstream
                      - downstream
                  required:
                    type: boolean
                additionalProperties: false
                required:
                  - operator
                  - value
                  - blueprint
              - type: object
                title: Property schema rule
                properties:
                  propertySchema:
                    type: object
                    properties:
                      type:
                        type: string
                      format:
                        type: string
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                          format:
                            type: string
                        required:
                          - type
                    required:
                      - type
                    additionalProperties: false
                  operator:
                    enum:
                      - '='
                      - '!='
                      - contains
                  value:
                    anyOf:
                      - type: 'null'
                        title: 'null'
                      - type: string
                        title: string
                      - type: number
                        title: number
                      - type: boolean
                        title: boolean
                      - $ref: '#/components/schemas/def-0'
                required:
                  - operator
                  - propertySchema
                additionalProperties: false
              - type: object
                title: matchAny Rule
                anyOf:
                  - type: object
                    properties:
                      property:
                        oneOf:
                          - type: object
                            properties:
                              path:
                                type: array
                                minItems: 1
                                items:
                                  anyOf:
                                    - type: string
                                    - type: object
                                      properties:
                                        relation:
                                          type: string
                                        maxHops:
                                          type: number
                                          minimum: 1
                                          maximum: 15
                              fromBlueprint:
                                type: string
                            required:
                              - path
                            additionalProperties: false
                          - oneOf:
                              - type: string
                              - type: object
                                properties:
                                  property:
                                    type: string
                                  context:
                                    type: string
                                    enum:
                                      - user
                                      - userTeams
                                required:
                                  - property
                                  - context
                      operator:
                        type: string
                        enum:
                          - matchAny
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - oneOf:
                              - type: string
                              - type: object
                                properties:
                                  property:
                                    type: string
                                  context:
                                    type: string
                                    enum:
                                      - user
                                      - userTeams
                                required:
                                  - property
                                  - context
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
              - $ref: '#/components/schemas/def-2'
      required:
        - combinator
        - rules
      additionalProperties: false
      title: /schemas/entitiesQueryWithJqQuery
    def-3:
      type: object
      properties:
        id:
          type: string
        updatedAt:
          type: string
        updatedBy:
          type: string
        createdAt:
          type: string
        createdBy:
          type: string
        type:
          type: string
          enum:
            - dashboard-widget
        layout:
          type: array
          items:
            type: object
            properties:
              height:
                type: number
              columns:
                type: array
                items:
                  type: object
                  properties:
                    size:
                      type: number
                    id:
                      type: string
                  additionalProperties: false
                  required:
                    - size
                    - id
            additionalProperties: false
            required:
              - columns
              - height
        widgets:
          type: array
          items:
            $ref: '#/components/schemas/def-8'
      additionalProperties: false
      required:
        - type
        - layout
        - widgets
      title: /schemas/dashboardWidget
    def-4:
      type: object
      properties:
        id:
          type: string
        updatedAt:
          type: string
        updatedBy:
          type: string
        createdAt:
          type: string
        createdBy:
          type: string
        type:
          type: string
          enum:
            - grouper
        title:
          type: string
        displayMode:
          type: string
          enum:
            - tabs
            - switch
        activeGroupUrlParam:
          type: string
        groupsOrder:
          type: array
          items:
            type: string
        groups:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
              icon:
                type: string
              widgets:
                type: array
                items:
                  $ref: '#/components/schemas/def-8'
            additionalProperties: false
            required:
              - title
              - widgets
      additionalProperties: false
      required:
        - type
        - groups
        - displayMode
      title: /schemas/grouperWidget
    def-5:
      type: object
      properties:
        combinator:
          enum:
            - and
            - or
        rules:
          type: array
          description: A search query to define the entity's identifier based on a property of the entity.<br/>Read more [here](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#map-by-property).
          items:
            anyOf:
              - type: object
                title: '`=` rule'
                properties:
                  property:
                    type: string
                  operator:
                    enum:
                      - '='
                  value:
                    anyOf:
                      - type: string
                        title: String
                      - type: number
                        title: Number
                      - type: 'null'
                additionalProperties: false
                required:
                  - property
                  - operator
                  - value
              - type: object
                title: '`in` rule'
                properties:
                  property:
                    type: string
                  operator:
                    enum:
                      - in
                      - containsAny
                  value:
                    type: array
                    items:
                      type: string
                additionalProperties: false
                required:
                  - property
                  - operator
                  - value
              - type: object
                title: '`contains` rule'
                properties:
                  property:
                    type: string
                  operator:
                    enum:
                      - contains
                  value:
                    anyOf:
                      - type: string
                      - type: array
                        items:
                          type: string
                      - type: 'null'
                additionalProperties: false
                required:
                  - property
                  - operator
                  - value
              - $ref: '#/components/schemas/def-5'
      required:
        - combinator
        - rules
      additionalProperties: false
      title: /schemas/searchIdentifierQuerySchema
    def-6:
      type: object
      properties:
        combinator:
          enum:
            - and
            - or
        rules:
          type: array
          description: A search query to define the entity's identifier based on a property of the entity.<br/>Read more [here](https://docs.port.io/context-lake/ingestion/configure-mapping/overview#map-by-property).
          items:
            anyOf:
              - type: object
                title: '`=` rule'
                properties:
                  property:
                    type: string
                  operator:
                    enum:
                      - '='
                  value:
                    anyOf:
                      - type: string
                        title: String
                      - type: number
                        title: Number
                      - type: 'null'
                additionalProperties: false
                required:
                  - property
                  - operator
                  - value
              - type: object
                title: '`in` rule'
                properties:
                  property:
                    type: string
                  operator:
                    enum:
                      - in
                      - containsAny
                  value:
                    type: array
                    items:
                      type: string
                additionalProperties: false
                required:
                  - property
                  - operator
                  - value
              - type: object
                title: '`contains` rule'
                properties:
                  property:
                    type: string
                  operator:
                    enum:
                      - contains
                  value:
                    anyOf:
                      - type: string
                      - type: array
                        items:
                          type: string
                      - type: 'null'
                additionalProperties: false
                required:
                  - property
                  - operator
                  - value
              - $ref: '#/components/schemas/def-6'
      required:
        - combinator
        - rules
      additionalProperties: false
      title: /schemas/searchRelationsQuerySchema
    def-7:
      type: object
      properties:
        combinator:
          enum:
            - and
            - or
        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:
                  - properties:
                      operator:
                        enum:
                          - isEmpty
                          - isNotEmpty
                      property:
                        type: string
                    required:
                      - operator
                      - property
                    additionalProperties: false
                  - properties:
                      operator:
                        enum:
                          - isEmpty
                          - isNotEmpty
                      targetProperty:
                        type: string
                        enum:
                          - $title
                          - $identifier
                      relation:
                        type: string
                    required:
                      - operator
                      - relation
                    additionalProperties: false
                  - properties:
                      operator:
                        enum:
                          - isEmpty
                          - isNotEmpty
                      scorecardRule:
                        type: string
                      scorecard:
                        type: string
                    required:
                      - operator
                      - scorecard
                    additionalProperties: false
              - type: object
                title: Expired Rule
                oneOf:
                  - type: object
                    title: Expired Rule
                    properties:
                      operator:
                        enum:
                          - isExpired
                          - isNotExpired
                      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: String Rule
                oneOf:
                  - type: object
                    properties:
                      property:
                        oneOf:
                          - type: string
                          - type: object
                            properties:
                              property:
                                type: string
                              context:
                                type: string
                                enum:
                                  - user
                                  - userTeams
                            required:
                              - property
                              - context
                      operator:
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                            title: string
                          - type: number
                            title: number
                          - type: boolean
                            title: boolean
                          - type: array
                            items:
                              type: string
                            title: array
                          - type: array
                            items:
                              type: number
                            title: array
                          - type: array
                            items:
                              type: boolean
                            title: array
                          - type: array
                            items:
                              type: string
                              format: date-time
                            title: array
                          - type: string
                            format: date-time
                            title: date-time
                          - type: object
                            properties:
                              property:
                                type: string
                              context:
                                type: string
                                enum:
                                  - user
                                  - userTeams
                            required:
                              - property
                              - context
                    additionalProperties: false
                    required:
                      - property
                      - operator
                      - value
                  - type: object
                    properties:
                      relation:
                        type: string
                      targetProperty:
                        type: string
                        enum:
                          - $title
                          - $identifier
                      operator:
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                            title: string
                          - type: number
                            title: number
                          - type: boolean
                            title: boolean
                          - type: array
                            items:
                              type: string
                            title: array
                          - type: array
                            items:
                              type: number
                            title: array
                          - type: array
                            items:
                              type: boolean
                            title: array
                          - type: array
                            items:
                              type: string
                              format: date-time
                            title: array
                          - type: string
                            format: date-time
                            title: date-time
                    additionalProperties: false
                    required:
                      - relation
                      - operator
                      - value
                  - type: object
                    properties:
                      scorecard:
                        type: string
                      scorecardRule:
                        type: string
                      operator:
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                            title: string
                          - type: number
                            title: number
                          - type: boolean
                            title: boolean
                          - type: array
                            items:
                              type: string
                            title: array
                          - type: array
                            items:
                              type: number
                            title: array
                          - type: array
                            items:
                              type: boolean
                            title: array
                          - type: array
                            items:
                              type: string
                              format: date-time
                            title: array
                          - type: string
                            format: date-time
                            title: date-time
                    additionalProperties: false
                    required:
                      - scorecard
                      - operator
                      - value
              - type: object
                title: Relation Rule
                properties:
                  operator:
                    enum:
                      - relatedTo
                  blueprint:
                    type: string
                  value:
                    anyOf:
                      - type: string
                        title: string
                      - type: array
                        items:
                          type: string
                        title: array
                  direction:
                    enum:
                      - upstream
                      - downstream
                  required:
                    type: boolean
                additionalProperties: false
                required:
                  - operator
                  - value
                  - blueprint
              - type: object
                title: Property schema rule
                properties:
                  propertySchema:
                    type: object
                    properties:
                      type:
                        type: string
                      format:
                        type: string
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                          format:
                            type: string
                        required:
                          - type
                    required:
                      - type
                    additionalProperties: false
                  operator:
                    enum:
                      - '='
                      - '!='
                      - contains
                  value:
                    anyOf:
                      - type: 'null'
                        title: 'null'
                      - type: string
                        title: string
                      - type: number
                        title: number
                      - type: boolean
                        title: boolean
                required:
                  - operator
                  - propertySchema
                additionalProperties: false
              - type: object
                title: matchAny Rule
                anyOf:
                  - type: object
                    properties:
                      property:
                        oneOf:
                          - type: object
                            properties:
                              path:
                                type: array
                                minItems: 1
                                items:
                                  anyOf:
                                    - type: string
                                    - type: object
                                      properties:
                                        relation:
                                          type: string
                                        maxHops:
                                          type: number
                                          minimum: 1
                                          maximum: 15
                              fromBlueprint:
                                type: string
                            required:
                              - path
                            additionalProperties: false
                          - oneOf:
                              - type: string
                              - type: object
                                properties:
                                  property:
                                    type: string
                                  context:
                                    type: string
                                    enum:
                                      - user
                                      - userTeams
                                required:
                                  - property
                                  - context
                      operator:
                        type: string
                        enum:
                          - matchAny
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - oneOf:
                              - type: string
                              - type: object
                                properties:
                                  property:
                                    type: string
                                  context:
                                    type: string
                                    enum:
                                      - user
                                      - userTeams
                                required:
                                  - property
                                  - context
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
              - $ref: '#/components/schemas/def-7'
      required:
        - combinator
        - rules
      additionalProperties: false
      title: /schemas/entitiesQueryV2
    def-8:
      type: object
      anyOf:
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - ai-agent
            title:
              type: string
            description:
              type: string
            agentIdentifier:
              type: string
            icon:
              type: string
            useMCP:
              type: boolean
          additionalProperties: false
          required:
            - type
            - agentIdentifier
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - entity-info
            title:
              type: string
            description:
              type: string
            icon:
              type: string
            entity:
              type: string
            hiddenQuery:
              type: array
              items:
                type: string
            order:
              type: array
              items:
                type: string
            showEmptyValues:
              type: boolean
            blueprint:
              type: string
          additionalProperties: false
          required:
            - type
            - entity
            - blueprint
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - entity-details
            title:
              type: string
            description:
              type: string
            icon:
              type: string
            entity:
              type: string
            hiddenQuery:
              type: array
              items:
                type: string
            order:
              type: array
              items:
                type: string
            showEmptyValues:
              type: boolean
            blueprint:
              type: string
          additionalProperties: false
          required:
            - type
            - entity
            - blueprint
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - action-runs-table-widget
            icon:
              type: string
            description:
              type: string
            title:
              type: string
            displayMode:
              type: string
              enum:
                - single
                - widget
            action:
              type: string
            tableConfig:
              type: object
              properties:
                filterSettings:
                  type: object
                  properties:
                    filterBy:
                      $ref: '#/components/schemas/def-1'
                  additionalProperties: false
                  required:
                    - filterBy
                groupSettings:
                  type: object
                  properties:
                    groupBy:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
                  required:
                    - groupBy
                sortSettings:
                  type: object
                  properties:
                    sortBy:
                      type: array
                      items:
                        type: object
                        properties:
                          property:
                            type: string
                          order:
                            enum:
                              - asc
                              - desc
                        additionalProperties: false
                        required:
                          - property
                          - order
                  additionalProperties: false
                propertiesSettings:
                  type: object
                  properties:
                    hidden:
                      type: array
                      items:
                        type: string
                    order:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
              additionalProperties: false
          additionalProperties: false
          required:
            - type
            - action
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - action-card-widget
            icon:
              type: string
            description:
              type: string
            title:
              type: string
            actions:
              type: array
              items:
                type: object
                properties:
                  action:
                    type: string
                required:
                  - action
              minItems: 1
          additionalProperties: false
          required:
            - type
            - actions
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - workflow-card-widget
            icon:
              type: string
            description:
              type: string
            title:
              type: string
            items:
              type: array
              items:
                type: object
                properties:
                  workflowIdentifier:
                    type: string
                  triggerIdentifier:
                    type: string
                required:
                  - workflowIdentifier
              minItems: 1
          additionalProperties: false
          required:
            - type
            - title
            - items
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - links-widget
            title:
              type: string
            description:
              type: string
            icon:
              type: string
            links:
              type: array
              items:
                type: object
                properties:
                  title:
                    type: string
                    minLength: 1
                  description:
                    type: string
                  url:
                    type: string
                  icon:
                    type: string
                additionalProperties: false
                required:
                  - title
                  - url
          additionalProperties: false
          required:
            - type
            - links
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - table-entities-explorer
            icon:
              type: string
            description:
              type: string
            emptyStateText:
              type: string
            title:
              type: string
            blueprint:
              type: string
            dataset:
              $ref: '#/components/schemas/def-1'
            excludedFields:
              type: array
              items:
                type: string
            displayMode:
              type: string
              enum:
                - tabs
                - single
                - widget
            entitiesQueryMode:
              type: string
              enum:
                - standard
                - optimized
            entitiesQueryMaxResults:
              type: number
              enum:
                - 100
                - 1000
                - 10000
                - 100000
            blueprintConfig:
              type: object
              propertyNames:
                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
              additionalProperties:
                type: object
                properties:
                  filterSettings:
                    type: object
                    properties:
                      filterBy:
                        $ref: '#/components/schemas/def-1'
                    additionalProperties: false
                    required:
                      - filterBy
                  groupSettings:
                    type: object
                    properties:
                      groupBy:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                    required:
                      - groupBy
                  sortSettings:
                    type: object
                    properties:
                      sortBy:
                        type: array
                        items:
                          type: object
                          properties:
                            property:
                              type: string
                            order:
                              enum:
                                - asc
                                - desc
                          additionalProperties: false
                          required:
                            - property
                            - order
                    additionalProperties: false
                  propertiesSettings:
                    type: object
                    properties:
                      hidden:
                        type: array
                        items:
                          type: string
                      shown:
                        type: array
                        items:
                          type: string
                      order:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  tabIndex:
                    type: number
                  hidden:
                    type: boolean
                  title:
                    type: string
                    maxLength: 20
                  description:
                    type: string
                additionalProperties: false
          additionalProperties: false
          required:
            - type
            - dataset
          allOf:
            - if:
                properties:
                  entitiesQueryMaxResults:
                    type: number
                required:
                  - entitiesQueryMaxResults
              then:
                properties:
                  entitiesQueryMode:
                    enum:
                      - optimized
                required:
                  - entitiesQueryMode
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - table-entities-explorer-by-direction
            title:
              type: string
            blueprintConfig:
              type: object
              propertyNames:
                pattern: ^[A-Za-z0-9@_.:\\/=-]*\$(specificpath|upstream|downstream|custom)(\$[A-Za-z0-9@_.:\\/=-]+)*$
              additionalProperties:
                type: object
                properties:
                  filterSettings:
                    type: object
                    properties:
                      filterBy:
                        $ref: '#/components/schemas/def-1'
                    additionalProperties: false
                    required:
                      - filterBy
                  groupSettings:
                    type: object
                    properties:
                      groupBy:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                    required:
                      - groupBy
                  sortSettings:
                    type: object
                    properties:
                      sortBy:
                        type: array
                        items:
                          type: object
                          properties:
                            property:
                              type: string
                            order:
                              enum:
                                - asc
                                - desc
                          additionalProperties: false
                          required:
                            - property
                            - order
                    additionalProperties: false
                  propertiesSettings:
                    type: object
                    properties:
                      hidden:
                        type: array
                        items:
                          type: string
                      shown:
                        type: array
                        items:
                          type: string
                      order:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  tabIndex:
                    type: number
                  hidden:
                    type: boolean
                  title:
                    type: string
                    maxLength: 20
                  description:
                    type: string
                  dataset:
                    $ref: '#/components/schemas/def-1'
                  targetBlueprint:
                    type: string
                  relatedProperty:
                    type: string
                additionalProperties: false
          additionalProperties: false
          required:
            - type
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - table-audit-log
            title:
              type: string
            description:
              type: string
            query:
              type: object
              properties:
                identifier:
                  type: string
                  description: An identifier of the log event you want to fetch.
                entity:
                  type: string
                  description: Fetch all audit logs related to the specified entity.
                include_deleted_entities:
                  type: boolean
                  description: Include deleted entities when searching for audit logs. This requires the `entity`, `blueprint`, `status`, `from` and `to` parameters. And the diff between `from` & `to` is limited to 1 day.
                blueprint:
                  type: string
                  description: Fetch all audit logs related to the specified blueprint.
                run_id:
                  type: string
                  description: Fetch all audit logs related to the specified action run.
                webhookId:
                  type: string
                  description: Fetch all audit logs related to the specified webhook.
                webhookEventId:
                  type: string
                  description: Fetch all audit logs related to the specified webhook event.
                origin:
                  type: array
                  items:
                    type: string
                  description: Fetch all audit logs coming from the specified origin/s. This refers to the integration/s that triggered the log. For operations performed via Port's UI, the origin will be `UI`.
                InstallationId:
                  type: string
                  description: Fetch all audit logs related to the specified integration.
                resources:
                  anyOf:
                    - type: array
                      items:
                        type: string
                        enum:
                          - entity
                          - blueprint_permission
                          - blueprint
                          - run
                          - webhook
                          - action
                          - action_permission
                          - scorecard
                          - integration
                          - secret
                    - type: string
                      enum:
                        - entity
                        - blueprint_permission
                        - blueprint
                        - run
                        - webhook
                        - action
                        - action_permission
                        - scorecard
                        - integration
                        - secret
                  description: 'Fetch all audit logs related to the specified resource type/s.<br/>**Possible values**: [`blueprint`, `entity`, `run`, `webhook`, `scorecard`, `action`, `integration`]<br/>The `integration` value is **experimental** and may change in future API versions.'
                includes:
                  type: array
                  items:
                    enum:
                      - action
                      - context
                      - diff
                      - identifier
                      - resourceType
                      - status
                      - trigger
                      - additionalData
                      - message
                  description: The fields you want to include in the response. If used, only the specified fields will be included in the response.
                from:
                  type: string
                  format: date-time
                  description: The starting timestamp of the audit logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
                to:
                  type: string
                  format: date-time
                  description: The ending timestamp of the audit logs you want to fetch, in the ISO format `2022-04-23T18:25:43.511Z`.
                action:
                  type: string
                  description: Fetch all audit logs with the specified action type - `CREATE`, `UPDATE`, or `DELETE`.
                status:
                  type: string
                  enum:
                    - SUCCESS
                    - FAILURE
                  description: Fetch all audit logs with the specified status.
                limit:
                  type: number
                  description: The maximum number of logs to return. Optional; defaults to `10000`. The previous default was `100000`, which could cause `504 Gateway Timeout` on large accounts. Use a lower value or narrow `from` and `to` if you still hit timeouts.
                actionType:
                  type: string
                  enum:
                    - automation
                    - self-service
              additionalProperties: false
            tableConfig:
              type: object
              properties:
                filterSettings:
                  type: object
                  properties:
                    filterBy:
                      $ref: '#/components/schemas/def-1'
                  additionalProperties: false
                  required:
                    - filterBy
                groupSettings:
                  type: object
                  properties:
                    groupBy:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
                  required:
                    - groupBy
                sortSettings:
                  type: object
                  properties:
                    sortBy:
                      type: array
                      items:
                        type: object
                        properties:
                          property:
                            type: string
                          order:
                            enum:
                              - asc
                              - desc
                        additionalProperties: false
                        required:
                          - property
                          - order
                  additionalProperties: false
                propertiesSettings:
                  type: object
                  properties:
                    hidden:
                      type: array
                      items:
                        type: string
                    order:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
          additionalProperties: false
          required:
            - type
            - query
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - users-table
            title:
              type: string
            query:
              type: object
              properties:
                team:
                  type: string
            tableConfig:
              type: object
              properties:
                filterSettings:
                  type: object
                  properties:
                    filterBy:
                      $ref: '#/components/schemas/def-1'
                  additionalProperties: false
                  required:
                    - filterBy
                groupSettings:
                  type: object
                  properties:
                    groupBy:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
                  required:
                    - groupBy
                sortSettings:
                  type: object
                  properties:
                    sortBy:
                      type: array
                      items:
                        type: object
                        properties:
                          property:
                            type: string
                          order:
                            enum:
                              - asc
                              - desc
                        additionalProperties: false
                        required:
                          - property
                          - order
                  additionalProperties: false
                propertiesSettings:
                  type: object
                  properties:
                    hidden:
                      type: array
                      items:
                        type: string
                    order:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
          additionalProperties: false
          required:
            - type
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - teams-table
            title:
              type: string
            query:
              type: object
              properties:
                user:
                  type: string
            tableConfig:
              type: object
              properties:
                filterSettings:
                  type: object
                  properties:
                    filterBy:
                      $ref: '#/components/schemas/def-1'
                  additionalProperties: false
                  required:
                    - filterBy
                groupSettings:
                  type: object
                  properties:
                    groupBy:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
                  required:
                    - groupBy
                sortSettings:
                  type: object
                  properties:
                    sortBy:
                      type: array
                      items:
                        type: object
                        properties:
                          property:
                            type: string
                          order:
                            enum:
                              - asc
                              - desc
                        additionalProperties: false
                        required:
                          - property
                          - order
                  additionalProperties: false
                propertiesSettings:
                  type: object
                  properties:
                    hidden:
                      type: array
                      items:
                        type: string
                    order:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
          additionalProperties: false
          required:
            - type
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - runs-table
            title:
              type: string
            query:
              type: object
              properties:
                entity:
                  type: string
                  description: The identifier of the entity associated with the action run.
                blueprint:
                  type: string
                  description: The identifier of the blueprint associated with the action run.
                active:
                  type: boolean
                  description: If `true`, only running action runs will be fetched.
                user_email:
                  type: string
                  description: The email of the user who initiated the action run.
                user_id:
                  type: string
                  description: The id of the user who initiated the action run.
                limit:
                  type: number
                  minimum: 1
                  maximum: 1000
                  description: The maximum number of action runs to fetch.
                exclude:
                  type: array
                  items:
                    type: string
                  description: The fields to exclude from the response
                external_run_id:
                  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`.
                version:
                  type: string
                  enum:
                    - v1
                    - v2
                  description: Specifies the API version to use. Please use `v2` for the latest version of the API.
                action:
                  type: string
                source:
                  type: array
                  items:
                    type: string
                    enum:
                      - UI
                      - API
                      - AUTOMATION
                next:
                  type: string
                  description: An opaque cursor for pagination. Pass the `next` value from the previous response to fetch the next page of results.
              if:
                properties:
                  version:
                    enum:
                      - v1
                      - null
              then:
                properties:
                  action:
                    type: 'null'
              additionalProperties: false
            tableConfig:
              type: object
              properties:
                filterSettings:
                  type: object
                  properties:
                    filterBy:
                      $ref: '#/components/schemas/def-1'
                  additionalProperties: false
                  required:
                    - filterBy
                groupSettings:
                  type: object
                  properties:
                    groupBy:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
                  required:
                    - groupBy
                sortSettings:
                  type: object
                  properties:
                    sortBy:
                      type: array
                      items:
                        type: object
                        properties:
                          property:
                            type: string
                          order:
                            enum:
                              - asc
                              - desc
                        additionalProperties: false
                        required:
                          - property
                          - order
                  additionalProperties: false
                propertiesSettings:
                  type: object
                  properties:
                    hidden:
                      type: array
                      items:
                        type: string
                    order:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
          additionalProperties: false
          required:
            - type
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - workflow-runs-history-table
            query:
              type: object
            tableConfig:
              type: object
              properties:
                filterSettings:
                  type: object
                  properties:
                    filterBy:
                      $ref: '#/components/schemas/def-1'
                  additionalProperties: false
                  required:
                    - filterBy
                groupSettings:
                  type: object
                  properties:
                    groupBy:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
                  required:
                    - groupBy
                sortSettings:
                  type: object
                  properties:
                    sortBy:
                      type: array
                      items:
                        type: object
                        properties:
                          property:
                            type: string
                          order:
                            enum:
                              - asc
                              - desc
                        additionalProperties: false
                        required:
                          - property
                          - order
                  additionalProperties: false
                propertiesSettings:
                  type: object
                  properties:
                    hidden:
                      type: array
                      items:
                        type: string
                    order:
                      type: array
                      items:
                        type: string
                  additionalProperties: false
          additionalProperties: false
          required:
            - type
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - run-info
            title:
              type: string
            runId:
              type: string
          additionalProperties: false
          required:
            - type
            - runId
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - user-info
            title:
              type: string
            user_email:
              type: string
          additionalProperties: false
          required:
            - type
            - user_email
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - graph-entities-explorer
            title:
              type: string
            dataset:
              $ref: '#/components/schemas/def-1'
            hiddenBlueprints:
              type: array
              items:
                type: string
          additionalProperties: false
          required:
            - type
            - dataset
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            icon:
              type: string
            type:
              enum:
                - bar-chart
            title:
              type: string
            blueprint:
              type: string
            property:
              type: string
            description:
              type: string
            dataset:
              $ref: '#/components/schemas/def-1'
            emptyStateText:
              type: string
            segmentTableViewConfig:
              type: object
              propertyNames:
                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
              additionalProperties:
                type: object
                properties:
                  filterSettings:
                    type: object
                    properties:
                      filterBy:
                        $ref: '#/components/schemas/def-1'
                    additionalProperties: false
                    required:
                      - filterBy
                  groupSettings:
                    type: object
                    properties:
                      groupBy:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                    required:
                      - groupBy
                  sortSettings:
                    type: object
                    properties:
                      sortBy:
                        type: array
                        items:
                          type: object
                          properties:
                            property:
                              type: string
                            order:
                              enum:
                                - asc
                                - desc
                          additionalProperties: false
                          required:
                            - property
                            - order
                    additionalProperties: false
                  propertiesSettings:
                    type: object
                    properties:
                      hidden:
                        type: array
                        items:
                          type: string
                      shown:
                        type: array
                        items:
                          type: string
                      order:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  tabIndex:
                    type: number
                  hidden:
                    type: boolean
                  title:
                    type: string
                    maxLength: 20
                  description:
                    type: string
                additionalProperties: false
          additionalProperties: false
          required:
            - type
            - dataset
            - property
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            icon:
              type: string
            type:
              enum:
                - entities-pie-chart
            title:
              type: string
            blueprint:
              type: string
            property:
              type: string
            description:
              type: string
            dataset:
              $ref: '#/components/schemas/def-1'
            emptyStateText:
              type: string
            segmentTableViewConfig:
              type: object
              propertyNames:
                pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
              additionalProperties:
                type: object
                properties:
                  filterSettings:
                    type: object
                    properties:
                      filterBy:
                        $ref: '#/components/schemas/def-1'
                    additionalProperties: false
                    required:
                      - filterBy
                  groupSettings:
                    type: object
                    properties:
                      groupBy:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                    required:
                      - groupBy
                  sortSettings:
                    type: object
                    properties:
                      sortBy:
                        type: array
                        items:
                          type: object
                          properties:
                            property:
                              type: string
                            order:
                              enum:
                                - asc
                                - desc
                          additionalProperties: false
                          required:
                            - property
                            - order
                    additionalProperties: false
                  propertiesSettings:
                    type: object
                    properties:
                      hidden:
                        type: array
                        items:
                          type: string
                      shown:
                        type: array
                        items:
                          type: string
                      order:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  tabIndex:
                    type: number
                  hidden:
                    type: boolean
                  title:
                    type: string
                    maxLength: 20
                  description:
                    type: string
                additionalProperties: false
          additionalProperties: false
          required:
            - type
            - dataset
            - property
        - type: object
          oneOf:
            - properties:
                id:
                  type: string
                updatedAt:
                  type: string
                updatedBy:
                  type: string
                createdAt:
                  type: string
                createdBy:
                  type: string
                icon:
                  type: string
                type:
                  enum:
                    - line-chart
                title:
                  type: string
                blueprint:
                  type: string
                chartType:
                  enum:
                    - propertiesValueHistory
                xAxisTitle:
                  type: string
                yAxisTitle:
                  type: string
                timeInterval:
                  type: string
                  enum:
                    - hour
                    - day
                    - isoWeek
                    - month
                    - quarter
                timeRange:
                  type: object
                  properties:
                    preset:
                      type: string
                      enum:
                        - today
                        - yesterday
                        - lastDay
                        - lastWeek
                        - last2Weeks
                        - lastMonth
                        - last3Months
                        - last6Months
                        - last12Months
                        - last2Years
                        - last3Years
                  required:
                    - preset
                  additionalProperties: false
                description:
                  type: string
                emptyStateText:
                  type: string
                entity:
                  type: string
                properties:
                  type: array
                  items:
                    type: string
                  minItems: 1
              required:
                - type
                - blueprint
                - chartType
                - entity
                - properties
              additionalProperties: false
              if:
                type: object
                properties:
                  timeRange:
                    type: object
                    properties:
                      preset:
                        enum:
                          - last2Years
                          - last3Years
              then:
                type: object
                properties:
                  timeInterval:
                    enum:
                      - quarter
            - properties:
                id:
                  type: string
                updatedAt:
                  type: string
                updatedBy:
                  type: string
                createdAt:
                  type: string
                createdBy:
                  type: string
                icon:
                  type: string
                type:
                  enum:
                    - line-chart
                title:
                  type: string
                blueprint:
                  type: string
                chartType:
                  enum:
                    - aggregatePropertiesValues
                xAxisTitle:
                  type: string
                yAxisTitle:
                  type: string
                timeInterval:
                  type: string
                  enum:
                    - hour
                    - day
                    - isoWeek
                    - month
                    - quarter
                timeRange:
                  type: object
                  properties:
                    preset:
                      type: string
                      enum:
                        - today
                        - yesterday
                        - lastDay
                        - lastWeek
                        - last2Weeks
                        - lastMonth
                        - last3Months
                        - last6Months
                        - last12Months
                        - last2Years
                        - last3Years
                  required:
                    - preset
                  additionalProperties: false
                description:
                  type: string
                emptyStateText:
                  type: string
                func:
                  type: string
                  enum:
                    - sum
                    - average
                    - min
                    - max
                    - median
                    - last
                properties:
                  type: array
                  items:
                    type: string
                  minItems: 1
                measureTimeBy:
                  type: string
                dataset:
                  $ref: '#/components/schemas/def-1'
              required:
                - type
                - blueprint
                - chartType
                - func
                - measureTimeBy
                - properties
              additionalProperties: false
              if:
                type: object
                properties:
                  timeRange:
                    type: object
                    properties:
                      preset:
                        enum:
                          - last2Years
                          - last3Years
              then:
                type: object
                properties:
                  timeInterval:
                    enum:
                      - quarter
            - properties:
                id:
                  type: string
                updatedAt:
                  type: string
                updatedBy:
                  type: string
                createdAt:
                  type: string
                createdBy:
                  type: string
                icon:
                  type: string
                type:
                  enum:
                    - line-chart
                title:
                  type: string
                blueprint:
                  type: string
                chartType:
                  enum:
                    - countEntities
                xAxisTitle:
                  type: string
                yAxisTitle:
                  type: string
                timeInterval:
                  type: string
                  enum:
                    - hour
                    - day
                    - isoWeek
                    - month
                    - quarter
                timeRange:
                  type: object
                  properties:
                    preset:
                      type: string
                      enum:
                        - today
                        - yesterday
                        - lastDay
                        - lastWeek
                        - last2Weeks
                        - lastMonth
                        - last3Months
                        - last6Months
                        - last12Months
                        - last2Years
                        - last3Years
                  required:
                    - preset
                  additionalProperties: false
                description:
                  type: string
                emptyStateText:
                  type: string
                func:
                  type: string
                  enum:
                    - count
                    - average
                breakdownProperty:
                  type: string
                measureTimeBy:
                  type: string
                dataset:
                  $ref: '#/components/schemas/def-1'
              required:
                - type
                - blueprint
                - chartType
                - func
                - measureTimeBy
              additionalProperties: false
              if:
                type: object
                properties:
                  timeRange:
                    type: object
                    properties:
                      preset:
                        enum:
                          - last2Years
                          - last3Years
              then:
                type: object
                properties:
                  timeInterval:
                    enum:
                      - quarter
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            icon:
              type: string
            type:
              enum:
                - multi-line-chart
            title:
              type: string
            xAxisTitle:
              type: string
            yAxisTitle:
              type: string
            timeInterval:
              type: string
              enum:
                - hour
                - day
                - isoWeek
                - month
                - quarter
            timeRange:
              type: object
              properties:
                preset:
                  type: string
                  enum:
                    - today
                    - yesterday
                    - lastDay
                    - lastWeek
                    - last2Weeks
                    - lastMonth
                    - last3Months
                    - last6Months
                    - last12Months
                    - last2Years
                    - last3Years
              required:
                - preset
              additionalProperties: false
            description:
              type: string
            emptyStateText:
              type: string
            lines:
              type: array
              items:
                type: object
                oneOf:
                  - properties:
                      title:
                        type: string
                      blueprint:
                        type: string
                      chartType:
                        enum:
                          - propertiesValueHistory
                      entity:
                        type: string
                      properties:
                        type: array
                        items:
                          type: string
                        minItems: 1
                    required:
                      - title
                      - entity
                      - properties
                      - blueprint
                      - chartType
                    additionalProperties: false
                  - properties:
                      title:
                        type: string
                      blueprint:
                        type: string
                      chartType:
                        enum:
                          - aggregatePropertiesValues
                      func:
                        type: string
                        enum:
                          - sum
                          - average
                          - min
                          - max
                          - median
                          - last
                      properties:
                        type: array
                        items:
                          type: string
                        minItems: 1
                      measureTimeBy:
                        type: string
                      dataset:
                        $ref: '#/components/schemas/def-1'
                    required:
                      - title
                      - func
                      - measureTimeBy
                      - properties
                      - blueprint
                      - chartType
                    additionalProperties: false
                  - properties:
                      title:
                        type: string
                      blueprint:
                        type: string
                      chartType:
                        enum:
                          - countEntities
                      func:
                        type: string
                        enum:
                          - count
                          - average
                      breakdownProperty:
                        type: string
                      measureTimeBy:
                        type: string
                      dataset:
                        $ref: '#/components/schemas/def-1'
                    required:
                      - title
                      - func
                      - measureTimeBy
                      - blueprint
                      - chartType
                    additionalProperties: false
            baselines:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  value:
                    type: number
                  color:
                    type: string
                additionalProperties: false
                required:
                  - value
            nullValueDisplayMode:
              type: string
              enum:
                - zero
                - 'null'
          required:
            - lines
            - timeInterval
            - timeRange
            - title
            - type
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              type: string
              enum:
                - entities-number-chart
            title:
              type: string
            icon:
              type: string
            description:
              type: string
            emptyStateText:
              type: string
            unit:
              type: string
              enum:
                - none
                - $
                - €
                - £
                - '%'
                - custom
            unitAlignment:
              type: string
              enum:
                - left
                - right
            calculationBy:
              type: string
              enum:
                - entities
                - property
            conditionalFormatting:
              type: array
              items:
                type: object
                properties:
                  operator:
                    enum:
                      - '>'
                      - '>='
                      - <
                      - <=
                      - '='
                      - '!='
                  value:
                    type: number
                  message:
                    type: string
                    maxLength: 50
                  description:
                    type: string
                    maxLength: 200
                  color:
                    type: string
                    enum:
                      - blue
                      - turquoise
                      - orange
                      - purple
                      - pink
                      - yellow
                      - green
                      - red
                      - gold
                      - silver
                      - paleBlue
                      - darkGray
                      - lightGray
                      - bronze
                      - lime
                      - olive
                      - brown
                required:
                  - operator
                  - value
            displayFormatting:
              type: string
              enum:
                - none
                - round
                - custom
            decimalPlaces:
              type: string
              enum:
                - '.0'
                - '.00'
                - '.000'
                - '.0000'
                - '.00000'
          required:
            - type
            - unit
          allOf:
            - if:
                properties:
                  chartType:
                    enum:
                      - aggregateByProperty
                required:
                  - chartType
              then:
                properties:
                  dataset:
                    oneOf:
                      - 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
                                  title: Expired Rule
                                  properties:
                                    operator:
                                      enum:
                                        - isExpired
                                        - isNotExpired
                                    property:
                                      type: string
                                  required:
                                    - operator
                                    - property
                                  additionalProperties: false
                            - type: object
                              title: String Rule
                              oneOf:
                                - type: object
                                  title: String Rule
                                  properties:
                                    property:
                                      oneOf:
                                        - type: string
                                        - type: object
                                          properties:
                                            property:
                                              type: string
                                            context:
                                              type: string
                                              enum:
                                                - user
                                                - userTeams
                                          required:
                                            - property
                                            - context
                                    operator:
                                      enum:
                                        - '='
                                        - '!='
                                        - containsAny
                                        - contains
                                        - doesNotContains
                                        - beginsWith
                                        - doesNotBeginsWith
                                        - endsWith
                                        - doesNotEndsWith
                                        - in
                                        - notIn
                                    value:
                                      anyOf:
                                        - type: 'null'
                                          title: 'null'
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                        - type: string
                                          format: date-time
                                          title: date-time
                                        - type: array
                                          items:
                                            type: string
                                          title: array
                                        - type: array
                                          items:
                                            type: number
                                          title: array
                                        - type: array
                                          items:
                                            type: boolean
                                          title: array
                                        - type: array
                                          items:
                                            type: string
                                            format: date-time
                                          title: array
                                        - type: object
                                          properties:
                                            property:
                                              type: string
                                            context:
                                              type: string
                                              enum:
                                                - user
                                                - userTeams
                                          required:
                                            - property
                                            - context
                                  additionalProperties: false
                                  required:
                                    - property
                                    - operator
                                    - value
                            - type: object
                              title: Relation Rule
                              properties:
                                operator:
                                  enum:
                                    - relatedTo
                                blueprint:
                                  type: string
                                value:
                                  anyOf:
                                    - type: string
                                      title: string
                                    - type: array
                                      items:
                                        type: string
                                      title: array
                                direction:
                                  enum:
                                    - upstream
                                    - downstream
                                required:
                                  type: boolean
                              additionalProperties: false
                              required:
                                - operator
                                - value
                                - blueprint
                            - type: object
                              title: Property schema rule
                              properties:
                                propertySchema:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                    format:
                                      type: string
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                        format:
                                          type: string
                                      required:
                                        - type
                                  required:
                                    - type
                                  additionalProperties: false
                                operator:
                                  enum:
                                    - '='
                                    - '!='
                                    - contains
                                value:
                                  anyOf:
                                    - type: 'null'
                                      title: 'null'
                                    - type: string
                                      title: string
                                    - type: number
                                      title: number
                                    - type: boolean
                                      title: boolean
                              required:
                                - operator
                                - propertySchema
                              additionalProperties: false
                            - type: object
                              title: matchAny Rule
                              anyOf:
                                - type: object
                                  properties:
                                    property:
                                      oneOf:
                                        - type: object
                                          properties:
                                            path:
                                              type: array
                                              minItems: 1
                                              items:
                                                anyOf:
                                                  - type: string
                                                  - type: object
                                                    properties:
                                                      relation:
                                                        type: string
                                                      maxHops:
                                                        type: number
                                                        minimum: 1
                                                        maximum: 15
                                            fromBlueprint:
                                              type: string
                                          required:
                                            - path
                                          additionalProperties: false
                                        - oneOf:
                                            - type: string
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                    operator:
                                      type: string
                                      enum:
                                        - matchAny
                                    value:
                                      anyOf:
                                        - type: array
                                          items:
                                            type: string
                                        - oneOf:
                                            - type: string
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                  required:
                                    - property
                                    - operator
                                    - value
                                  additionalProperties: false
                            - $ref: '#/components/schemas/def-1'
                      - $ref: '#/components/schemas/def-1'
                  segmentTableViewConfig:
                    type: object
                    propertyNames:
                      pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                    additionalProperties:
                      type: object
                      properties:
                        filterSettings:
                          type: object
                          properties:
                            filterBy:
                              $ref: '#/components/schemas/def-1'
                          additionalProperties: false
                          required:
                            - filterBy
                        groupSettings:
                          type: object
                          properties:
                            groupBy:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                          required:
                            - groupBy
                        sortSettings:
                          type: object
                          properties:
                            sortBy:
                              type: array
                              items:
                                type: object
                                properties:
                                  property:
                                    type: string
                                  order:
                                    enum:
                                      - asc
                                      - desc
                                additionalProperties: false
                                required:
                                  - property
                                  - order
                          additionalProperties: false
                        propertiesSettings:
                          type: object
                          properties:
                            hidden:
                              type: array
                              items:
                                type: string
                            shown:
                              type: array
                              items:
                                type: string
                            order:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                        tabIndex:
                          type: number
                        hidden:
                          type: boolean
                        title:
                          type: string
                          maxLength: 20
                        description:
                          type: string
                      additionalProperties: false
                required:
                  - dataset
            - if:
                properties:
                  chartType:
                    enum:
                      - countEntities
                required:
                  - chartType
              then:
                properties:
                  dataset:
                    oneOf:
                      - 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
                                  title: Expired Rule
                                  properties:
                                    operator:
                                      enum:
                                        - isExpired
                                        - isNotExpired
                                    property:
                                      type: string
                                  required:
                                    - operator
                                    - property
                                  additionalProperties: false
                            - type: object
                              title: String Rule
                              oneOf:
                                - type: object
                                  title: String Rule
                                  properties:
                                    property:
                                      oneOf:
                                        - type: string
                                        - type: object
                                          properties:
                                            property:
                                              type: string
                                            context:
                                              type: string
                                              enum:
                                                - user
                                                - userTeams
                                          required:
                                            - property
                                            - context
                                    operator:
                                      enum:
                                        - '='
                                        - '!='
                                        - containsAny
                                        - contains
                                        - doesNotContains
                                        - beginsWith
                                        - doesNotBeginsWith
                                        - endsWith
                                        - doesNotEndsWith
                                        - in
                                        - notIn
                                    value:
                                      anyOf:
                                        - type: 'null'
                                          title: 'null'
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                        - type: boolean
                                          title: boolean
                                        - type: string
                                          format: date-time
                                          title: date-time
                                        - type: array
                                          items:
                                            type: string
                                          title: array
                                        - type: array
                                          items:
                                            type: number
                                          title: array
                                        - type: array
                                          items:
                                            type: boolean
                                          title: array
                                        - type: array
                                          items:
                                            type: string
                                            format: date-time
                                          title: array
                                        - type: object
                                          properties:
                                            property:
                                              type: string
                                            context:
                                              type: string
                                              enum:
                                                - user
                                                - userTeams
                                          required:
                                            - property
                                            - context
                                  additionalProperties: false
                                  required:
                                    - property
                                    - operator
                                    - value
                            - type: object
                              title: Relation Rule
                              properties:
                                operator:
                                  enum:
                                    - relatedTo
                                blueprint:
                                  type: string
                                value:
                                  anyOf:
                                    - type: string
                                      title: string
                                    - type: array
                                      items:
                                        type: string
                                      title: array
                                direction:
                                  enum:
                                    - upstream
                                    - downstream
                                required:
                                  type: boolean
                              additionalProperties: false
                              required:
                                - operator
                                - value
                                - blueprint
                            - type: object
                              title: Property schema rule
                              properties:
                                propertySchema:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                    format:
                                      type: string
                                    items:
                                      type: object
                                      properties:
                                        type:
                                          type: string
                                        format:
                                          type: string
                                      required:
                                        - type
                                  required:
                                    - type
                                  additionalProperties: false
                                operator:
                                  enum:
                                    - '='
                                    - '!='
                                    - contains
                                value:
                                  anyOf:
                                    - type: 'null'
                                      title: 'null'
                                    - type: string
                                      title: string
                                    - type: number
                                      title: number
                                    - type: boolean
                                      title: boolean
                              required:
                                - operator
                                - propertySchema
                              additionalProperties: false
                            - type: object
                              title: matchAny Rule
                              anyOf:
                                - type: object
                                  properties:
                                    property:
                                      oneOf:
                                        - type: object
                                          properties:
                                            path:
                                              type: array
                                              minItems: 1
                                              items:
                                                anyOf:
                                                  - type: string
                                                  - type: object
                                                    properties:
                                                      relation:
                                                        type: string
                                                      maxHops:
                                                        type: number
                                                        minimum: 1
                                                        maximum: 15
                                            fromBlueprint:
                                              type: string
                                          required:
                                            - path
                                          additionalProperties: false
                                        - oneOf:
                                            - type: string
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                    operator:
                                      type: string
                                      enum:
                                        - matchAny
                                    value:
                                      anyOf:
                                        - type: array
                                          items:
                                            type: string
                                        - oneOf:
                                            - type: string
                                            - type: object
                                              properties:
                                                property:
                                                  type: string
                                                context:
                                                  type: string
                                                  enum:
                                                    - user
                                                    - userTeams
                                              required:
                                                - property
                                                - context
                                  required:
                                    - property
                                    - operator
                                    - value
                                  additionalProperties: false
                            - $ref: '#/components/schemas/def-1'
                      - $ref: '#/components/schemas/def-1'
                  segmentTableViewConfig:
                    type: object
                    propertyNames:
                      pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/='-]+$
                    additionalProperties:
                      type: object
                      properties:
                        filterSettings:
                          type: object
                          properties:
                            filterBy:
                              $ref: '#/components/schemas/def-1'
                          additionalProperties: false
                          required:
                            - filterBy
                        groupSettings:
                          type: object
                          properties:
                            groupBy:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                          required:
                            - groupBy
                        sortSettings:
                          type: object
                          properties:
                            sortBy:
                              type: array
                              items:
                                type: object
                                properties:
                                  property:
                                    type: string
                                  order:
                                    enum:
                                      - asc
                                      - desc
                                additionalProperties: false
                                required:
                                  - property
                                  - order
                          additionalProperties: false
                        propertiesSettings:
                          type: object
                          properties:
                            hidden:
                              type: array
                              items:
                                type: string
                            shown:
                              type: array
                              items:
                                type: string
                            order:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                        tabIndex:
                          type: number
                        hidden:
                          type: boolean
                        title:
                          type: string
                          maxLength: 20
                        description:
                          type: string
                      additionalProperties: false
                required:
                  - dataset
            - if:
                properties:
                  chartType:
                    enum:
                      - displaySingleProperty
                required:
                  - chartType
              then:
                properties:
                  property:
                    type: string
                  entity:
                    type: string
                required:
                  - property
            - if:
                properties:
                  calculationBy:
                    enum:
                      - property
                required:
                  - calculationBy
              then:
                properties:
                  property:
                    type: string
                  func:
                    type: string
                    enum:
                      - sum
                      - average
                      - min
                      - max
                      - median
                required:
                  - property
                  - func
            - if:
                properties:
                  calculationBy:
                    enum:
                      - entities
                required:
                  - calculationBy
              then:
                properties:
                  func:
                    type: string
                    enum:
                      - average
                      - count
                required:
                  - func
            - if:
                properties:
                  func:
                    enum:
                      - average
                required:
                  - func
              then:
                properties:
                  averageOf:
                    type: string
                    enum:
                      - hour
                      - day
                      - week
                      - month
                      - total
                  measureTimeBy:
                    type: string
                required:
                  - averageOf
            - if:
                properties:
                  unit:
                    enum:
                      - custom
                required:
                  - unit
              then:
                properties:
                  unitCustom:
                    type: string
                required:
                  - unitCustom
            - if:
                properties:
                  displayFormatting:
                    enum:
                      - custom
                required:
                  - displayFormatting
              then:
                properties:
                  decimalPlaces:
                    type: string
                    enum:
                      - '.0'
                      - '.00'
                      - '.000'
                      - '.0000'
                      - '.00000'
                required:
                  - decimalPlaces
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              type: string
              enum:
                - iframe-widget
            title:
              type: string
            icon:
              type: string
            description:
              type: string
            url:
              type: string
              format: url
            urlType:
              type: string
              enum:
                - public
                - protected
          required:
            - type
            - url
            - urlType
            - title
          allOf:
            - if:
                properties:
                  urlType:
                    enum:
                      - protected
              then:
                properties:
                  popupAuth:
                    type: boolean
                  tokenUrl:
                    type: string
                    format: url
                  authorizationUrl:
                    type: string
                    format: url
                  clientId:
                    type: string
                  scopes:
                    type: array
                    items:
                      type: string
                required:
                  - tokenUrl
                  - authorizationUrl
                  - clientId
                  - scopes
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              type: string
              enum:
                - markdown
            title:
              type: string
            icon:
              type: string
          required:
            - type
            - title
          anyOf:
            - type: object
              properties:
                source:
                  type: string
                  enum:
                    - custom
                markdown:
                  type: string
              required:
                - markdown
            - type: object
              properties:
                source:
                  type: string
                  enum:
                    - property
                blueprintIdentifier:
                  type: string
                propertyIdentifier:
                  type: string
                entityIdentifier:
                  type: string
              required:
                - source
                - blueprintIdentifier
                - propertyIdentifier
                - entityIdentifier
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              enum:
                - team-info
            title:
              type: string
            team_name:
              type: string
          additionalProperties: false
          required:
            - type
            - team_name
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              type: string
              enum:
                - recently-viewed-entities
            title:
              type: string
            icon:
              type: string
          required:
            - type
            - title
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              type: string
              enum:
                - recently-used-actions
            title:
              type: string
            icon:
              type: string
          required:
            - type
            - title
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              type: string
              enum:
                - my-entities
            title:
              type: string
            icon:
              type: string
          required:
            - type
            - title
        - type: object
          properties:
            id:
              type: string
            updatedAt:
              type: string
            updatedBy:
              type: string
            createdAt:
              type: string
            createdBy:
              type: string
            type:
              type: string
              enum:
                - custom-widget
            title:
              type: string
            icon:
              type: string
            description:
              type: string
            pluginId:
              type: string
            paramValues:
              type: object
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - string
                      - number
                      - boolean
                      - object
                      - array
                      - blueprint
                  value:
                    oneOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: array
                      - type: object
                required:
                  - type
                  - value
                additionalProperties: false
          required:
            - type
            - pluginId
            - title
          additionalProperties: false
        - $ref: '#/components/schemas/def-3'
        - $ref: '#/components/schemas/def-4'
      title: /schemas/widgets
    serverErrorInput:
      type: object
      properties:
        ok:
          type: boolean
        error:
          type: string
        message:
          type: string
      required:
        - ok
        - error
    entitiesQueryInput:
      type: object
      properties:
        combinator:
          type: string
          enum:
            - and
            - or
          description: The logical combinator to use for combining rules
        rules:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/entitiesQueryInput'
              - anyOf:
                  - type: object
                    properties:
                      property:
                        type: string
                        description: The property to filter on
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The value to compare against
                    required:
                      - property
                      - operator
                      - value
                  - type: object
                    properties:
                      relation:
                        type: string
                        description: The relation name to filter on (e.g., "jira_user_assignee"). Use get_blueprint to discover available relations and check "many" field.
                      targetProperty:
                        description: The target property of the relation
                        type: string
                        enum:
                          - $title
                          - $identifier
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                        description: 'For single relations (many: false), use "=". For array relations (many: true), use "contains" with string value or "containsAny" with array value'
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The identifier of the related entity to filter by
                    required:
                      - relation
                      - operator
                      - value
                  - type: object
                    properties:
                      scorecard:
                        type: string
                        description: The scorecard to filter on
                      scorecardRule:
                        description: The specific scorecard rule
                        type: string
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The value to compare against
                    required:
                      - scorecard
                      - operator
                      - value
                  - type: object
                    properties:
                      property:
                        type: string
                        description: The property to check existence
                      operator:
                        type: string
                        enum:
                          - isEmpty
                          - isNotEmpty
                        description: The existence operator
                    required:
                      - property
                      - operator
                  - type: object
                    properties:
                      relation:
                        type: string
                        description: The relation to check existence
                      targetProperty:
                        description: The target property of the relation
                        type: string
                        enum:
                          - $title
                          - $identifier
                      operator:
                        type: string
                        enum:
                          - isEmpty
                          - isNotEmpty
                        description: The existence operator
                    required:
                      - relation
                      - operator
                  - type: object
                    properties:
                      scorecard:
                        type: string
                        description: The scorecard to check existence
                      scorecardRule:
                        description: The specific scorecard rule
                        type: string
                      operator:
                        type: string
                        enum:
                          - isEmpty
                          - isNotEmpty
                        description: The existence operator
                    required:
                      - scorecard
                      - operator
                  - type: object
                    properties:
                      property:
                        type: string
                        description: The property to compare
                      operator:
                        type: string
                        enum:
                          - '>'
                          - '>='
                          - <
                          - <=
                          - between
                          - notBetween
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: number
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: object
                            properties:
                              from:
                                anyOf:
                                  - type: number
                                  - type: string
                                    format: date-time
                                    pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              to:
                                anyOf:
                                  - type: number
                                  - type: string
                                    format: date-time
                                    pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - from
                              - to
                            description: Date/number range with explicit from and to values
                          - type: object
                            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
                            description: Date preset for relative date ranges (e.g., "today", "lastWeek", "last3Months"). Only valid for datetime properties.
                        description: The value to compare against. For between/notBetween on datetime properties, can use preset for relative ranges.
                    required:
                      - property
                      - operator
                      - value
                  - type: object
                    properties:
                      operator:
                        type: string
                        const: relatedTo
                        description: Filter entities related to specific entities
                      blueprint:
                        type: string
                        description: The blueprint of the related entities
                      value:
                        anyOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                          - type: object
                            properties:
                              jqQuery:
                                type: string
                            required:
                              - jqQuery
                        description: The entity identifier(s) or JQ query
                      direction:
                        description: The direction of the relation
                        type: string
                        enum:
                          - upstream
                          - downstream
                      required:
                        description: Whether the relation is required
                        type: boolean
                    required:
                      - operator
                      - blueprint
                      - value
                  - type: object
                    properties:
                      propertySchema:
                        type: object
                        properties:
                          type:
                            type: string
                            description: The property type
                          format:
                            description: The property format
                            type: string
                          items:
                            description: The items schema for array properties
                            type: object
                            properties:
                              type:
                                type: string
                                description: The item type
                              format:
                                type: string
                                description: The item format
                            required:
                              - type
                              - format
                        required:
                          - type
                        description: The property schema to filter on
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - contains
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The value to compare against
                    required:
                      - propertySchema
                      - operator
                      - value
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          path:
                            type: array
                            items:
                              type: string
                            description: The property path
                          fromBlueprint:
                            description: The source blueprint
                            type: string
                        required:
                          - path
                        description: The property path to filter on
                      operator:
                        type: string
                        enum:
                          - matchAny
                          - '='
                          - in
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                        description: The value to compare against
                    required:
                      - property
                      - operator
                      - value
          description: Array of filter rules to apply
      required:
        - combinator
        - rules
    workflowPermissionQueryInput:
      type: object
      properties:
        combinator:
          type: string
          enum:
            - and
            - or
          description: Logical operator to combine permission rules (and/or).
        rules:
          type: array
          items:
            anyOf:
              - anyOf:
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - empty
                          - notEmpty
                    required:
                      - property
                      - operator
                    title: Empty or NotEmpty condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: number
                              - type: string
                              - type: boolean
                            title: Number, String, or Boolean value
                          - anyOf:
                              - type: array
                                items:
                                  type: number
                              - type: array
                                items:
                                  type: string
                              - type: array
                                items:
                                  type: boolean
                            title: Number, String, or Boolean array
                    required:
                      - property
                      - operator
                      - value
                    title: Equals condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - '>'
                          - <
                          - '>='
                          - <=
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: number
                              - type: string
                              - type: boolean
                            title: Number, String, or Boolean value
                    required:
                      - property
                      - operator
                      - value
                    title: Comparison condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - in
                          - notIn
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: array
                                items:
                                  type: number
                              - type: array
                                items:
                                  type: string
                              - type: array
                                items:
                                  type: boolean
                            title: Number, String, or Boolean array
                    required:
                      - property
                      - operator
                      - value
                    title: In or NotIn condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - contains
                          - notContains
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: number
                              - type: string
                              - type: boolean
                            title: Number, String, or Boolean value
                    required:
                      - property
                      - operator
                      - value
                    title: Contains or NotContains condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - containsAny
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: array
                                items:
                                  type: number
                              - type: array
                                items:
                                  type: string
                              - type: array
                                items:
                                  type: boolean
                            title: Number, String, or Boolean array
                    required:
                      - property
                      - operator
                      - value
                    title: ContainsAny condition
                title: Options
              - $ref: '#/components/schemas/workflowPermissionQueryInput'
          description: List of permission rules to evaluate.
      required:
        - combinator
        - rules
    objectPropertiesInput:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/__sharedInput/$defs/schema0'
    objectAdditionalPropertiesInput:
      default: false
      anyOf:
        - type: boolean
        - $ref: '#/components/schemas/__sharedInput/$defs/schema1'
    userInputPropertyInput:
      anyOf:
        - oneOf:
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: boolean
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: boolean
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: boolean
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: date-time
                default:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: Date-time property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: email
                default:
                  anyOf:
                    - type: string
                      format: email
                      pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                enum:
                  anyOf:
                    - type: array
                      items:
                        type: string
                        format: email
                        pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: Email property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: entity
                blueprint:
                  type: string
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                sort:
                  type: object
                  properties:
                    property:
                      type: string
                    order:
                      type: string
                      enum:
                        - ASC
                        - DESC
                  required:
                    - property
                    - order
                dataset:
                  type: object
                  properties:
                    combinator:
                      type: string
                      enum:
                        - and
                        - or
                    rules:
                      type: array
                      items:
                        type: object
                        additionalProperties: {}
                  required:
                    - combinator
                    - rules
              required:
                - type
                - format
                - blueprint
              title: Entity property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: team
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: Team property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  anyOf:
                    - type: string
                      const: none
                    - type: string
                      const: multi-line
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                enum:
                  anyOf:
                    - type: array
                      items:
                        type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                enumColors:
                  type: object
                  additionalProperties:
                    type: string
                pattern:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                maxLength:
                  anyOf:
                    - type: number
                      exclusiveMinimum: 0
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                minLength:
                  anyOf:
                    - type: number
                      exclusiveMinimum: 0
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
              title: String property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: url
                default:
                  anyOf:
                    - type: string
                      format: uri
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: URL property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: markdown
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: Markdown property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: user
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: User property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: yaml
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: YAML property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: proto
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      title: JQ query default value
              required:
                - type
                - format
              title: Proto property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: array
            default:
              anyOf:
                - type: array
                  items: {}
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            enum:
              type: array
              items:
                type: array
                items: {}
            items:
              oneOf:
                - oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: entity
                        blueprint:
                          type: string
                        dataset:
                          type: object
                          properties:
                            combinator:
                              type: string
                              enum:
                                - and
                                - or
                            rules:
                              type: array
                              items:
                                type: object
                                additionalProperties: {}
                          required:
                            - combinator
                            - rules
                      required:
                        - type
                        - format
                        - blueprint
                      title: Entity array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: team
                      required:
                        - type
                        - format
                      title: Team array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: user
                      required:
                        - type
                        - format
                      title: User array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: date-time
                      required:
                        - type
                        - format
                      title: Date-time array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: email
                      required:
                        - type
                        - format
                      title: Email array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: url
                      required:
                        - type
                        - format
                      title: URL array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: yaml
                      required:
                        - type
                        - format
                      title: YAML array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: string
                        enum:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: object
                              properties:
                                jqQuery:
                                  type: string
                              required:
                                - jqQuery
                              title: JQ query default value
                        enumColors:
                          type: object
                          additionalProperties:
                            type: string
                      required:
                        - type
                      title: String array item
                - type: object
                  properties:
                    type:
                      type: string
                      const: number
                    enum:
                      anyOf:
                        - type: array
                          items:
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                        - type: object
                          properties:
                            jqQuery:
                              type: string
                          required:
                            - jqQuery
                          title: JQ query default value
                    enumColors:
                      type: object
                      additionalProperties:
                        type: string
                    minimum:
                      type: number
                    maximum:
                      type: number
                    exclusiveMinimum:
                      type: number
                    exclusiveMaximum:
                      type: number
                  required:
                    - type
                  title: Number array item
                - oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          const: object
                        format:
                          type: string
                          const: labeled-url
                      required:
                        - type
                        - format
                      title: Labeled URL array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: object
                        format:
                          type: string
                          const: none
                      required:
                        - type
                      title: Object array item
            dataset:
              type: object
              properties:
                combinator:
                  type: string
                  enum:
                    - and
                    - or
                rules:
                  type: array
                  items:
                    type: object
                    additionalProperties: {}
              required:
                - combinator
                - rules
            sort:
              type: object
              properties:
                property:
                  type: string
                order:
                  type: string
                  enum:
                    - ASC
                    - DESC
              required:
                - property
                - order
            minItems:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            maxItems:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            uniqueItems:
              type: boolean
          required:
            - type
          title: Array property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: number
            default:
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            enum:
              anyOf:
                - type: array
                  items:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            minimum:
              type: number
            maximum:
              type: number
            exclusiveMinimum:
              type: number
            exclusiveMaximum:
              type: number
          required:
            - type
          title: Number property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: object
            format:
              type: string
              const: none
            default:
              anyOf:
                - type: object
                  properties: {}
                  additionalProperties: {}
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            enum:
              type: array
              items:
                type: object
                properties: {}
                additionalProperties: {}
            properties:
              $ref: '#/components/schemas/objectPropertiesInput'
            additionalProperties:
              $ref: '#/components/schemas/objectAdditionalPropertiesInput'
            patternProperties:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/__sharedInput/$defs/schema2'
            required:
              type: array
              items:
                type: string
          required:
            - type
          title: Object property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              type: boolean
            disabled:
              type: boolean
            visible:
              type: boolean
            icon:
              type: string
            type:
              type: string
              const: object
            format:
              type: string
              const: multi-line
          required:
            - type
            - format
          title: Object secret property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: object
            format:
              type: string
              const: labeled-url
            default:
              anyOf:
                - type: object
                  properties:
                    url:
                      type: string
                    displayText:
                      type: string
                  required:
                    - url
                  title: Labeled URL object
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
          required:
            - type
            - format
          title: Labeled URL property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: boolean
            default:
              anyOf:
                - type: boolean
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  title: JQ query default value
          required:
            - type
          title: Toggle property
    userInputsInput:
      type: object
      properties:
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/userInputPropertyInput'
        required:
          anyOf:
            - type: array
              items:
                type: string
            - type: object
              properties:
                jqQuery:
                  type: string
              required:
                - jqQuery
        order:
          type: array
          items:
            type: string
        titles:
          type: object
          additionalProperties:
            type: object
            properties:
              title:
                type: string
                minLength: 1
                maxLength: 140
              description:
                type: string
                maxLength: 1000
              visible:
                anyOf:
                  - type: boolean
                  - type: object
                    properties:
                      jqQuery:
                        type: string
                    required:
                      - jqQuery
            required:
              - title
        steps:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
                maxLength: 25
              order:
                type: array
                items:
                  type: string
              visible:
                anyOf:
                  - type: boolean
                  - type: object
                    properties:
                      jqQuery:
                        type: string
                    required:
                      - jqQuery
              validations:
                maxItems: 10
                type: array
                items:
                  type: object
                  properties:
                    engine:
                      default: jq
                      type: string
                      const: jq
                    constraint:
                      type: string
                    message:
                      type: string
                      maxLength: 100
                  required:
                    - constraint
                    - message
            required:
              - title
              - order
        validations:
          maxItems: 10
          type: array
          items:
            type: object
            properties:
              engine:
                default: jq
                type: string
                const: jq
              constraint:
                type: string
              message:
                type: string
                maxLength: 100
            required:
              - constraint
              - message
      required:
        - properties
    kafkaInvocationMethodInput:
      type: object
      properties:
        type:
          type: string
          const: KAFKA
          description: The type of invocation method to use for this node.
        payload:
          description: The payload of the Kafka message.
          anyOf:
            - anyOf:
                - type: array
                  items: {}
                - type: object
                  additionalProperties: {}
            - type: 'null'
        onFailure:
          description: The action to take if the Kafka message fails.
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
    webhookInvocationMethodInput:
      type: object
      properties:
        type:
          type: string
          const: WEBHOOK
          description: The type of invocation method to use for this node.
        url:
          type: string
          description: The URL of the webhook.
        agent:
          description: Whether the webhook is an agent.
          anyOf:
            - default: false
              type: boolean
            - type: 'null'
        synchronized:
          description: Whether the webhook is synchronized.
          anyOf:
            - default: true
              type: boolean
            - type: 'null'
        method:
          anyOf:
            - default: POST
              type: string
              enum:
                - GET
                - POST
                - PUT
                - PATCH
                - DELETE
            - type: 'null'
        headers:
          description: The headers of the webhook.
          anyOf:
            - type: object
              additionalProperties:
                anyOf:
                  - type: string
                  - type: 'null'
            - type: 'null'
        body:
          description: The body of the webhook.
          anyOf:
            - anyOf:
                - type: array
                  items: {}
                - type: object
                  additionalProperties: {}
            - type: 'null'
        onTimeout:
          description: The action to take if the webhook times out.
          anyOf:
            - default: fail
              type: string
              enum:
                - fail
                - continue
            - type: 'null'
        onFailure:
          description: The action to take if the webhook fails.
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
        - url
    integrationActionInvocationMethodInput:
      type: object
      properties:
        type:
          type: string
          const: INTEGRATION_ACTION
        installationId:
          description: The installation ID of the integration action. Omit when deferIntegrationInstallation is true — the backend fills it with the provider type (the install modal default id). The user completes setup via the workflow setup checklist.
          type: string
        integrationProvider:
          type: string
          description: The provider of the integration action.
        integrationInvocationType:
          type: string
          description: The invocation type of the integration action.
        integrationActionExecutionProperties: {}
        deferIntegrationInstallation:
          description: When true, allows saving the workflow before the integration is installed. Omit installationId (backend sets it to integrationProvider) or set installationId equal to integrationProvider. The user finishes setup via the workflow setup checklist.
          type: boolean
        onFailure:
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
        - integrationProvider
        - integrationInvocationType
        - integrationActionExecutionProperties
    upsertEntityInvocationMethodInput:
      type: object
      properties:
        type:
          type: string
          const: UPSERT_ENTITY
          description: The type of invocation method to use for this node.
        blueprintIdentifier:
          type: string
          description: The identifier of the blueprint you want to upsert.
        mapping:
          type: object
          properties:
            identifier:
              description: The identifier of the entity you want to upsert.
              anyOf:
                - type: string
                - type: 'null'
            title:
              description: The title of the entity you want to upsert.
              anyOf:
                - type: string
                - type: 'null'
            team:
              description: The team of the entity you want to upsert.
              anyOf:
                - anyOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                - type: 'null'
            icon:
              description: The icon of the entity you want to upsert.
              anyOf:
                - type: string
                - type: 'null'
            properties:
              description: The properties of the entity you want to upsert.
              anyOf:
                - type: object
                  additionalProperties: {}
                - type: 'null'
            relations:
              description: The relations of the entity you want to upsert.
              anyOf:
                - type: object
                  additionalProperties:
                    anyOf:
                      - type: string
                      - type: array
                        items:
                          type: string
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      - type: 'null'
                - type: 'null'
        onFailure:
          description: The action to take if the upsert entity fails.
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
        - blueprintIdentifier
        - mapping
    aIAgentInvocationMethodInput:
      type: object
      properties:
        type:
          type: string
          const: AI_AGENT
        userPrompt:
          type: string
          description: The user's message or query to be processed by Port AI.
        agentIdentifier:
          type: string
          description: The identifier of the agent you want to operate on.
        provider:
          description: The AI provider to use for this invocation. If not specified, the default provider will be used.
          anyOf:
            - type: string
            - type: 'null'
        model:
          description: The AI model to use for this invocation. If not specified, the default model will be used.
          anyOf:
            - type: string
            - type: 'null'
        outputSchema:
          description: JSON Schema for structured output validation. When provided, the AI response will be validated against this schema.
          anyOf:
            - type: object
              properties:
                type:
                  type: string
                  const: object
                properties:
                  type: object
                  additionalProperties: {}
                required:
                  type: array
                  items:
                    type: string
              required:
                - type
              additionalProperties: {}
            - type: 'null'
      required:
        - type
        - userPrompt
        - agentIdentifier
    aIInvocationMethodInput:
      type: object
      properties:
        type:
          type: string
          const: AI
        userPrompt:
          type: string
          description: The user's message or query to be processed by Port AI.
        provider:
          description: The AI provider to use for this invocation. If not specified, the default provider will be used.
          anyOf:
            - type: string
            - type: 'null'
        model:
          anyOf:
            - type: string
            - type: 'null'
        systemPrompt:
          default: ''
          description: A set of instructions that guides an AI's behavior and responses by providing its role, persona, and operational rules at the beginning of an interaction.
          type: string
        tools:
          default: []
          type: array
          items:
            type: string
          description: List of Regex values to match against the tools names. To learn more about the available tools, refer to the [documentation](https://docs.port.io/ai-interfaces/port-ai/overview?execution-modes=manual#available-tools).
        mcpServers:
          anyOf:
            - maxItems: 5
              type: array
              items:
                type: object
                properties:
                  identifier:
                    type: string
                required:
                  - identifier
            - type: 'null'
        outputSchema:
          description: JSON Schema for structured output validation. When provided, the AI response will be validated against this schema.
          anyOf:
            - type: object
              properties:
                type:
                  type: string
                  const: object
                properties:
                  type: object
                  additionalProperties: {}
                required:
                  type: array
                  items:
                    type: string
              required:
                - type
              additionalProperties: {}
            - type: 'null'
      required:
        - type
        - userPrompt
    nodeRunConfigInput:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              const: SELF_SERVE_TRIGGER
            userInputs:
              $ref: '#/components/schemas/userInputsInput'
            actionCardButtonText:
              type: string
              minLength: 1
              maxLength: 15
              pattern: ^[^\s].*[^\s]$
            executeActionButtonText:
              type: string
              minLength: 1
              maxLength: 15
              pattern: ^[^\s].*[^\s]$
            published:
              default: true
              type: boolean
            permissions:
              type: object
              properties:
                users:
                  type: array
                  items:
                    type: string
                roles:
                  type: array
                  items:
                    type: string
                teams:
                  type: array
                  items:
                    type: string
                policy:
                  $ref: '#/components/schemas/workflowPermissionQueryInput'
            variant:
              type: string
              enum:
                - DEFAULT
                - ALERT
            contexts:
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      'on':
                        type: string
                        const: CREATE_ENTITY
                      blueprintIdentifier:
                        type: string
                        minLength: 1
                    required:
                      - 'on'
                      - blueprintIdentifier
                    additionalProperties: false
                    title: Create-entity trigger context
                  - type: object
                    properties:
                      'on':
                        type: string
                        const: ENTITY
                      userInput:
                        type: string
                        minLength: 1
                    required:
                      - 'on'
                      - userInput
                    additionalProperties: false
                    title: Entity trigger context
                title: Trigger context
          required:
            - type
          title: Self-serve trigger config
        - type: object
          properties:
            type:
              type: string
              const: EVENT_TRIGGER
            event:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      const: ENTITY_CREATED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  title: Entity created event
                - type: object
                  properties:
                    type:
                      type: string
                      const: ENTITY_UPDATED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  title: Entity updated event
                - type: object
                  properties:
                    type:
                      type: string
                      const: ENTITY_DELETED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  title: Entity deleted event
                - type: object
                  properties:
                    type:
                      type: string
                      const: TIMER_EXPIRED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                    propertyIdentifier:
                      type: string
                  required:
                    - type
                    - blueprintIdentifier
                    - propertyIdentifier
                  title: Timer expired event
                - type: object
                  properties:
                    type:
                      type: string
                      const: ANY_ENTITY_CHANGE
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  title: Any entity change event
            condition:
              type: object
              properties:
                type:
                  type: string
                  const: JQ
                expressions:
                  type: array
                  items:
                    type: string
                combinator:
                  type: string
                  enum:
                    - and
                    - or
              required:
                - type
                - expressions
            published:
              default: true
              type: boolean
          required:
            - type
            - event
          title: Event trigger config
        - type: object
          properties:
            type:
              type: string
              const: SCHEDULE_TRIGGER
            cron:
              type: string
              minLength: 1
              description: Cron expression defining when the workflow triggers (e.g. "0 9 * * 1-5").
            published:
              default: true
              type: boolean
          required:
            - type
            - cron
          title: Schedule trigger config
        - $ref: '#/components/schemas/kafkaInvocationMethodInput'
        - $ref: '#/components/schemas/webhookInvocationMethodInput'
        - $ref: '#/components/schemas/integrationActionInvocationMethodInput'
        - $ref: '#/components/schemas/upsertEntityInvocationMethodInput'
        - $ref: '#/components/schemas/aIAgentInvocationMethodInput'
        - $ref: '#/components/schemas/aIInvocationMethodInput'
        - type: object
          properties:
            type:
              type: string
              const: CURSOR_AGENT
              description: The type of invocation method to use for this node.
            apiKey:
              type: string
              description: Cursor API key for authentication. Store as a Port secret and reference via JQ.
            prompt:
              type: object
              properties:
                text:
                  type: string
                  description: Task instructions passed to the Cursor agent. Supports Port dynamic expressions.
              required:
                - text
              description: The task prompt for the agent.
            model:
              description: Model ID (e.g. claude-sonnet-4-5), or "default" to use the configured default model.
              anyOf:
                - type: string
                - type: 'null'
            source:
              type: object
              properties:
                repository:
                  description: GitHub repository URL (e.g. https://github.com/your-org/your-repo). Required unless prUrl is provided.
                  anyOf:
                    - type: string
                    - type: 'null'
                ref:
                  description: Git ref (branch name, tag, or commit hash) to use as the base branch.
                  anyOf:
                    - type: string
                    - type: 'null'
                prUrl:
                  description: GitHub pull request URL. When provided, repository and ref are ignored.
                  anyOf:
                    - type: string
                    - type: 'null'
              description: Repository source information.
            target:
              description: Target configuration for the agent.
              anyOf:
                - type: object
                  properties:
                    autoCreatePr:
                      description: Whether to automatically create a pull request when the agent completes.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                    openAsCursorGithubApp:
                      description: Whether to open the pull request as the Cursor GitHub App instead of as the user. Only applies if autoCreatePr is true.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                    skipReviewerRequest:
                      description: Whether to skip adding the user as a reviewer. Only applies if autoCreatePr is true and openAsCursorGithubApp is true.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                    branchName:
                      description: Custom branch name for the agent to create.
                      anyOf:
                        - type: string
                        - type: 'null'
                    autoBranch:
                      description: Whether to create a new branch (true) or push to the PR existing head branch (false). Only applies when source.prUrl is provided.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                - type: 'null'
          required:
            - type
            - apiKey
            - prompt
            - source
          title: Cursor Agent node config. For more details, visit https://cursor.com/docs/cloud-agent/api/endpoints#launch-an-agent
        - type: object
          properties:
            type:
              type: string
              const: CONDITION
            outlets:
              type: array
              items:
                type: object
                properties:
                  identifier:
                    type: string
                    maxLength: 60
                    pattern: ^[\p{L}0-9@_:-]+$
                  title:
                    default: ''
                    type: string
                    maxLength: 100
                  expression:
                    type: string
                    minLength: 1
                  statusLabel:
                    type: object
                    properties:
                      text:
                        type: string
                        minLength: 1
                        description: The label text. Supports JQ expressions for dynamic content.
                      variant:
                        description: Semantic variant controlling the label color/style.
                        type: string
                        enum:
                          - success
                          - alert
                    required:
                      - text
                  workflowStatusLabel:
                    type: object
                    properties:
                      text:
                        type: string
                        minLength: 1
                        description: The label text. Supports JQ expressions for dynamic content.
                      variant:
                        description: Semantic variant controlling the label color/style.
                        type: string
                        enum:
                          - success
                          - alert
                    required:
                      - text
                required:
                  - identifier
                  - expression
          required:
            - type
            - outlets
          title: Condition object
        - type: object
          properties:
            type:
              type: string
              const: INPUT
            description:
              type: string
            userInputs:
              type: object
              properties:
                properties:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/userInputPropertyInput'
                required:
                  anyOf:
                    - type: array
                      items:
                        type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                order:
                  type: array
                  items:
                    type: string
                titles:
                  type: object
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        minLength: 1
                        maxLength: 140
                      description:
                        type: string
                        maxLength: 1000
                      visible:
                        anyOf:
                          - type: boolean
                          - type: object
                            properties:
                              jqQuery:
                                type: string
                            required:
                              - jqQuery
                    required:
                      - title
                steps:
                  type: array
                  items:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 25
                      order:
                        type: array
                        items:
                          type: string
                      visible:
                        anyOf:
                          - type: boolean
                          - type: object
                            properties:
                              jqQuery:
                                type: string
                            required:
                              - jqQuery
                      validations:
                        maxItems: 10
                        type: array
                        items:
                          type: object
                          properties:
                            engine:
                              default: jq
                              type: string
                              const: jq
                            constraint:
                              type: string
                            message:
                              type: string
                              maxLength: 100
                          required:
                            - constraint
                            - message
                    required:
                      - title
                      - order
                validations:
                  maxItems: 10
                  type: array
                  items:
                    type: object
                    properties:
                      engine:
                        default: jq
                        type: string
                        const: jq
                      constraint:
                        type: string
                      message:
                        type: string
                        maxLength: 100
                    required:
                      - constraint
                      - message
                buttons:
                  type: array
                  items:
                    type: object
                    properties:
                      identifier:
                        type: string
                        maxLength: 60
                        pattern: ^[\p{L}0-9@_:-]+$
                      label:
                        type: string
                      variant:
                        type: string
                        enum:
                          - PRIMARY
                          - SECONDARY
                          - DANGER
                      icon:
                        type: string
                    required:
                      - identifier
                      - label
                      - variant
              required:
                - properties
                - buttons
            outlets:
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      evaluationMethod:
                        type: string
                        const: button
                      identifier:
                        type: string
                        maxLength: 60
                        pattern: ^[\p{L}0-9@_:-]+$
                      title:
                        default: ''
                        type: string
                        maxLength: 100
                      numOfResponders:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                      statusLabel:
                        type: object
                        properties:
                          text:
                            type: string
                            minLength: 1
                            description: The label text. Supports JQ expressions for dynamic content.
                          variant:
                            description: Semantic variant controlling the label color/style.
                            type: string
                            enum:
                              - success
                              - alert
                        required:
                          - text
                      workflowStatusLabel:
                        type: object
                        properties:
                          text:
                            type: string
                            minLength: 1
                            description: The label text. Supports JQ expressions for dynamic content.
                          variant:
                            description: Semantic variant controlling the label color/style.
                            type: string
                            enum:
                              - success
                              - alert
                        required:
                          - text
                    required:
                      - evaluationMethod
                      - identifier
                      - numOfResponders
            notifications:
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      target:
                        type: string
                        const: email
                      fields:
                        type: array
                        items:
                          type: object
                          properties:
                            label:
                              type: string
                            value:
                              type: string
                          required:
                            - label
                            - value
                    required:
                      - target
                      - fields
                  - type: object
                    properties:
                      target:
                        type: string
                        const: webhook
                      url:
                        type: string
                      method:
                        default: POST
                        type: string
                        enum:
                          - GET
                          - POST
                          - PUT
                          - PATCH
                          - DELETE
                      headers:
                        type: object
                        additionalProperties:
                          type: string
                      body:
                        type: object
                        additionalProperties: {}
                      agent:
                        type: boolean
                    required:
                      - target
                      - url
            responders:
              type: object
              properties:
                users:
                  type: array
                  items:
                    type: string
                roles:
                  type: array
                  items:
                    type: string
                teams:
                  type: array
                  items:
                    type: string
                policy:
                  $ref: '#/components/schemas/workflowPermissionQueryInput'
          required:
            - type
            - userInputs
            - outlets
    nodeRunInput:
      type: object
      properties:
        identifier:
          type: string
          pattern: ^wfnr_[a-zA-Z0-9]{16}$
        output:
          default: {}
          type: object
          additionalProperties: {}
        links:
          default: []
          type: array
          items:
            type: string
            format: uri
        status:
          type: string
          enum:
            - COMPLETED
            - IN_PROGRESS
            - CANCELLING
        result:
          anyOf:
            - type: string
              enum:
                - CANCELLED
                - SUCCESS
                - FAILED
                - CACHED
            - type: 'null'
        statusLabel:
          type: object
          properties:
            text:
              type: string
              minLength: 1
              description: The label text. Supports JQ expressions for dynamic content.
            variant:
              description: Semantic variant controlling the label color/style.
              type: string
              enum:
                - success
                - alert
          required:
            - text
        externalRunId:
          anyOf:
            - type: string
            - type: 'null'
        createdAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        updatedAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        completedAt:
          anyOf:
            - type: string
              format: date-time
              pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        node:
          type: object
          properties:
            identifier:
              type: string
          required:
            - identifier
      required:
        - identifier
        - status
        - createdAt
        - updatedAt
        - node
    nodeInput:
      type: object
      properties:
        uid:
          description: Globally unique, node identifier.
          type: string
        identifier:
          type: string
          maxLength: 60
          pattern: ^[\p{L}0-9@_:-]+$
          description: Unique identifier for the node within the workflow.
        title:
          description: Human-readable title for the node.
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        icon:
          description: Icon identifier for the node.
          anyOf:
            - type: string
            - type: 'null'
        description:
          description: Detailed description of the node's purpose.
          anyOf:
            - type: string
              maxLength: 1100
            - type: 'null'
        config:
          $ref: '#/components/schemas/nodeRunConfigInput'
        variables:
          default: {}
          type: object
          additionalProperties:
            type: string
        links:
          description: Link templates (supports `{{ .result.field }}` interpolation) evaluated at node run completion.
          default: []
          maxItems: 3
          type: array
          items:
            type: string
        testOutputs:
          anyOf:
            - default: {}
              type: object
              additionalProperties: {}
            - type: 'null'
        verbose:
          default: false
          description: When true, the workflow service writes extended per-node run logs (e.g. webhook request/response details, upsert parameters).
          type: boolean
      required:
        - identifier
        - config
    workflowBodyInput:
      type: object
      properties:
        identifier:
          type: string
          maxLength: 60
          pattern: ^[\p{L}0-9@_:-]+$
          description: Unique identifier for the workflow.
        title:
          description: Human-readable title for the workflow.
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        icon:
          description: Icon identifier for the workflow.
          anyOf:
            - type: string
            - type: 'null'
        description:
          description: Detailed description of the workflow's purpose.
          anyOf:
            - type: string
              maxLength: 1100
            - type: 'null'
        category:
          description: Category used to group this workflow.
          anyOf:
            - type: string
              maxLength: 40
            - type: 'null'
        allowAnyoneToViewRuns:
          default: true
          description: Whether any user can view workflow runs. Read more in the [configure visibility for action runs  documentation](https://docs.port.io/workflows/runs#configure-visibility-for-action-runs).
          type: boolean
        nodes:
          default: []
          description: List of nodes that make up the workflow.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/nodeInput'
        connections:
          default: []
          type: array
          items:
            type: object
            properties:
              description:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceIdentifier:
                type: string
              targetIdentifier:
                type: string
              sourceOutletIdentifier:
                type: string
              fallback:
                type: boolean
                const: true
            required:
              - sourceIdentifier
              - targetIdentifier
      required:
        - identifier
    workflowInput:
      type: object
      properties:
        uid:
          type: string
          description: Globally unique workflow identifier.
        orgId:
          type: string
        workflowVersionIdentifier:
          type: string
          pattern: ^wfv_[a-zA-Z0-9]{16}$
        identifier:
          type: string
          maxLength: 60
          pattern: ^[\p{L}0-9@_:-]+$
          description: Unique identifier for the workflow.
        title:
          description: Human-readable title for the workflow.
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        icon:
          description: Icon identifier for the workflow.
          anyOf:
            - type: string
            - type: 'null'
        description:
          description: Detailed description of the workflow's purpose.
          anyOf:
            - type: string
              maxLength: 1100
            - type: 'null'
        category:
          description: Category used to group this workflow.
          anyOf:
            - type: string
              maxLength: 40
            - type: 'null'
        allowAnyoneToViewRuns:
          default: true
          description: Whether any user can view workflow runs. Read more in the [configure visibility for action runs  documentation](https://docs.port.io/workflows/runs#configure-visibility-for-action-runs).
          type: boolean
        nodes:
          default: []
          description: List of nodes that make up the workflow.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/nodeInput'
        connections:
          default: []
          type: array
          items:
            type: object
            properties:
              description:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceIdentifier:
                type: string
              targetIdentifier:
                type: string
              sourceOutletIdentifier:
                type: string
              fallback:
                type: boolean
                const: true
            required:
              - sourceIdentifier
              - targetIdentifier
        createdBy:
          type: string
        updatedBy:
          type: string
        createdAt: {}
        updatedAt: {}
      required:
        - uid
        - orgId
        - workflowVersionIdentifier
        - identifier
        - createdBy
        - updatedBy
        - createdAt
        - updatedAt
    workflowRunInput:
      type: object
      properties:
        identifier:
          type: string
          pattern: ^wfr_[a-zA-Z0-9]{16}$
        workflowVersionIdentifier:
          type: string
          pattern: ^wfv_[a-zA-Z0-9]{16}$
        nodeRuns:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/nodeRunInput'
        status:
          type: string
          enum:
            - COMPLETED
            - IN_PROGRESS
            - CANCELLING
        result:
          anyOf:
            - type: string
              enum:
                - CANCELLED
                - SUCCESS
                - FAILED
            - type: 'null'
        statusLabel:
          type: object
          properties:
            text:
              type: string
              minLength: 1
              description: The label text. Supports JQ expressions for dynamic content.
            variant:
              description: Semantic variant controlling the label color/style.
              type: string
              enum:
                - success
                - alert
          required:
            - text
        source:
          default: API
          type: string
          enum:
            - UI
            - API
            - EVENT
            - TEST
            - MCP
        completedAt:
          anyOf:
            - type: string
              format: date-time
              pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        createdAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        updatedAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        workflowVersion:
          anyOf:
            - type: object
              properties:
                versionIdentifier:
                  anyOf:
                    - type: string
                      pattern: ^wfv_[a-zA-Z0-9]{16}$
                    - type: 'null'
                workflow:
                  type: object
                  properties:
                    identifier:
                      type: string
                      maxLength: 60
                      pattern: ^[\p{L}0-9@_:-]+$
                  required:
                    - identifier
              required:
                - workflow
            - type: 'null'
        createdBy:
          type: string
      required:
        - identifier
        - workflowVersionIdentifier
        - status
        - createdAt
        - updatedAt
        - createdBy
    __sharedInput:
      $defs:
        schema0:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
            - type: array
              items:
                $ref: '#/components/schemas/__sharedInput/$defs/schema0'
            - type: object
              propertyNames:
                type: string
              additionalProperties:
                $ref: '#/components/schemas/__sharedInput/$defs/schema0'
        schema1:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
            - type: array
              items:
                $ref: '#/components/schemas/__sharedInput/$defs/schema1'
            - type: object
              propertyNames:
                type: string
              additionalProperties:
                $ref: '#/components/schemas/__sharedInput/$defs/schema1'
        schema2:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
            - type: array
              items:
                $ref: '#/components/schemas/__sharedInput/$defs/schema2'
            - type: object
              propertyNames:
                type: string
              additionalProperties:
                $ref: '#/components/schemas/__sharedInput/$defs/schema2'
    serverError:
      type: object
      properties:
        ok:
          type: boolean
        error:
          type: string
        message:
          type: string
      required:
        - ok
        - error
      additionalProperties: false
    entitiesQuery:
      type: object
      properties:
        combinator:
          type: string
          enum:
            - and
            - or
          description: The logical combinator to use for combining rules
        rules:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/entitiesQuery'
              - anyOf:
                  - type: object
                    properties:
                      property:
                        type: string
                        description: The property to filter on
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The value to compare against
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
                  - type: object
                    properties:
                      relation:
                        type: string
                        description: The relation name to filter on (e.g., "jira_user_assignee"). Use get_blueprint to discover available relations and check "many" field.
                      targetProperty:
                        description: The target property of the relation
                        type: string
                        enum:
                          - $title
                          - $identifier
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                        description: 'For single relations (many: false), use "=". For array relations (many: true), use "contains" with string value or "containsAny" with array value'
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The identifier of the related entity to filter by
                    required:
                      - relation
                      - operator
                      - value
                    additionalProperties: false
                  - type: object
                    properties:
                      scorecard:
                        type: string
                        description: The scorecard to filter on
                      scorecardRule:
                        description: The specific scorecard rule
                        type: string
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - containsAny
                          - contains
                          - doesNotContains
                          - beginsWith
                          - doesNotBeginsWith
                          - endsWith
                          - doesNotEndsWith
                          - in
                          - notIn
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The value to compare against
                    required:
                      - scorecard
                      - operator
                      - value
                    additionalProperties: false
                  - type: object
                    properties:
                      property:
                        type: string
                        description: The property to check existence
                      operator:
                        type: string
                        enum:
                          - isEmpty
                          - isNotEmpty
                        description: The existence operator
                    required:
                      - property
                      - operator
                    additionalProperties: false
                  - type: object
                    properties:
                      relation:
                        type: string
                        description: The relation to check existence
                      targetProperty:
                        description: The target property of the relation
                        type: string
                        enum:
                          - $title
                          - $identifier
                      operator:
                        type: string
                        enum:
                          - isEmpty
                          - isNotEmpty
                        description: The existence operator
                    required:
                      - relation
                      - operator
                    additionalProperties: false
                  - type: object
                    properties:
                      scorecard:
                        type: string
                        description: The scorecard to check existence
                      scorecardRule:
                        description: The specific scorecard rule
                        type: string
                      operator:
                        type: string
                        enum:
                          - isEmpty
                          - isNotEmpty
                        description: The existence operator
                    required:
                      - scorecard
                      - operator
                    additionalProperties: false
                  - type: object
                    properties:
                      property:
                        type: string
                        description: The property to compare
                      operator:
                        type: string
                        enum:
                          - '>'
                          - '>='
                          - <
                          - <=
                          - between
                          - notBetween
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: number
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: object
                            properties:
                              from:
                                anyOf:
                                  - type: number
                                  - type: string
                                    format: date-time
                                    pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              to:
                                anyOf:
                                  - type: number
                                  - type: string
                                    format: date-time
                                    pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - from
                              - to
                            additionalProperties: false
                            description: Date/number range with explicit from and to values
                          - type: object
                            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
                            additionalProperties: false
                            description: Date preset for relative date ranges (e.g., "today", "lastWeek", "last3Months"). Only valid for datetime properties.
                        description: The value to compare against. For between/notBetween on datetime properties, can use preset for relative ranges.
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
                  - type: object
                    properties:
                      operator:
                        type: string
                        const: relatedTo
                        description: Filter entities related to specific entities
                      blueprint:
                        type: string
                        description: The blueprint of the related entities
                      value:
                        anyOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                          - type: object
                            properties:
                              jqQuery:
                                type: string
                            required:
                              - jqQuery
                            additionalProperties: false
                        description: The entity identifier(s) or JQ query
                      direction:
                        description: The direction of the relation
                        type: string
                        enum:
                          - upstream
                          - downstream
                      required:
                        description: Whether the relation is required
                        type: boolean
                    required:
                      - operator
                      - blueprint
                      - value
                    additionalProperties: false
                  - type: object
                    properties:
                      propertySchema:
                        type: object
                        properties:
                          type:
                            type: string
                            description: The property type
                          format:
                            description: The property format
                            type: string
                          items:
                            description: The items schema for array properties
                            type: object
                            properties:
                              type:
                                type: string
                                description: The item type
                              format:
                                type: string
                                description: The item format
                            required:
                              - type
                              - format
                            additionalProperties: false
                        required:
                          - type
                        additionalProperties: false
                        description: The property schema to filter on
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                          - contains
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: 'null'
                          - type: string
                          - type: number
                          - type: boolean
                          - type: array
                            items:
                              type: string
                          - type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        description: The value to compare against
                    required:
                      - propertySchema
                      - operator
                      - value
                    additionalProperties: false
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          path:
                            type: array
                            items:
                              type: string
                            description: The property path
                          fromBlueprint:
                            description: The source blueprint
                            type: string
                        required:
                          - path
                        additionalProperties: false
                        description: The property path to filter on
                      operator:
                        type: string
                        enum:
                          - matchAny
                          - '='
                          - in
                        description: The comparison operator
                      value:
                        anyOf:
                          - type: string
                          - type: array
                            items:
                              type: string
                        description: The value to compare against
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
          description: Array of filter rules to apply
      required:
        - combinator
        - rules
      additionalProperties: false
    workflowPermissionQuery:
      type: object
      properties:
        combinator:
          type: string
          enum:
            - and
            - or
          description: Logical operator to combine permission rules (and/or).
        rules:
          type: array
          items:
            anyOf:
              - anyOf:
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        additionalProperties: false
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - empty
                          - notEmpty
                    required:
                      - property
                      - operator
                    additionalProperties: false
                    title: Empty or NotEmpty condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        additionalProperties: false
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - '='
                          - '!='
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            additionalProperties: false
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: number
                              - type: string
                              - type: boolean
                            title: Number, String, or Boolean value
                          - anyOf:
                              - type: array
                                items:
                                  type: number
                              - type: array
                                items:
                                  type: string
                              - type: array
                                items:
                                  type: boolean
                            title: Number, String, or Boolean array
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
                    title: Equals condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        additionalProperties: false
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - '>'
                          - <
                          - '>='
                          - <=
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            additionalProperties: false
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: number
                              - type: string
                              - type: boolean
                            title: Number, String, or Boolean value
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
                    title: Comparison condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        additionalProperties: false
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - in
                          - notIn
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            additionalProperties: false
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: array
                                items:
                                  type: number
                              - type: array
                                items:
                                  type: string
                              - type: array
                                items:
                                  type: boolean
                            title: Number, String, or Boolean array
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
                    title: In or NotIn condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        additionalProperties: false
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - contains
                          - notContains
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            additionalProperties: false
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: number
                              - type: string
                              - type: boolean
                            title: Number, String, or Boolean value
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
                    title: Contains or NotContains condition
                  - type: object
                    properties:
                      property:
                        type: object
                        properties:
                          context:
                            type: string
                            enum:
                              - userTeams
                              - user
                              - form
                              - workflowRun
                          property:
                            type: string
                        required:
                          - context
                          - property
                        additionalProperties: false
                        title: UserTeams, User, Form, or Workflow Run property
                      operator:
                        type: string
                        enum:
                          - containsAny
                      value:
                        anyOf:
                          - type: object
                            properties:
                              context:
                                type: string
                                enum:
                                  - userTeams
                                  - user
                                  - form
                                  - workflowRun
                              property:
                                type: string
                            required:
                              - context
                              - property
                            additionalProperties: false
                            title: UserTeams, User, Form, or Workflow Run property
                          - anyOf:
                              - type: array
                                items:
                                  type: number
                              - type: array
                                items:
                                  type: string
                              - type: array
                                items:
                                  type: boolean
                            title: Number, String, or Boolean array
                    required:
                      - property
                      - operator
                      - value
                    additionalProperties: false
                    title: ContainsAny condition
                title: Options
              - $ref: '#/components/schemas/workflowPermissionQuery'
          description: List of permission rules to evaluate.
      required:
        - combinator
        - rules
      additionalProperties: false
    objectProperties:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/__shared/$defs/schema0'
    objectAdditionalProperties:
      default: false
      anyOf:
        - type: boolean
        - $ref: '#/components/schemas/__shared/$defs/schema1'
    userInputProperty:
      anyOf:
        - oneOf:
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: boolean
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: boolean
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: boolean
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: date-time
                default:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: Date-time property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: email
                default:
                  anyOf:
                    - type: string
                      format: email
                      pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                enum:
                  anyOf:
                    - type: array
                      items:
                        type: string
                        format: email
                        pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: Email property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: entity
                blueprint:
                  type: string
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                sort:
                  type: object
                  properties:
                    property:
                      type: string
                    order:
                      type: string
                      enum:
                        - ASC
                        - DESC
                  required:
                    - property
                    - order
                  additionalProperties: false
                dataset:
                  type: object
                  properties:
                    combinator:
                      type: string
                      enum:
                        - and
                        - or
                    rules:
                      type: array
                      items:
                        type: object
                        additionalProperties: {}
                  required:
                    - combinator
                    - rules
                  additionalProperties: false
              required:
                - type
                - format
                - blueprint
              additionalProperties: false
              title: Entity property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: team
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: Team property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  anyOf:
                    - type: string
                      const: none
                    - type: string
                      const: multi-line
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                enum:
                  anyOf:
                    - type: array
                      items:
                        type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                enumColors:
                  type: object
                  additionalProperties:
                    type: string
                pattern:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                maxLength:
                  anyOf:
                    - type: number
                      exclusiveMinimum: 0
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                minLength:
                  anyOf:
                    - type: number
                      exclusiveMinimum: 0
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
              additionalProperties: false
              title: String property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: url
                default:
                  anyOf:
                    - type: string
                      format: uri
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: URL property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: markdown
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: Markdown property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: user
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: User property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: yaml
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: YAML property
            - type: object
              properties:
                title:
                  type: string
                  maxLength: 140
                description:
                  type: string
                  maxLength: 1000
                jqQuery:
                  type: 'null'
                dependsOn:
                  type: array
                  items:
                    type: string
                readOnly:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                disabled:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                visible:
                  anyOf:
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
                icon:
                  type: string
                type:
                  type: string
                  const: string
                format:
                  type: string
                  const: proto
                default:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                      title: JQ query default value
              required:
                - type
                - format
              additionalProperties: false
              title: Proto property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: array
            default:
              anyOf:
                - type: array
                  items: {}
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            enum:
              type: array
              items:
                type: array
                items: {}
            items:
              oneOf:
                - oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: entity
                        blueprint:
                          type: string
                        dataset:
                          type: object
                          properties:
                            combinator:
                              type: string
                              enum:
                                - and
                                - or
                            rules:
                              type: array
                              items:
                                type: object
                                additionalProperties: {}
                          required:
                            - combinator
                            - rules
                          additionalProperties: false
                      required:
                        - type
                        - format
                        - blueprint
                      additionalProperties: false
                      title: Entity array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: team
                      required:
                        - type
                        - format
                      additionalProperties: false
                      title: Team array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: user
                      required:
                        - type
                        - format
                      additionalProperties: false
                      title: User array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: date-time
                      required:
                        - type
                        - format
                      additionalProperties: false
                      title: Date-time array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: email
                      required:
                        - type
                        - format
                      additionalProperties: false
                      title: Email array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: url
                      required:
                        - type
                        - format
                      additionalProperties: false
                      title: URL array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: yaml
                      required:
                        - type
                        - format
                      additionalProperties: false
                      title: YAML array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: string
                        format:
                          type: string
                          const: string
                        enum:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: object
                              properties:
                                jqQuery:
                                  type: string
                              required:
                                - jqQuery
                              additionalProperties: false
                              title: JQ query default value
                        enumColors:
                          type: object
                          additionalProperties:
                            type: string
                      required:
                        - type
                      additionalProperties: false
                      title: String array item
                - type: object
                  properties:
                    type:
                      type: string
                      const: number
                    enum:
                      anyOf:
                        - type: array
                          items:
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                        - type: object
                          properties:
                            jqQuery:
                              type: string
                          required:
                            - jqQuery
                          additionalProperties: false
                          title: JQ query default value
                    enumColors:
                      type: object
                      additionalProperties:
                        type: string
                    minimum:
                      type: number
                    maximum:
                      type: number
                    exclusiveMinimum:
                      type: number
                    exclusiveMaximum:
                      type: number
                  required:
                    - type
                  additionalProperties: false
                  title: Number array item
                - oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          const: object
                        format:
                          type: string
                          const: labeled-url
                      required:
                        - type
                        - format
                      additionalProperties: false
                      title: Labeled URL array item
                    - type: object
                      properties:
                        type:
                          type: string
                          const: object
                        format:
                          type: string
                          const: none
                      required:
                        - type
                      additionalProperties: false
                      title: Object array item
            dataset:
              type: object
              properties:
                combinator:
                  type: string
                  enum:
                    - and
                    - or
                rules:
                  type: array
                  items:
                    type: object
                    additionalProperties: {}
              required:
                - combinator
                - rules
              additionalProperties: false
            sort:
              type: object
              properties:
                property:
                  type: string
                order:
                  type: string
                  enum:
                    - ASC
                    - DESC
              required:
                - property
                - order
              additionalProperties: false
            minItems:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            maxItems:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            uniqueItems:
              type: boolean
          required:
            - type
          additionalProperties: false
          title: Array property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: number
            default:
              anyOf:
                - type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            enum:
              anyOf:
                - type: array
                  items:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            minimum:
              type: number
            maximum:
              type: number
            exclusiveMinimum:
              type: number
            exclusiveMaximum:
              type: number
          required:
            - type
          additionalProperties: false
          title: Number property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: object
            format:
              type: string
              const: none
            default:
              anyOf:
                - type: object
                  properties: {}
                  additionalProperties: {}
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            enum:
              type: array
              items:
                type: object
                properties: {}
                additionalProperties: {}
            properties:
              $ref: '#/components/schemas/objectProperties'
            additionalProperties:
              $ref: '#/components/schemas/objectAdditionalProperties'
            patternProperties:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/__shared/$defs/schema2'
            required:
              type: array
              items:
                type: string
          required:
            - type
            - additionalProperties
          additionalProperties: false
          title: Object property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              type: boolean
            disabled:
              type: boolean
            visible:
              type: boolean
            icon:
              type: string
            type:
              type: string
              const: object
            format:
              type: string
              const: multi-line
          required:
            - type
            - format
          additionalProperties: false
          title: Object secret property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: object
            format:
              type: string
              const: labeled-url
            default:
              anyOf:
                - type: object
                  properties:
                    url:
                      type: string
                    displayText:
                      type: string
                  required:
                    - url
                  additionalProperties: false
                  title: Labeled URL object
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
          required:
            - type
            - format
          additionalProperties: false
          title: Labeled URL property
        - type: object
          properties:
            title:
              type: string
              maxLength: 140
            description:
              type: string
              maxLength: 1000
            jqQuery:
              type: 'null'
            dependsOn:
              type: array
              items:
                type: string
            readOnly:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            disabled:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            visible:
              anyOf:
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
            icon:
              type: string
            type:
              type: string
              const: boolean
            default:
              anyOf:
                - type: boolean
                - type: object
                  properties:
                    jqQuery:
                      type: string
                  required:
                    - jqQuery
                  additionalProperties: false
                  title: JQ query default value
          required:
            - type
          additionalProperties: false
          title: Toggle property
    userInputs:
      type: object
      properties:
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/userInputProperty'
        required:
          anyOf:
            - type: array
              items:
                type: string
            - type: object
              properties:
                jqQuery:
                  type: string
              required:
                - jqQuery
              additionalProperties: false
        order:
          type: array
          items:
            type: string
        titles:
          type: object
          additionalProperties:
            type: object
            properties:
              title:
                type: string
                minLength: 1
                maxLength: 140
              description:
                type: string
                maxLength: 1000
              visible:
                anyOf:
                  - type: boolean
                  - type: object
                    properties:
                      jqQuery:
                        type: string
                    required:
                      - jqQuery
                    additionalProperties: false
            required:
              - title
            additionalProperties: false
        steps:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
                maxLength: 25
              order:
                type: array
                items:
                  type: string
              visible:
                anyOf:
                  - type: boolean
                  - type: object
                    properties:
                      jqQuery:
                        type: string
                    required:
                      - jqQuery
                    additionalProperties: false
              validations:
                maxItems: 10
                type: array
                items:
                  type: object
                  properties:
                    engine:
                      default: jq
                      type: string
                      const: jq
                    constraint:
                      type: string
                    message:
                      type: string
                      maxLength: 100
                  required:
                    - engine
                    - constraint
                    - message
                  additionalProperties: false
            required:
              - title
              - order
            additionalProperties: false
        validations:
          maxItems: 10
          type: array
          items:
            type: object
            properties:
              engine:
                default: jq
                type: string
                const: jq
              constraint:
                type: string
              message:
                type: string
                maxLength: 100
            required:
              - engine
              - constraint
              - message
            additionalProperties: false
      required:
        - properties
      additionalProperties: false
    kafkaInvocationMethod:
      type: object
      properties:
        type:
          type: string
          const: KAFKA
          description: The type of invocation method to use for this node.
        payload:
          description: The payload of the Kafka message.
          anyOf:
            - anyOf:
                - type: array
                  items: {}
                - type: object
                  additionalProperties: {}
            - type: 'null'
        onFailure:
          description: The action to take if the Kafka message fails.
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
      additionalProperties: false
    webhookInvocationMethod:
      type: object
      properties:
        type:
          type: string
          const: WEBHOOK
          description: The type of invocation method to use for this node.
        url:
          type: string
          description: The URL of the webhook.
        agent:
          description: Whether the webhook is an agent.
          anyOf:
            - default: false
              type: boolean
            - type: 'null'
        synchronized:
          description: Whether the webhook is synchronized.
          anyOf:
            - default: true
              type: boolean
            - type: 'null'
        method:
          anyOf:
            - default: POST
              type: string
              enum:
                - GET
                - POST
                - PUT
                - PATCH
                - DELETE
            - type: 'null'
        headers:
          description: The headers of the webhook.
          anyOf:
            - type: object
              additionalProperties:
                anyOf:
                  - type: string
                  - type: 'null'
            - type: 'null'
        body:
          description: The body of the webhook.
          anyOf:
            - anyOf:
                - type: array
                  items: {}
                - type: object
                  additionalProperties: {}
            - type: 'null'
        onTimeout:
          description: The action to take if the webhook times out.
          anyOf:
            - default: fail
              type: string
              enum:
                - fail
                - continue
            - type: 'null'
        onFailure:
          description: The action to take if the webhook fails.
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
        - url
      additionalProperties: false
    integrationActionInvocationMethod:
      type: object
      properties:
        type:
          type: string
          const: INTEGRATION_ACTION
        installationId:
          description: The installation ID of the integration action. Omit when deferIntegrationInstallation is true — the backend fills it with the provider type (the install modal default id). The user completes setup via the workflow setup checklist.
          type: string
        integrationProvider:
          type: string
          description: The provider of the integration action.
        integrationInvocationType:
          type: string
          description: The invocation type of the integration action.
        integrationActionExecutionProperties: {}
        deferIntegrationInstallation:
          description: When true, allows saving the workflow before the integration is installed. Omit installationId (backend sets it to integrationProvider) or set installationId equal to integrationProvider. The user finishes setup via the workflow setup checklist.
          type: boolean
        onFailure:
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
        - integrationProvider
        - integrationInvocationType
        - integrationActionExecutionProperties
      additionalProperties: false
    upsertEntityInvocationMethod:
      type: object
      properties:
        type:
          type: string
          const: UPSERT_ENTITY
          description: The type of invocation method to use for this node.
        blueprintIdentifier:
          type: string
          description: The identifier of the blueprint you want to upsert.
        mapping:
          type: object
          properties:
            identifier:
              description: The identifier of the entity you want to upsert.
              anyOf:
                - type: string
                - type: 'null'
            title:
              description: The title of the entity you want to upsert.
              anyOf:
                - type: string
                - type: 'null'
            team:
              description: The team of the entity you want to upsert.
              anyOf:
                - anyOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                - type: 'null'
            icon:
              description: The icon of the entity you want to upsert.
              anyOf:
                - type: string
                - type: 'null'
            properties:
              description: The properties of the entity you want to upsert.
              anyOf:
                - type: object
                  additionalProperties: {}
                - type: 'null'
            relations:
              description: The relations of the entity you want to upsert.
              anyOf:
                - type: object
                  additionalProperties:
                    anyOf:
                      - type: string
                      - type: array
                        items:
                          type: string
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      - type: 'null'
                - type: 'null'
          additionalProperties: false
        onFailure:
          description: The action to take if the upsert entity fails.
          anyOf:
            - default: terminate
              type: string
              enum:
                - continue
                - terminate
            - type: 'null'
      required:
        - type
        - blueprintIdentifier
        - mapping
      additionalProperties: false
    aIAgentInvocationMethod:
      type: object
      properties:
        type:
          type: string
          const: AI_AGENT
        userPrompt:
          type: string
          description: The user's message or query to be processed by Port AI.
        agentIdentifier:
          type: string
          description: The identifier of the agent you want to operate on.
        provider:
          description: The AI provider to use for this invocation. If not specified, the default provider will be used.
          anyOf:
            - type: string
            - type: 'null'
        model:
          description: The AI model to use for this invocation. If not specified, the default model will be used.
          anyOf:
            - type: string
            - type: 'null'
        outputSchema:
          description: JSON Schema for structured output validation. When provided, the AI response will be validated against this schema.
          anyOf:
            - type: object
              properties:
                type:
                  type: string
                  const: object
                properties:
                  type: object
                  additionalProperties: {}
                required:
                  type: array
                  items:
                    type: string
              required:
                - type
              additionalProperties: {}
            - type: 'null'
      required:
        - type
        - userPrompt
        - agentIdentifier
      additionalProperties: false
    aIInvocationMethod:
      type: object
      properties:
        type:
          type: string
          const: AI
        userPrompt:
          type: string
          description: The user's message or query to be processed by Port AI.
        provider:
          description: The AI provider to use for this invocation. If not specified, the default provider will be used.
          anyOf:
            - type: string
            - type: 'null'
        model:
          anyOf:
            - type: string
            - type: 'null'
        systemPrompt:
          default: ''
          description: A set of instructions that guides an AI's behavior and responses by providing its role, persona, and operational rules at the beginning of an interaction.
          type: string
        tools:
          default: []
          type: array
          items:
            type: string
          description: List of Regex values to match against the tools names. To learn more about the available tools, refer to the [documentation](https://docs.port.io/ai-interfaces/port-ai/overview?execution-modes=manual#available-tools).
        mcpServers:
          anyOf:
            - maxItems: 5
              type: array
              items:
                type: object
                properties:
                  identifier:
                    type: string
                required:
                  - identifier
                additionalProperties: false
            - type: 'null'
        outputSchema:
          description: JSON Schema for structured output validation. When provided, the AI response will be validated against this schema.
          anyOf:
            - type: object
              properties:
                type:
                  type: string
                  const: object
                properties:
                  type: object
                  additionalProperties: {}
                required:
                  type: array
                  items:
                    type: string
              required:
                - type
              additionalProperties: {}
            - type: 'null'
      required:
        - type
        - userPrompt
        - systemPrompt
        - tools
      additionalProperties: false
    nodeRunConfig:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              const: SELF_SERVE_TRIGGER
            userInputs:
              $ref: '#/components/schemas/userInputs'
            actionCardButtonText:
              type: string
              minLength: 1
              maxLength: 15
              pattern: ^[^\s].*[^\s]$
            executeActionButtonText:
              type: string
              minLength: 1
              maxLength: 15
              pattern: ^[^\s].*[^\s]$
            published:
              default: true
              type: boolean
            permissions:
              type: object
              properties:
                users:
                  type: array
                  items:
                    type: string
                roles:
                  type: array
                  items:
                    type: string
                teams:
                  type: array
                  items:
                    type: string
                policy:
                  $ref: '#/components/schemas/workflowPermissionQuery'
              additionalProperties: false
            variant:
              type: string
              enum:
                - DEFAULT
                - ALERT
            contexts:
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      'on':
                        type: string
                        const: CREATE_ENTITY
                      blueprintIdentifier:
                        type: string
                        minLength: 1
                    required:
                      - 'on'
                      - blueprintIdentifier
                    additionalProperties: false
                    title: Create-entity trigger context
                  - type: object
                    properties:
                      'on':
                        type: string
                        const: ENTITY
                      userInput:
                        type: string
                        minLength: 1
                    required:
                      - 'on'
                      - userInput
                    additionalProperties: false
                    title: Entity trigger context
                title: Trigger context
          required:
            - type
          additionalProperties: false
          title: Self-serve trigger config
        - type: object
          properties:
            type:
              type: string
              const: EVENT_TRIGGER
            event:
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      const: ENTITY_CREATED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  additionalProperties: false
                  title: Entity created event
                - type: object
                  properties:
                    type:
                      type: string
                      const: ENTITY_UPDATED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  additionalProperties: false
                  title: Entity updated event
                - type: object
                  properties:
                    type:
                      type: string
                      const: ENTITY_DELETED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  additionalProperties: false
                  title: Entity deleted event
                - type: object
                  properties:
                    type:
                      type: string
                      const: TIMER_EXPIRED
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                    propertyIdentifier:
                      type: string
                  required:
                    - type
                    - blueprintIdentifier
                    - propertyIdentifier
                  additionalProperties: false
                  title: Timer expired event
                - type: object
                  properties:
                    type:
                      type: string
                      const: ANY_ENTITY_CHANGE
                    blueprintIdentifier:
                      type: string
                      minLength: 1
                  required:
                    - type
                    - blueprintIdentifier
                  additionalProperties: false
                  title: Any entity change event
            condition:
              type: object
              properties:
                type:
                  type: string
                  const: JQ
                expressions:
                  type: array
                  items:
                    type: string
                combinator:
                  type: string
                  enum:
                    - and
                    - or
              required:
                - type
                - expressions
              additionalProperties: false
            published:
              default: true
              type: boolean
          required:
            - type
            - event
          additionalProperties: false
          title: Event trigger config
        - type: object
          properties:
            type:
              type: string
              const: SCHEDULE_TRIGGER
            cron:
              type: string
              minLength: 1
              description: Cron expression defining when the workflow triggers (e.g. "0 9 * * 1-5").
            published:
              default: true
              type: boolean
          required:
            - type
            - cron
          additionalProperties: false
          title: Schedule trigger config
        - $ref: '#/components/schemas/kafkaInvocationMethod'
        - $ref: '#/components/schemas/webhookInvocationMethod'
        - $ref: '#/components/schemas/integrationActionInvocationMethod'
        - $ref: '#/components/schemas/upsertEntityInvocationMethod'
        - $ref: '#/components/schemas/aIAgentInvocationMethod'
        - $ref: '#/components/schemas/aIInvocationMethod'
        - type: object
          properties:
            type:
              type: string
              const: CURSOR_AGENT
              description: The type of invocation method to use for this node.
            apiKey:
              type: string
              description: Cursor API key for authentication. Store as a Port secret and reference via JQ.
            prompt:
              type: object
              properties:
                text:
                  type: string
                  description: Task instructions passed to the Cursor agent. Supports Port dynamic expressions.
              required:
                - text
              additionalProperties: false
              description: The task prompt for the agent.
            model:
              description: Model ID (e.g. claude-sonnet-4-5), or "default" to use the configured default model.
              anyOf:
                - type: string
                - type: 'null'
            source:
              type: object
              properties:
                repository:
                  description: GitHub repository URL (e.g. https://github.com/your-org/your-repo). Required unless prUrl is provided.
                  anyOf:
                    - type: string
                    - type: 'null'
                ref:
                  description: Git ref (branch name, tag, or commit hash) to use as the base branch.
                  anyOf:
                    - type: string
                    - type: 'null'
                prUrl:
                  description: GitHub pull request URL. When provided, repository and ref are ignored.
                  anyOf:
                    - type: string
                    - type: 'null'
              additionalProperties: false
              description: Repository source information.
            target:
              description: Target configuration for the agent.
              anyOf:
                - type: object
                  properties:
                    autoCreatePr:
                      description: Whether to automatically create a pull request when the agent completes.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                    openAsCursorGithubApp:
                      description: Whether to open the pull request as the Cursor GitHub App instead of as the user. Only applies if autoCreatePr is true.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                    skipReviewerRequest:
                      description: Whether to skip adding the user as a reviewer. Only applies if autoCreatePr is true and openAsCursorGithubApp is true.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                    branchName:
                      description: Custom branch name for the agent to create.
                      anyOf:
                        - type: string
                        - type: 'null'
                    autoBranch:
                      description: Whether to create a new branch (true) or push to the PR existing head branch (false). Only applies when source.prUrl is provided.
                      anyOf:
                        - type: boolean
                        - type: 'null'
                  additionalProperties: false
                - type: 'null'
          required:
            - type
            - apiKey
            - prompt
            - source
          additionalProperties: false
          title: Cursor Agent node config. For more details, visit https://cursor.com/docs/cloud-agent/api/endpoints#launch-an-agent
        - type: object
          properties:
            type:
              type: string
              const: CONDITION
            outlets:
              type: array
              items:
                type: object
                properties:
                  identifier:
                    type: string
                    maxLength: 60
                    pattern: ^[\p{L}0-9@_:-]+$
                  title:
                    default: ''
                    type: string
                    maxLength: 100
                  expression:
                    type: string
                    minLength: 1
                  statusLabel:
                    type: object
                    properties:
                      text:
                        type: string
                        minLength: 1
                        description: The label text. Supports JQ expressions for dynamic content.
                      variant:
                        description: Semantic variant controlling the label color/style.
                        type: string
                        enum:
                          - success
                          - alert
                    required:
                      - text
                    additionalProperties: false
                  workflowStatusLabel:
                    type: object
                    properties:
                      text:
                        type: string
                        minLength: 1
                        description: The label text. Supports JQ expressions for dynamic content.
                      variant:
                        description: Semantic variant controlling the label color/style.
                        type: string
                        enum:
                          - success
                          - alert
                    required:
                      - text
                    additionalProperties: false
                required:
                  - identifier
                  - title
                  - expression
                additionalProperties: false
          required:
            - type
            - outlets
          additionalProperties: false
          title: Condition object
        - type: object
          properties:
            type:
              type: string
              const: INPUT
            description:
              type: string
            userInputs:
              type: object
              properties:
                properties:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/userInputProperty'
                required:
                  anyOf:
                    - type: array
                      items:
                        type: string
                    - type: object
                      properties:
                        jqQuery:
                          type: string
                      required:
                        - jqQuery
                      additionalProperties: false
                order:
                  type: array
                  items:
                    type: string
                titles:
                  type: object
                  additionalProperties:
                    type: object
                    properties:
                      title:
                        type: string
                        minLength: 1
                        maxLength: 140
                      description:
                        type: string
                        maxLength: 1000
                      visible:
                        anyOf:
                          - type: boolean
                          - type: object
                            properties:
                              jqQuery:
                                type: string
                            required:
                              - jqQuery
                            additionalProperties: false
                    required:
                      - title
                    additionalProperties: false
                steps:
                  type: array
                  items:
                    type: object
                    properties:
                      title:
                        type: string
                        maxLength: 25
                      order:
                        type: array
                        items:
                          type: string
                      visible:
                        anyOf:
                          - type: boolean
                          - type: object
                            properties:
                              jqQuery:
                                type: string
                            required:
                              - jqQuery
                            additionalProperties: false
                      validations:
                        maxItems: 10
                        type: array
                        items:
                          type: object
                          properties:
                            engine:
                              default: jq
                              type: string
                              const: jq
                            constraint:
                              type: string
                            message:
                              type: string
                              maxLength: 100
                          required:
                            - engine
                            - constraint
                            - message
                          additionalProperties: false
                    required:
                      - title
                      - order
                    additionalProperties: false
                validations:
                  maxItems: 10
                  type: array
                  items:
                    type: object
                    properties:
                      engine:
                        default: jq
                        type: string
                        const: jq
                      constraint:
                        type: string
                      message:
                        type: string
                        maxLength: 100
                    required:
                      - engine
                      - constraint
                      - message
                    additionalProperties: false
                buttons:
                  type: array
                  items:
                    type: object
                    properties:
                      identifier:
                        type: string
                        maxLength: 60
                        pattern: ^[\p{L}0-9@_:-]+$
                      label:
                        type: string
                      variant:
                        type: string
                        enum:
                          - PRIMARY
                          - SECONDARY
                          - DANGER
                      icon:
                        type: string
                    required:
                      - identifier
                      - label
                      - variant
                    additionalProperties: false
              required:
                - properties
                - buttons
              additionalProperties: false
            outlets:
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      evaluationMethod:
                        type: string
                        const: button
                      identifier:
                        type: string
                        maxLength: 60
                        pattern: ^[\p{L}0-9@_:-]+$
                      title:
                        default: ''
                        type: string
                        maxLength: 100
                      numOfResponders:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                      statusLabel:
                        type: object
                        properties:
                          text:
                            type: string
                            minLength: 1
                            description: The label text. Supports JQ expressions for dynamic content.
                          variant:
                            description: Semantic variant controlling the label color/style.
                            type: string
                            enum:
                              - success
                              - alert
                        required:
                          - text
                        additionalProperties: false
                      workflowStatusLabel:
                        type: object
                        properties:
                          text:
                            type: string
                            minLength: 1
                            description: The label text. Supports JQ expressions for dynamic content.
                          variant:
                            description: Semantic variant controlling the label color/style.
                            type: string
                            enum:
                              - success
                              - alert
                        required:
                          - text
                        additionalProperties: false
                    required:
                      - evaluationMethod
                      - identifier
                      - title
                      - numOfResponders
                    additionalProperties: false
            notifications:
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      target:
                        type: string
                        const: email
                      fields:
                        type: array
                        items:
                          type: object
                          properties:
                            label:
                              type: string
                            value:
                              type: string
                          required:
                            - label
                            - value
                          additionalProperties: false
                    required:
                      - target
                      - fields
                    additionalProperties: false
                  - type: object
                    properties:
                      target:
                        type: string
                        const: webhook
                      url:
                        type: string
                      method:
                        default: POST
                        type: string
                        enum:
                          - GET
                          - POST
                          - PUT
                          - PATCH
                          - DELETE
                      headers:
                        type: object
                        additionalProperties:
                          type: string
                      body:
                        type: object
                        additionalProperties: {}
                      agent:
                        type: boolean
                    required:
                      - target
                      - url
                      - method
                    additionalProperties: false
            responders:
              type: object
              properties:
                users:
                  type: array
                  items:
                    type: string
                roles:
                  type: array
                  items:
                    type: string
                teams:
                  type: array
                  items:
                    type: string
                policy:
                  $ref: '#/components/schemas/workflowPermissionQuery'
              additionalProperties: false
          required:
            - type
            - userInputs
            - outlets
          additionalProperties: false
    nodeRun:
      type: object
      properties:
        identifier:
          type: string
          pattern: ^wfnr_[a-zA-Z0-9]{16}$
        output:
          default: {}
          type: object
          additionalProperties: {}
        links:
          default: []
          type: array
          items:
            type: string
            format: uri
        status:
          type: string
          enum:
            - COMPLETED
            - IN_PROGRESS
            - CANCELLING
        result:
          anyOf:
            - type: string
              enum:
                - CANCELLED
                - SUCCESS
                - FAILED
                - CACHED
            - type: 'null'
        statusLabel:
          type: object
          properties:
            text:
              type: string
              minLength: 1
              description: The label text. Supports JQ expressions for dynamic content.
            variant:
              description: Semantic variant controlling the label color/style.
              type: string
              enum:
                - success
                - alert
          required:
            - text
          additionalProperties: false
        externalRunId:
          anyOf:
            - type: string
            - type: 'null'
        createdAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        updatedAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        completedAt:
          anyOf:
            - type: string
              format: date-time
              pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        node:
          type: object
          properties:
            identifier:
              type: string
          required:
            - identifier
          additionalProperties: false
      required:
        - identifier
        - links
        - status
        - createdAt
        - updatedAt
        - node
      additionalProperties: false
    node:
      type: object
      properties:
        uid:
          description: Globally unique, node identifier.
          type: string
        identifier:
          type: string
          maxLength: 60
          pattern: ^[\p{L}0-9@_:-]+$
          description: Unique identifier for the node within the workflow.
        title:
          description: Human-readable title for the node.
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        icon:
          description: Icon identifier for the node.
          anyOf:
            - type: string
            - type: 'null'
        description:
          description: Detailed description of the node's purpose.
          anyOf:
            - type: string
              maxLength: 1100
            - type: 'null'
        config:
          $ref: '#/components/schemas/nodeRunConfig'
        variables:
          default: {}
          type: object
          additionalProperties:
            type: string
        links:
          description: Link templates (supports `{{ .result.field }}` interpolation) evaluated at node run completion.
          default: []
          maxItems: 3
          type: array
          items:
            type: string
        testOutputs:
          anyOf:
            - default: {}
              type: object
              additionalProperties: {}
            - type: 'null'
        verbose:
          default: false
          description: When true, the workflow service writes extended per-node run logs (e.g. webhook request/response details, upsert parameters).
          type: boolean
      required:
        - identifier
        - config
        - variables
        - verbose
      additionalProperties: false
    workflowBody:
      type: object
      properties:
        identifier:
          type: string
          maxLength: 60
          pattern: ^[\p{L}0-9@_:-]+$
          description: Unique identifier for the workflow.
        title:
          description: Human-readable title for the workflow.
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        icon:
          description: Icon identifier for the workflow.
          anyOf:
            - type: string
            - type: 'null'
        description:
          description: Detailed description of the workflow's purpose.
          anyOf:
            - type: string
              maxLength: 1100
            - type: 'null'
        category:
          description: Category used to group this workflow.
          anyOf:
            - type: string
              maxLength: 40
            - type: 'null'
        allowAnyoneToViewRuns:
          default: true
          description: Whether any user can view workflow runs. Read more in the [configure visibility for action runs  documentation](https://docs.port.io/workflows/runs#configure-visibility-for-action-runs).
          type: boolean
        nodes:
          default: []
          description: List of nodes that make up the workflow.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/node'
        connections:
          default: []
          type: array
          items:
            type: object
            properties:
              description:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceIdentifier:
                type: string
              targetIdentifier:
                type: string
              sourceOutletIdentifier:
                type: string
              fallback:
                type: boolean
                const: true
            required:
              - sourceIdentifier
              - targetIdentifier
            additionalProperties: false
      required:
        - identifier
        - allowAnyoneToViewRuns
        - nodes
        - connections
      additionalProperties: false
    workflow:
      type: object
      properties:
        uid:
          type: string
          description: Globally unique workflow identifier.
        orgId:
          type: string
        workflowVersionIdentifier:
          type: string
          pattern: ^wfv_[a-zA-Z0-9]{16}$
        identifier:
          type: string
          maxLength: 60
          pattern: ^[\p{L}0-9@_:-]+$
          description: Unique identifier for the workflow.
        title:
          description: Human-readable title for the workflow.
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        icon:
          description: Icon identifier for the workflow.
          anyOf:
            - type: string
            - type: 'null'
        description:
          description: Detailed description of the workflow's purpose.
          anyOf:
            - type: string
              maxLength: 1100
            - type: 'null'
        category:
          description: Category used to group this workflow.
          anyOf:
            - type: string
              maxLength: 40
            - type: 'null'
        allowAnyoneToViewRuns:
          default: true
          description: Whether any user can view workflow runs. Read more in the [configure visibility for action runs  documentation](https://docs.port.io/workflows/runs#configure-visibility-for-action-runs).
          type: boolean
        nodes:
          default: []
          description: List of nodes that make up the workflow.
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/node'
        connections:
          default: []
          type: array
          items:
            type: object
            properties:
              description:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceIdentifier:
                type: string
              targetIdentifier:
                type: string
              sourceOutletIdentifier:
                type: string
              fallback:
                type: boolean
                const: true
            required:
              - sourceIdentifier
              - targetIdentifier
            additionalProperties: false
        createdBy:
          type: string
        updatedBy:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - uid
        - orgId
        - workflowVersionIdentifier
        - identifier
        - allowAnyoneToViewRuns
        - nodes
        - connections
        - createdBy
        - updatedBy
        - createdAt
        - updatedAt
      additionalProperties: false
    workflowRun:
      type: object
      properties:
        identifier:
          type: string
          pattern: ^wfr_[a-zA-Z0-9]{16}$
        workflowVersionIdentifier:
          type: string
          pattern: ^wfv_[a-zA-Z0-9]{16}$
        nodeRuns:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/nodeRun'
        status:
          type: string
          enum:
            - COMPLETED
            - IN_PROGRESS
            - CANCELLING
        result:
          anyOf:
            - type: string
              enum:
                - CANCELLED
                - SUCCESS
                - FAILED
            - type: 'null'
        statusLabel:
          type: object
          properties:
            text:
              type: string
              minLength: 1
              description: The label text. Supports JQ expressions for dynamic content.
            variant:
              description: Semantic variant controlling the label color/style.
              type: string
              enum:
                - success
                - alert
          required:
            - text
          additionalProperties: false
        source:
          default: API
          type: string
          enum:
            - UI
            - API
            - EVENT
            - TEST
            - MCP
        completedAt:
          anyOf:
            - type: string
              format: date-time
              pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        createdAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        updatedAt:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        workflowVersion:
          anyOf:
            - type: object
              properties:
                versionIdentifier:
                  anyOf:
                    - type: string
                      pattern: ^wfv_[a-zA-Z0-9]{16}$
                    - type: 'null'
                workflow:
                  type: object
                  properties:
                    identifier:
                      type: string
                      maxLength: 60
                      pattern: ^[\p{L}0-9@_:-]+$
                  required:
                    - identifier
                  additionalProperties: false
              required:
                - workflow
              additionalProperties: false
            - type: 'null'
        createdBy:
          type: string
      required:
        - identifier
        - workflowVersionIdentifier
        - nodeRuns
        - status
        - source
        - createdAt
        - updatedAt
        - createdBy
      additionalProperties: false
    __shared:
      $defs:
        schema0:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
            - type: array
              items:
                $ref: '#/components/schemas/__shared/$defs/schema0'
            - type: object
              propertyNames:
                type: string
              additionalProperties:
                $ref: '#/components/schemas/__shared/$defs/schema0'
        schema1:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
            - type: array
              items:
                $ref: '#/components/schemas/__shared/$defs/schema1'
            - type: object
              propertyNames:
                type: string
              additionalProperties:
                $ref: '#/components/schemas/__shared/$defs/schema1'
        schema2:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
            - type: array
              items:
                $ref: '#/components/schemas/__shared/$defs/schema2'
            - type: object
              propertyNames:
                type: string
              additionalProperties:
                $ref: '#/components/schemas/__shared/$defs/schema2'
    responseBaseInput:
      type: object
      properties:
        ok:
          type: boolean
      required:
        - ok
    serverErrorInput_asset-service:
      type: object
      properties:
        ok:
          type: boolean
        error:
          type: string
        message:
          type: string
      required:
        - ok
    pluginInput:
      type: object
      properties:
        orgId:
          type: string
        identifier:
          type: string
        title:
          type: string
          minLength: 1
          maxLength: 100
        description:
          anyOf:
            - type: string
              maxLength: 2000
            - type: 'null'
        createdAt:
          type: string
        updatedAt:
          type: string
        creatorId:
          type: string
        lastUpdatedBy:
          type: string
        size:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        fileKey:
          type: string
        params:
          anyOf:
            - type: object
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                  isRequired:
                    type: boolean
                  label:
                    type: string
                required:
                  - type
                  - isRequired
            - type: 'null'
        source:
          type: string
          enum:
            - user
            - port_ai
            - plugins_repo
      required:
        - orgId
        - identifier
        - title
        - createdAt
        - updatedAt
        - creatorId
        - lastUpdatedBy
        - size
        - fileKey
        - params
        - source
    createAndGetPluginUploadUrlBodyInput:
      type: object
      properties:
        identifier:
          type: string
          minLength: 1
          maxLength: 100
          pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
      required:
        - identifier
    createAndGetPluginUploadUrlResponseInput:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            url:
              type: string
              format: uri
            fields:
              type: object
              additionalProperties:
                type: string
            expiresInSeconds:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            key:
              type: string
          required:
            - url
            - fields
            - expiresInSeconds
            - key
      required:
        - ok
        - data
    finalizePluginUploadBodyInput:
      type: object
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 100
        identifier:
          type: string
          minLength: 1
          maxLength: 100
          pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
        description:
          type: string
          maxLength: 2000
        params:
          type: object
          additionalProperties:
            type: object
            properties:
              type:
                type: string
                enum:
                  - string
                  - number
                  - boolean
                  - array
                  - object
                  - blueprint
              isRequired:
                type: boolean
              label:
                type: string
            required:
              - type
              - isRequired
      required:
        - title
        - identifier
    finalizePluginUploadResponseInput:
      type: object
      properties:
        ok:
          type: boolean
        data:
          $ref: '#/components/schemas/pluginInput'
      required:
        - ok
        - data
    listPluginsResponseInput:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: array
          items:
            type: object
            properties:
              identifier:
                type: string
              title:
                type: string
                minLength: 1
                maxLength: 100
              description:
                anyOf:
                  - type: string
                    maxLength: 2000
                  - type: 'null'
              createdAt:
                type: string
              updatedAt:
                type: string
              creatorId:
                type: string
              lastUpdatedBy:
                type: string
              size:
                type: integer
                exclusiveMinimum: 0
                maximum: 9007199254740991
              params:
                anyOf:
                  - type: object
                    additionalProperties:
                      type: object
                      properties:
                        type:
                          type: string
                        isRequired:
                          type: boolean
                        label:
                          type: string
                      required:
                        - type
                        - isRequired
                  - type: 'null'
              source:
                type: string
                enum:
                  - user
                  - port_ai
                  - plugins_repo
            required:
              - identifier
              - title
              - createdAt
              - updatedAt
              - creatorId
              - lastUpdatedBy
              - size
              - params
              - source
      required:
        - ok
        - data
    updatePluginMetadataBodyInput:
      type: object
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 100
        description:
          anyOf:
            - type: string
              maxLength: 2000
            - type: 'null'
        params:
          anyOf:
            - type: object
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - string
                      - number
                      - boolean
                      - array
                      - object
                      - blueprint
                  isRequired:
                    type: boolean
                  label:
                    type: string
                required:
                  - type
                  - isRequired
            - type: 'null'
    updatePluginMetadataResponseInput:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            identifier:
              type: string
            title:
              type: string
              minLength: 1
              maxLength: 100
            description:
              anyOf:
                - type: string
                  maxLength: 2000
                - type: 'null'
            createdAt:
              type: string
            updatedAt:
              type: string
            creatorId:
              type: string
            lastUpdatedBy:
              type: string
            size:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            params:
              anyOf:
                - type: object
                  additionalProperties:
                    type: object
                    properties:
                      type:
                        type: string
                      isRequired:
                        type: boolean
                      label:
                        type: string
                    required:
                      - type
                      - isRequired
                - type: 'null'
            source:
              type: string
              enum:
                - user
                - port_ai
                - plugins_repo
          required:
            - identifier
            - title
            - createdAt
            - updatedAt
            - creatorId
            - lastUpdatedBy
            - size
            - params
            - source
      required:
        - ok
        - data
    getPluginByIdentifierResponseInput:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            identifier:
              type: string
            title:
              type: string
              minLength: 1
              maxLength: 100
            description:
              anyOf:
                - type: string
                  maxLength: 2000
                - type: 'null'
            createdAt:
              type: string
            updatedAt:
              type: string
            creatorId:
              type: string
            lastUpdatedBy:
              type: string
            size:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            params:
              anyOf:
                - type: object
                  additionalProperties:
                    type: object
                    properties:
                      type:
                        type: string
                      isRequired:
                        type: boolean
                      label:
                        type: string
                    required:
                      - type
                      - isRequired
                - type: 'null'
            source:
              type: string
              enum:
                - user
                - port_ai
                - plugins_repo
          required:
            - identifier
            - title
            - createdAt
            - updatedAt
            - creatorId
            - lastUpdatedBy
            - size
            - params
            - source
      required:
        - ok
        - data
    deletePluginResponseInput:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            deleted:
              type: boolean
              const: true
          required:
            - deleted
      required:
        - ok
        - data
    responseBase:
      type: object
      properties:
        ok:
          type: boolean
      required:
        - ok
      additionalProperties: false
    serverError_asset-service:
      type: object
      properties:
        ok:
          type: boolean
        error:
          type: string
        message:
          type: string
      required:
        - ok
      additionalProperties: false
    plugin:
      type: object
      properties:
        orgId:
          type: string
        identifier:
          type: string
        title:
          type: string
          minLength: 1
          maxLength: 100
        description:
          anyOf:
            - type: string
              maxLength: 2000
            - type: 'null'
        createdAt:
          type: string
        updatedAt:
          type: string
        creatorId:
          type: string
        lastUpdatedBy:
          type: string
        size:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        fileKey:
          type: string
        params:
          anyOf:
            - type: object
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                  isRequired:
                    type: boolean
                  label:
                    type: string
                required:
                  - type
                  - isRequired
                additionalProperties: false
            - type: 'null'
        source:
          type: string
          enum:
            - user
            - port_ai
            - plugins_repo
      required:
        - orgId
        - identifier
        - title
        - createdAt
        - updatedAt
        - creatorId
        - lastUpdatedBy
        - size
        - fileKey
        - params
        - source
      additionalProperties: false
    createAndGetPluginUploadUrlBody:
      type: object
      properties:
        identifier:
          type: string
          minLength: 1
          maxLength: 100
          pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
      required:
        - identifier
      additionalProperties: false
    createAndGetPluginUploadUrlResponse:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            url:
              type: string
              format: uri
            fields:
              type: object
              additionalProperties:
                type: string
            expiresInSeconds:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            key:
              type: string
          required:
            - url
            - fields
            - expiresInSeconds
            - key
          additionalProperties: false
      required:
        - ok
        - data
      additionalProperties: false
    finalizePluginUploadBody:
      type: object
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 100
        identifier:
          type: string
          minLength: 1
          maxLength: 100
          pattern: ^(?!\.{1,2}$)[A-Za-z0-9@_.+:\\/=-]+$
        description:
          type: string
          maxLength: 2000
        params:
          type: object
          additionalProperties:
            type: object
            properties:
              type:
                type: string
                enum:
                  - string
                  - number
                  - boolean
                  - array
                  - object
                  - blueprint
              isRequired:
                type: boolean
              label:
                type: string
            required:
              - type
              - isRequired
            additionalProperties: false
      required:
        - title
        - identifier
      additionalProperties: false
    finalizePluginUploadResponse:
      type: object
      properties:
        ok:
          type: boolean
        data:
          $ref: '#/components/schemas/plugin'
      required:
        - ok
        - data
      additionalProperties: false
    listPluginsResponse:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: array
          items:
            type: object
            properties:
              identifier:
                type: string
              title:
                type: string
                minLength: 1
                maxLength: 100
              description:
                anyOf:
                  - type: string
                    maxLength: 2000
                  - type: 'null'
              createdAt:
                type: string
              updatedAt:
                type: string
              creatorId:
                type: string
              lastUpdatedBy:
                type: string
              size:
                type: integer
                exclusiveMinimum: 0
                maximum: 9007199254740991
              params:
                anyOf:
                  - type: object
                    additionalProperties:
                      type: object
                      properties:
                        type:
                          type: string
                        isRequired:
                          type: boolean
                        label:
                          type: string
                      required:
                        - type
                        - isRequired
                      additionalProperties: false
                  - type: 'null'
              source:
                type: string
                enum:
                  - user
                  - port_ai
                  - plugins_repo
            required:
              - identifier
              - title
              - createdAt
              - updatedAt
              - creatorId
              - lastUpdatedBy
              - size
              - params
              - source
            additionalProperties: false
      required:
        - ok
        - data
      additionalProperties: false
    updatePluginMetadataBody:
      type: object
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 100
        description:
          anyOf:
            - type: string
              maxLength: 2000
            - type: 'null'
        params:
          anyOf:
            - type: object
              additionalProperties:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - string
                      - number
                      - boolean
                      - array
                      - object
                      - blueprint
                  isRequired:
                    type: boolean
                  label:
                    type: string
                required:
                  - type
                  - isRequired
                additionalProperties: false
            - type: 'null'
      additionalProperties: false
    updatePluginMetadataResponse:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            identifier:
              type: string
            title:
              type: string
              minLength: 1
              maxLength: 100
            description:
              anyOf:
                - type: string
                  maxLength: 2000
                - type: 'null'
            createdAt:
              type: string
            updatedAt:
              type: string
            creatorId:
              type: string
            lastUpdatedBy:
              type: string
            size:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            params:
              anyOf:
                - type: object
                  additionalProperties:
                    type: object
                    properties:
                      type:
                        type: string
                      isRequired:
                        type: boolean
                      label:
                        type: string
                    required:
                      - type
                      - isRequired
                    additionalProperties: false
                - type: 'null'
            source:
              type: string
              enum:
                - user
                - port_ai
                - plugins_repo
          required:
            - identifier
            - title
            - createdAt
            - updatedAt
            - creatorId
            - lastUpdatedBy
            - size
            - params
            - source
          additionalProperties: false
      required:
        - ok
        - data
      additionalProperties: false
    getPluginByIdentifierResponse:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            identifier:
              type: string
            title:
              type: string
              minLength: 1
              maxLength: 100
            description:
              anyOf:
                - type: string
                  maxLength: 2000
                - type: 'null'
            createdAt:
              type: string
            updatedAt:
              type: string
            creatorId:
              type: string
            lastUpdatedBy:
              type: string
            size:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            params:
              anyOf:
                - type: object
                  additionalProperties:
                    type: object
                    properties:
                      type:
                        type: string
                      isRequired:
                        type: boolean
                      label:
                        type: string
                    required:
                      - type
                      - isRequired
                    additionalProperties: false
                - type: 'null'
            source:
              type: string
              enum:
                - user
                - port_ai
                - plugins_repo
          required:
            - identifier
            - title
            - createdAt
            - updatedAt
            - creatorId
            - lastUpdatedBy
            - size
            - params
            - source
          additionalProperties: false
      required:
        - ok
        - data
      additionalProperties: false
    deletePluginResponse:
      type: object
      properties:
        ok:
          type: boolean
        data:
          type: object
          properties:
            deleted:
              type: boolean
              const: true
          required:
            - deleted
          additionalProperties: false
      required:
        - ok
        - data
      additionalProperties: false
