diff --git a/static/apispec.yaml b/static/apispec.yaml index ec15557fa9..421fed0bdb 100644 --- a/static/apispec.yaml +++ b/static/apispec.yaml @@ -2,9 +2,6 @@ openapi: 3.1.0 info: title: Port API version: "1.0" -servers: - - url: https://api.port.io - - url: https://api.us.port.io components: securitySchemes: bearer: @@ -6132,7 +6129,6 @@ components: - propertySchema additionalProperties: false - type: object - title: Path filter rule anyOf: - type: object properties: @@ -7462,26 +7458,26 @@ paths: will be excluded from the entities. - schema: type: array + style: form + explode: true items: type: string in: query name: include required: false - style: form - explode: true description: 'An array of values from the [entity JSON](${DOCS_URL}/build-your-software-catalog/sync-data-to-catalog/#json-structure). Only these values will be returned in the response.
For example: `{ "properties.propertyIdentifier","identifier"}`' - schema: type: array + style: form + explode: true items: type: string in: query name: exclude required: false - style: form - explode: true description: 'An array of values from the [entity JSON](${DOCS_URL}/build-your-software-catalog/sync-data-to-catalog/#json-structure) to be ommitted from the response.
For example: `{ @@ -8460,26 +8456,26 @@ paths: will be excluded from the entities. - schema: type: array + style: form + explode: true items: type: string in: query name: include required: false - style: form - explode: true description: 'An array of values from the [entity JSON](${DOCS_URL}/build-your-software-catalog/sync-data-to-catalog/#json-structure). Only these values will be returned in the response.
For example: `{ "properties.propertyIdentifier","identifier"}`' - schema: type: array + style: form + explode: true items: type: string in: query name: exclude required: false - style: form - explode: true description: 'An array of values from the [entity JSON](${DOCS_URL}/build-your-software-catalog/sync-data-to-catalog/#json-structure) to be ommitted from the response.
For example: `{ @@ -9407,7 +9403,6 @@ paths: - propertySchema additionalProperties: false - type: object - title: Path filter rule anyOf: - type: object properties: @@ -9479,26 +9474,26 @@ paths: will be excluded from the entities. - schema: type: array + style: form + explode: true items: type: string in: query name: include required: false - style: form - explode: true description: 'An array of values from the [entity JSON](${DOCS_URL}/build-your-software-catalog/sync-data-to-catalog/#json-structure). Only these values will be returned in the response.
For example: `{ "properties.propertyIdentifier","identifier"}`' - schema: type: array + style: form + explode: true items: type: string in: query name: exclude required: false - style: form - explode: true description: 'An array of values from the [entity JSON](${DOCS_URL}/build-your-software-catalog/sync-data-to-catalog/#json-structure) to be ommitted from the response.
For example: `{ @@ -19974,41 +19969,39 @@ paths: summary: Get actions/automations tags: - Actions - description: | - This route allows you to fetch one or more self-service actions + description: This route allows you to fetch one or more self-service actions and/or automations in your Port account.

The call will perform a logical `AND` between all query parameters below, and return all actions and automations that match the criteria.

To learn more about actions and automations, check out the [documentation](https://docs.port.io/actions-and-automations/). - :::info Version parameter value - Set the `version` parameter to `v2` for the latest version of the API. - ::: parameters: - schema: type: array + style: form + explode: true items: type: string in: query name: action_identifier required: false - style: form - explode: true description: The identifier/s of the action/s and/or automation/s you want to fetch. - schema: type: array + style: form + explode: true items: type: string in: query name: blueprint_identifier required: false - style: form - explode: true description: The identifier/s of the blueprint/s whose actions/automations you wish to fetch. - schema: type: array + style: form + explode: true items: type: string enum: @@ -20018,8 +20011,6 @@ paths: in: query name: operation required: false - style: form - explode: true description: The [operation type/s](https://docs.port.io/create-self-service-experiences/setup-ui-for-action/#basic-details) of the action/s you want to fetch. Relevant only for self-service @@ -20072,7 +20063,6 @@ paths: 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 @@ -22792,15 +22782,11 @@ paths: summary: Update an action run tags: - Action Runs - description: | - This route allows you to update an action run's details. This can + 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).

To learn more about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/). - :::info Version parameter value - Set the `version` parameter to `v2` for the latest version of the API. - ::: requestBody: content: application/json: @@ -22847,7 +22833,6 @@ paths: 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 @@ -23103,13 +23088,9 @@ paths: summary: Get an action run's details tags: - Action Runs - description: | - This route allows you to fetch the details of an action + description: This route allows you to fetch the details of an action run.

To learn more about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/). - :::info Version parameter value - Set the `version` parameter to `v2` for the latest version of the API. - ::: parameters: - schema: type: string @@ -23119,7 +23100,6 @@ paths: 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 @@ -23342,14 +23322,10 @@ paths: summary: Approve an action run tags: - Action Runs - description: | - This route allows you to approve or decline a request to execute an + description: This route allows you to approve or decline a request to execute an action that requires approval.

To learn more about manual approval for actions, check out the [documentation](https://docs.port.io/create-self-service-experiences/set-self-service-actions-rbac/#configure-manual-approval-for-actions). - :::info Version parameter value - Set the `version` parameter to `v2` for the latest version of the API. - ::: requestBody: content: application/json: @@ -23377,7 +23353,6 @@ paths: 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 @@ -23634,15 +23609,11 @@ paths: summary: Get all action runs tags: - Action Runs - description: | - This route allows you to fetch all action runs in your Port + 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.

To learn more about action runs, check out the [documentation](https://docs.port.io/create-self-service-experiences/reflect-action-progress/). - :::info Version parameter value - Set the `version` parameter to `v2` for the latest version of the API. - ::: parameters: - schema: type: string @@ -23698,7 +23669,6 @@ paths: 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 @@ -24270,249 +24240,19 @@ paths: summary: Get all pages in your portal tags: - Pages - description: > - **The Pages API is currently in beta, in its current form it lacks certain validations and protections and it could render your portal unusable if used incorrectly.

Please refer to the [Pages overview](/api-reference/pages) before using this endpoint.

** - This route allows you to get all pages in your portal.

To + description: This route allows you to get all pages in your portal.

To learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page). parameters: - 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 - /v1/pages/{identifier}: - get: - summary: Get a page - tags: - - Pages - description: > - **The Pages API is currently in beta, in its current form it lacks certain validations and protections and it could render your portal unusable if used incorrectly.

Please refer to the [Pages overview](/api-reference/pages) before using this endpoint.

** - This route allows you to get a specific page in your - portal.

To learn more about pages, checkout the - [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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: - "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 page - tags: - - Pages - description: > - **The Pages API is currently in beta, in its current form it lacks certain validations and protections and it could render your portal unusable if used incorrectly.

Please refer to the [Pages overview](/api-reference/pages) before using this endpoint.

** - This route allows you to delete a specific page in your - portal.

To learn more about pages, checkout the - [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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: - - delete:pages - 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/{page_identifier}/widgets/{widget_id}: - patch: - summary: Update a widget - tags: - - Pages - description: > - **The Pages API is currently in beta, in its current form it lacks certain validations and protections and it could render your portal unusable if used incorrectly.

Please refer to the [Pages overview](/api-reference/pages) before using this endpoint.

** - This route allows you to update a specific widget in your portal. -

To learn more about pages, checkout the - [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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 + type: boolean + default: false + in: query + name: compact 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: @@ -24547,285 +24287,23155 @@ paths: - 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 + post: + summary: Create pages in your portal tags: - Pages - description: > - **The Pages API is currently in beta, in its current form it lacks certain validations and protections and it could render your portal unusable if used incorrectly.

Please refer to the [Pages overview](/api-reference/pages) before using this endpoint.

** - This route allows you to delete a specific widget in your portal. -

To learn more about pages, checkout the + description: This route allows you to create pages in your portal.

To + learn more about pages, checkout the [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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: + identifier: 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 - 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: + 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 - required: - - ok - - error - additionalProperties: false - "404": - description: A resource with the provided identifier was not found - content: + widgets: + type: array + items: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/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: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/def-4" + additionalProperties: false + required: + - title + - widgets + additionalProperties: false + required: + - type + - groups + - displayMode + - 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: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/def-4" + additionalProperties: false + required: + - type + - layout + - widgets + type: + type: string + enum: + - run + - user + - team + - entity + - users-and-teams + - runs-history + - audit-log + - blueprint-entities + - dashboard + - home + 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: + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + 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 + required: true + security: + - bearer: + - create:pages + 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.

To learn more about pages, checkout the + [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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: + "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 update a specific page in your + portal.

To learn more about pages, checkout the + [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/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: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/def-4" + additionalProperties: false + required: + - title + - widgets + additionalProperties: false + required: + - type + - groups + - displayMode + - 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: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/def-4" + additionalProperties: false + required: + - type + - layout + - widgets + 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: + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + 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 + additionalProperties: false + required: [] + 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.

To learn more about pages, checkout the + [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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: + - delete:pages + 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/{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.

To learn more about pages, checkout the + [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/page/catalog-page). + requestBody: + content: + application/json: + schema: + type: object + properties: + widget: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/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: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/def-4" + additionalProperties: false + required: + - title + - widgets + additionalProperties: false + required: + - type + - groups + - displayMode + - 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: + 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: + - 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 + 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 + - 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. + 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 + style: form + explode: true + 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 + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + description: Fetch all audit logs related to the specified resource type/s. + includes: + type: array + style: form + explode: true + 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 fetch. + 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. + 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 + action: + type: string + source: + type: array + items: + type: string + enum: + - UI + - API + - AUTOMATION + 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: + - 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: + - entities-pie-chart + title: + type: string + blueprint: + type: string + property: + type: string + description: + type: string + dataset: + $ref: "#/components/schemas/def-1" + emptyStateText: + type: string + 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + timeRange: + type: object + properties: + preset: + type: string + enum: + - today + - yesterday + - lastDay + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months + 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 + - 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 + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + 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 + anyOf: + - type: object + properties: + property: + type: object + properties: + path: + type: array + items: + anyOf: + - type: string + - type: object + properties: + relation: + type: string + maxHops: + type: number + minimum: 1 + maximum: 15 + fromBlueprint: + type: string + required: + - path + additionalProperties: false + operator: + type: string + enum: + - matchAny + value: + anyOf: + - type: string + - type: array + items: + type: string + required: + - property + - operator + - value + additionalProperties: false + - $ref: "#/components/schemas/def-1" + - $ref: "#/components/schemas/def-1" + 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 + - 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: + 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 + markdown: + type: string + required: + - type + - title + - 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 + - $ref: "#/components/schemas/def-3" + - $ref: "#/components/schemas/def-4" + additionalProperties: false + required: + - type + - layout + - widgets + 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. +

To learn more about pages, checkout the + [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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: 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. +

To learn more about pages, checkout the + [documentation](https://docs.port.io/customize-pages-dashboards-and-plugins/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 + 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: @@ -24906,13 +47516,13 @@ paths: portalTitle: type: string maxLength: 30 - # supportUserPermission: - # type: string - # enum: - # - OPT_OUT - # - READ_ONLY - # - FULL_PERMISSIONS - # description: Permission level for Port support users accessing this organization + supportUserPermission: + type: string + enum: + - OPT_OUT + - READ_ONLY + - FULL_PERMISSIONS + description: Permission level for Port support users accessing this organization isOnboarded: type: boolean toolSelectionProvisioning: @@ -24926,6 +47536,25 @@ paths: 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 additionalProperties: false required: - name @@ -25409,17 +48038,9 @@ paths: summary: Get all integrations tags: - Integrations - description: | - This route allows you to fetch all integrations in your Port + description: This route allows you to fetch all integrations in your Port organization.

To learn more about integrations, check out the - [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

- :::warning Permission requirements - To use this endpoint, you must have a `moderator` or `admin` role in your Port organization. - - To learn more about the different roles and permissions, please refer to the [documentation](/sso-rbac/users-and-teams/manage-users-teams#roles--permissions). - - If you already have an existing Port account, this requirement will be enforced starting **November 15th, 2025**. - ::: + [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/). security: - bearer: - read:integrations @@ -25460,542 +48081,25 @@ paths: 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.

To learn more about integrations, check out the - [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

- :::warning Permission requirements - To use this endpoint, you must have a `moderator` or `admin` role in your Port organization. - - To learn more about the different roles and permissions, please refer to the [documentation](/sso-rbac/users-and-teams/manage-users-teams#roles--permissions). - - If you already have an existing Port account, this requirement will be enforced starting **November 15th, 2025**. - ::: - 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: 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.

To learn more about integrations, check out the - [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

**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.getport.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. - spec: - type: object - additionalProperties: true - 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/build-your-software-catalog/customize-integrations/configure-mapping). - 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/build-your-software-catalog/customize-integrations/configure-mapping#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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). - 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.
Read more - [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). - 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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). - - 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.
Read more - [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). - 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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). - 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 - 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.

To learn more about integrations, check out the - [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/). - 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 audit logs + summary: Get an integration tags: - Integrations - description: | - This route allows you to fetch the audit logs of a specific - integration in your Port organization.

To learn more about - integrations, check out the - [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

- :::warning Permission requirements - To use this endpoint, you must have a `moderator` or `admin` role in your Port organization. - - To learn more about the different roles and permissions, please refer to the [documentation](/sso-rbac/users-and-teams/manage-users-teams#roles--permissions). - - If you already have an existing Port account, this requirement will be enforced starting **November 15th, 2025**. - ::: + description: This route allows you to fetch a specific integration in your Port + organization.

To learn more about integrations, check out the + [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/). 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 + default: installationId enum: - - up - - down + - installationId + - logIngestId in: query - name: direction + name: byField required: false - description: Determines whether to fetch logs before or after the specified - timestamp. + description: The field used to identify the integration. When set to + `logIngestId`, the `identifier` parameter should be changed + accordingly. - schema: type: string in: path @@ -26040,21 +48144,38 @@ paths: - message additionalProperties: false description: A resource with the provided identifier was not found - /v1/integration/{identifier}/config: patch: - summary: Update an integration's config + summary: Update an integration tags: - Integrations - description: This route allows you to modify an integration's configuration in - your Port organization.

To learn more about integrations, check - out the - [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/). + description: This route allows you to modify an integration in your Port + organization.

To learn more about integrations, check out the + [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

**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.getport.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. + spec: + type: object + additionalProperties: true config: type: - object @@ -26224,10 +48345,52 @@ paths: check out the [documentation](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). title: object - additionalProperties: false - required: - - config - required: true + 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 + additionalProperties: true parameters: - schema: type: string @@ -26308,381 +48471,23 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - /v1/webhooks: - post: - summary: Create a webhook + delete: + summary: Delete an integration 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.getport.io/settings/data-sources) of your Port - account.

To learn more about webhooks, check out the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). - 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.getport.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: - - type: object - title: Advanced create - description: |- - If the operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#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 - - type: object - 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/build-your-software-catalog/sync-data-to-catalog/#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/build-your-software-catalog/sync-data-to-catalog/#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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). - 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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). - 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/build-your-software-catalog/custom-integration/webhook/). - 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.
For more information and examples, check out - the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#security-configuration). - integrationType: - type: string - enum: - - custom - - template - additionalProperties: false - required: - - title - - enabled - required: true + - Integrations + description: This route allows you to delete an integration in your Port + organization.

To learn more about integrations, check out the + [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/). + parameters: + - schema: + type: string + in: path + name: identifier + required: true + description: The unique identifier of the resource you want to operate on. security: - bearer: - - create:integrations + - delete:integrations responses: "401": description: Default Response @@ -26753,23 +48558,55 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema + /v1/integration/{identifier}/logs: get: - summary: Get all webhooks + summary: Get an integration's audit logs 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.getport.io/settings/data-sources) of your Port - account.

To learn more about webhooks, check out the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).

- :::warning Permission requirements - To use this endpoint, you must have a `moderator` or `admin` role in your Port organization. - - To learn more about the different roles and permissions, please refer to the [documentation](/sso-rbac/users-and-teams/manage-users-teams#roles--permissions). - - If you already have an existing Port account, this requirement will be enforced starting **November 15th, 2025**. - ::: + - Integrations + description: This route allows you to fetch the audit logs of a specific + integration in your Port organization.

To learn more about + integrations, check out the + [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/). + 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 + in: path + name: identifier + required: true + description: The unique identifier of the resource you want to operate on. security: - bearer: - read:integrations @@ -26808,374 +48645,194 @@ paths: - message additionalProperties: false description: A resource with the provided identifier was not found - /v1/webhooks/{identifier}: + /v1/integration/{identifier}/config: patch: - summary: Update a webhook + summary: Update an integration's config 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.getport.io/settings/data-sources) of your Port - account.

To learn more about webhooks, check out the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). + - Integrations + description: This route allows you to modify an integration's configuration in + your Port organization.

To learn more about integrations, check + out the + [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/). 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.getport.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: - - type: object - title: Advanced create - description: |- - If the operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#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 - - type: object - 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 + 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/build-your-software-catalog/customize-integrations/configure-mapping). + 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: - type: - enum: - - delete - deleteDependents: - type: boolean + 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/build-your-software-catalog/customize-integrations/configure-mapping#how-does-mapping-work). + port: + type: object 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/build-your-software-catalog/sync-data-to-catalog/#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/build-your-software-catalog/sync-data-to-catalog/#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 + - entity + description: An object containing the mapping definitions of the `kind` resource + into Port. properties: - type: object - description: An object containing the properties of the entity and their values. - For more information and examples, check out the - [documentation](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). - 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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). - 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/build-your-software-catalog/custom-integration/webhook/). - 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.
For more information and examples, check out - the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#security-configuration). - integrationType: - type: string - enum: - - custom - - template + 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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). + 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.
Read more + [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). + 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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). + - 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.
Read more + [here](https://docs.port.io/build-your-software-catalog/customize-integrations/configure-mapping#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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). + 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/build-your-software-catalog/customize-integrations/configure-mapping#configuration-structure). + title: object additionalProperties: false + required: + - config + required: true parameters: - schema: type: string @@ -27256,12 +48913,13 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - put: - summary: Change a webhook + /v1/webhooks: + post: + summary: Create 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 + 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.getport.io/settings/data-sources) of your Port account.

To learn more about webhooks, check out the [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). @@ -27295,8 +48953,7 @@ paths: properties: operation: oneOf: - - type: object - title: Advanced create + - title: Advanced create description: |- If the operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#json-structure) properties must be provided. For example: ```json @@ -27328,8 +48985,7 @@ paths: required: - type additionalProperties: false - - type: object - title: Delete + - title: Delete description: >- If the selected operation is `delete`, a blueprint identifier, and entity identifier must be @@ -27558,472 +49214,78 @@ paths: 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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). - 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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). - 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/build-your-software-catalog/custom-integration/webhook/). - 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.
For more information and examples, check out - the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#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.getport.io/settings/data-sources) of your Port - account.

To learn more about webhooks, check out the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/).

- :::warning Permission requirements - To use this endpoint, you must have a `moderator` or `admin` role in your Port organization. - - To learn more about the different roles and permissions, please refer to the [documentation](/sso-rbac/users-and-teams/manage-users-teams#roles--permissions). - - If you already have an existing Port account, this requirement will be enforced starting **November 15th, 2025**. - ::: - 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.getport.io/settings/data-sources) of your Port - account.

To learn more about webhooks, check out the - [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). - 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/audit-log: - get: - summary: Get audit logs - tags: - - Audit - description: | - This route allows you to fetch audit logs from your Port account. - Your audit logs can also be viewed via [Port's - UI](https://app.getport.io/settings/AuditLog).

This route will - perform a logical `AND` between all query parameters below, and return - all logs that match the criteria.

- :::warning Beta integration value - The `integration` value in the `resources` parameter is **experimental**. Its behavior may change in future versions of the API. - ::: - 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: 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 - style: form - explode: true - 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`. - - schema: - type: string - in: query - name: InstallationId - required: false - description: Fetch all audit logs related to the specified integration. - - schema: - anyOf: - - type: array - items: - enum: - - blueprint - - entity - - run - - webhook - - scorecard - - action - - integration - - type: string - enum: - - blueprint - - entity - - run - - webhook - - scorecard - - action - - integration - in: query - name: resources - required: false - style: form - explode: true - description: | - **Possible values**: [`blueprint`, `entity`, `run`, `webhook`, `scorecard`, `action`, `integration`]
Fetch all audit logs related to the specified resource type/s. - - schema: - type: array - items: - enum: - - action - - context - - diff - - identifier - - resourceType - - status - - trigger - - additionalData - - message - in: query - name: includes - required: false - style: form - explode: true - description: The fields you want to include in the response. If used, only the - specified fields will be included in the response. - - 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 fetch. - - schema: - type: string - enum: - - automation - - self-service - in: query - name: actionType - required: false + properties: + type: object + description: An object containing the properties of the entity and their values. + For more information and examples, check out the + [documentation](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). + 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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). + 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/build-your-software-catalog/custom-integration/webhook/). + 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.
For more information and examples, check out + the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#security-configuration). + integrationType: + type: string + enum: + - custom + - template + additionalProperties: false + required: + - title + - enabled + required: true security: - bearer: - - read:audit-log + - create:integrations responses: "401": description: Default Response @@ -28059,90 +49321,54 @@ paths: - 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.

To learn more about teams, check out the - [documentation](https://docs.port.io/sso-rbac/rbac-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 - style: form - explode: true - description: The fields you want to fetch for each team. If used, only the - specified fields will be included in the response. - security: - - bearer: - - read:teams - responses: - "200": - description: Retrieved successfully. + "413": + description: Request body is too large (limit is 1MiB) 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 + 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: - - teams - 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.getport.io/settings/data-sources) of your Port + account.

To learn more about webhooks, check out the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). + security: + - bearer: + - read:integrations + responses: "401": description: Default Response content: @@ -28177,85 +49403,383 @@ paths: - message additionalProperties: false description: A resource with the provided identifier was not found - post: - summary: Create a team + /v1/webhooks/{identifier}: + patch: + summary: Update a webhook tags: - - Teams - description: This route allows you to create a new team in your Port - organization.

To learn more about teams, check out the - [documentation](https://docs.port.io/sso-rbac/rbac-overview/). + - 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.getport.io/settings/data-sources) of your Port + account.

To learn more about webhooks, check out the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). requestBody: content: application/json: schema: type: object properties: - name: + identifier: type: string - pattern: ^[^;#/\?\s][^;#/\?]*[^;#/\?\s]$ - description: The name of the new team. - users: + 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.getport.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: string - description: One or more e-mail addresses of users to add to the new team. - description: + type: object + properties: + operation: + oneOf: + - title: Advanced create + description: |- + If the operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#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/build-your-software-catalog/sync-data-to-catalog/#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/build-your-software-catalog/sync-data-to-catalog/#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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). + 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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). + 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/build-your-software-catalog/custom-integration/webhook/). + 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.
For more information and examples, check out + the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#security-configuration). + integrationType: type: string - description: The description of the new team. - required: - - name - required: true + 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: - - create:teams + - update:integrations 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: @@ -28325,79 +49849,386 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - /v1/teams/{name}: - get: - summary: Get a team + put: + summary: Change a webhook tags: - - Teams - description: This route allows you to fetch a specific team in your Port - organization.

To learn more about teams, check out the - [documentation](https://docs.port.io/sso-rbac/rbac-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 - style: form - explode: true - description: The fields you want to fetch for the team. If used, only the - specified fields will be included in the response. - - 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: + - 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.getport.io/settings/data-sources) of your Port + account.

To learn more about webhooks, check out the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). + 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.getport.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: - 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 + operation: + oneOf: + - title: Advanced create + description: |- + If the operation is `create`, the [entity JSON](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/#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/build-your-software-catalog/sync-data-to-catalog/#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/build-your-software-catalog/sync-data-to-catalog/#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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). + 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](${DOCS_URL}/build-your-software-catalog/custom-integration/webhook/). + 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/build-your-software-catalog/custom-integration/webhook/). + 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.
For more information and examples, check out + the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/#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: @@ -28432,94 +50263,8 @@ paths: - 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.

To learn - more about teams, check out the - [documentation](https://docs.port.io/sso-rbac/rbac-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 + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: @@ -28534,8 +50279,9 @@ paths: - ok - error additionalProperties: false - "404": - description: A resource with the provided identifier was not found + 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: @@ -28551,9 +50297,29 @@ paths: - error - message additionalProperties: false - description: A resource with the provided identifier was not found - "413": - description: Request body is too large (limit is 1MiB) + 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.getport.io/settings/data-sources) of your Port + account.

To learn more about webhooks, check out the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). + 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: @@ -28568,9 +50334,8 @@ paths: - 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 + "404": + description: A resource with the provided identifier was not found content: application/json: schema: @@ -28586,94 +50351,27 @@ paths: - error - message additionalProperties: false - description: The json provided does not match the route's schema - put: - summary: Change a team + description: A resource with the provided identifier was not found + delete: + summary: Delete a webhook 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.

To learn - more about teams, check out the - [documentation](https://docs.port.io/sso-rbac/rbac-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 + - 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.getport.io/settings/data-sources) of your Port + account.

To learn more about webhooks, check out the + [documentation](https://docs.port.io/build-your-software-catalog/custom-integration/webhook/). parameters: - schema: type: string in: path - name: name + name: identifier required: true - description: The name of the team you want to change. + description: The unique identifier of the resource you want to operate on. security: - bearer: - - update:teams + - delete:integrations 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: @@ -28743,37 +50441,168 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - delete: - summary: Delete a team + /v1/audit-log: + get: + summary: Get audit logs tags: - - Teams - description: This route allows you to delete a team in your Port - organization.

To learn more about teams, check out the - [documentation](https://docs.port.io/sso-rbac/rbac-overview/). + - Audit + description: This route allows you to fetch audit logs from your Port account. + Your audit logs can also be viewed via [Port's + UI](https://app.getport.io/settings/AuditLog).

This route will + perform a logical `AND` between all query parameters below, and return + all logs that match the criteria. parameters: - schema: type: string - in: path - name: name - required: true - description: The name of the team you want to delete. + 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: 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 + style: form + explode: true + 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`. + - schema: + type: string + in: query + name: InstallationId + required: false + description: Fetch all audit logs related to the specified integration. + - schema: + anyOf: + - type: array + style: form + explode: true + items: + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + - type: string + enum: + - blueprint + - entity + - run + - webhook + - scorecard + - action + - integration + in: query + name: resources + required: false + description: Fetch all audit logs related to the specified resource type/s. + - schema: + type: array + style: form + explode: true + 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. + - 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 fetch. + - schema: + type: string + enum: + - automation + - self-service + in: query + name: actionType + required: false security: - bearer: - - delete:teams + - read:audit-log 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: @@ -28808,88 +50637,40 @@ paths: - 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: + /v1/teams: get: - summary: Get all users in your organization + summary: Get all teams in your organization tags: - - Users - description: This route allows you to fetch all of the users in your Port - organization.

To learn more about users, check out the + - Teams + description: This route allows you to fetch all of the teams in your Port + organization.

To learn more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/). parameters: - schema: type: array + style: form + explode: true items: - type: string enum: - id - - email - - firstName - - lastName - - picture - - status - - type - - providers + - name - createdAt - updatedAt - - teams.name - - teams.provider - - teams.createdAt - - teams.updatedAt - - roles.name - - roles.description - - roles.isAdmin - - roles.protected - - roles.createdAt - - roles.updatedAt - - orgMembers.orgId - - orgMembers.status - - orgMembers.lastLoginAt + - provider + - description + - users.firstName + - users.lastName + - users.email + - users.picture + - users.status in: query name: fields required: false - style: form - explode: true - description: The fields you want to fetch for each user. If used, only the + description: The fields you want to fetch for each team. If used, only the specified fields will be included in the response. security: - bearer: - - read:users + - read:teams responses: "200": description: Retrieved successfully. @@ -28902,77 +50683,42 @@ paths: ok: enum: - true - users: + teams: type: array items: + type: object 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 + name: + type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time - orgs: + provider: + type: string + description: + type: string + users: type: array items: type: object properties: - id: + email: type: string - required: - - id - teams: - type: array - items: - type: string - roles: - type: array - items: - type: object - properties: - name: + firstName: type: string - required: - - name - orgMembers: - type: array - items: - type: object - properties: - orgId: + lastName: type: string - status: + picture: type: string - lastLoginAt: + status: type: string - format: date-time - required: - - orgId - - status - - lastLoginAt - termsAccepted: - type: boolean - default: null required: - - users + - teams - ok additionalProperties: false "401": @@ -29009,14 +50755,12 @@ paths: - message additionalProperties: false description: A resource with the provided identifier was not found - /v1/users/invite: post: - summary: Invite a user to your organization + summary: Create a team tags: - - Users - description: This route allows you to invite a user to your Port - organization.

To learn more about users, roles, and teams, - check out the + - Teams + description: This route allows you to create a new team in your Port + organization.

To learn more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/). requestBody: content: @@ -29024,41 +50768,24 @@ paths: 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 + 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: - - invitee + - name 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 + - create:teams responses: "200": description: Created successfully. @@ -29066,11 +50793,45 @@ paths: 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": @@ -29142,24 +50903,46 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - /v1/users/{user_email}: + /v1/teams/{name}: get: - summary: Get a user + summary: Get a team tags: - - Users - description: This route allows you to fetch a specific user in your Port - organization.

To learn more about users, check out the + - Teams + description: This route allows you to fetch a specific team in your Port + organization.

To learn more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/). parameters: + - schema: + type: array + style: form + explode: true + 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. - schema: type: string in: path - name: user_email + name: name required: true - description: The email address of the user you want to operate on. + description: The name of the team you want to fetch. security: - bearer: - - read:users + - read:teams responses: "200": description: Retrieved successfully. @@ -29167,82 +50950,30 @@ paths: application/json: schema: description: Retrieved successfully. + type: object properties: ok: enum: - true - user: + team: + type: object properties: - email: - type: string - firstName: - type: string - lastName: - type: string - picture: - type: string - status: - type: string id: type: string - type: + name: 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 - teamsIdentifiers: - type: array - items: - type: string + provider: + type: string + description: + type: string required: + - team - ok additionalProperties: false "401": @@ -29280,12 +51011,12 @@ paths: additionalProperties: false description: A resource with the provided identifier was not found patch: - summary: Update a user + summary: Update a team 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.

To learn more about - users, roles, and teams, check out the + - 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.

To learn + more about teams, check out the [documentation](https://docs.port.io/sso-rbac/rbac-overview/). requestBody: content: @@ -29293,205 +51024,76 @@ paths: schema: type: object properties: - roles: - type: array - minItems: 1 - items: - type: string - description: The roles you want to assign to the user. - teams: + name: + type: string + description: The new name of the team. + users: type: array items: type: string - description: The names of the teams you want to assign the user to. - additionalProperties: false + 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: user_email + name: name required: true - description: The email address of the user you want to operate on. + description: The name of the team you want to update. security: - bearer: - - update:users + - update:teams 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 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.

To learn more about users, check out the - [documentation](https://docs.port.io/sso-rbac/rbac-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. + 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": @@ -29511,42 +51113,7 @@ paths: - 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 + description: A resource with the provided identifier was not found content: application/json: schema: @@ -29562,70 +51129,9 @@ paths: - 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 - style: form - explode: true - description: The fields to include in the response. If not specified, all fields - will be included. - 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 + description: A resource with the provided identifier was not found + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: @@ -29640,8 +51146,9 @@ paths: - ok - error additionalProperties: false - "404": - description: A resource with the provided identifier was not found + 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: @@ -29657,55 +51164,94 @@ paths: - error - message additionalProperties: false - description: A resource with the provided identifier was not found - /v1/apps/{id}/rotate-secret: - post: - summary: Rotate secret + description: The json provided does not match the route's schema + put: + summary: Change a team tags: - - Apps - description: This route allows you to rotate the secret of a set of credentials - in your Port organization. + - 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.

To learn + more about teams, check out the + [documentation](https://docs.port.io/sso-rbac/rbac-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: id + name: name required: true - description: The `id` of the credentials set you want to operate on. + description: The name of the team you want to change. security: - bearer: - - update:apps + - update:teams responses: "200": - description: OK + description: Updated successfully. content: application/json: schema: + description: Updated successfully. + type: object properties: ok: enum: - true - app: + team: type: object properties: - name: - type: string - enabled: - type: boolean id: type: string + name: + type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time - secret: + 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 - description: OK "401": description: Default Response content: @@ -29775,23 +51321,23 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - /v1/apps/{id}: delete: - summary: Delete credentials + summary: Delete a team tags: - - Apps - description: This route allows you to delete a set of credentials in your Port - organization. + - Teams + description: This route allows you to delete a team in your Port + organization.

To learn more about teams, check out the + [documentation](https://docs.port.io/sso-rbac/rbac-overview/). parameters: - schema: type: string in: path - name: id + name: name required: true - description: The `id` of the credentials set you want to operate on. + description: The name of the team you want to delete. security: - bearer: - - update:apps + - delete:teams responses: "200": description: Deleted successfully. @@ -29875,66 +51421,236 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - put: - summary: Change the name of a credentials set + /v1/users: + get: + summary: Get all users in your organization tags: - - Apps - description: This route allows you to change the name of a set of credentials in - your Port organization. + - Users + description: This route allows you to fetch all of the users in your Port + organization.

To learn more about users, check out the + [documentation](https://docs.port.io/sso-rbac/rbac-overview/). + parameters: + - schema: + type: array + style: form + explode: true + items: + type: string + enum: + - id + - email + - firstName + - lastName + - picture + - status + - type + - providers + - createdAt + - updatedAt + - teams.name + - teams.provider + - teams.createdAt + - teams.updatedAt + - roles.name + - roles.description + - roles.isAdmin + - roles.protected + - roles.createdAt + - roles.updatedAt + - orgMembers.orgId + - orgMembers.status + - orgMembers.lastLoginAt + 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. + security: + - bearer: + - read: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 + 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.

To learn more about users, roles, and teams, + check out the + [documentation](https://docs.port.io/sso-rbac/rbac-overview/). requestBody: content: application/json: schema: type: object properties: - name: - type: string - description: The new name of the credentials set. + 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: - - name + - invitee required: true parameters: - schema: - type: string - in: path - name: id - required: true - description: The `id` of the credentials set you want to operate on. + type: boolean + default: true + in: query + name: notify + required: false + description: If `true`, the invitee will receive an email notification. security: - bearer: - - update:apps + - create:users responses: "200": - description: Updated successfully. + description: Created successfully. content: application/json: schema: + description: Created successfully. 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: @@ -30004,13 +51720,14 @@ paths: - 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 + /v1/users/{user_email}: + get: + summary: Get a user tags: - - Authentication / Authorization - description: This route allows you to rotate a user's credentials and generate - new ones. + - Users + description: This route allows you to fetch a specific user in your Port + organization.

To learn more about users, check out the + [documentation](https://docs.port.io/sso-rbac/rbac-overview/). parameters: - schema: type: string @@ -30020,44 +51737,94 @@ paths: description: The email address of the user you want to operate on. security: - bearer: - - update:users + - read: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 + "200": + description: Retrieved successfully. content: application/json: schema: + description: Retrieved successfully. properties: ok: - const: false - error: - type: string - message: - type: string + 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 + teamsIdentifiers: + type: array + items: + 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) + "401": + description: Default Response content: application/json: schema: @@ -30072,9 +51839,8 @@ paths: - 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 + "404": + description: A resource with the provided identifier was not found content: application/json: schema: @@ -30090,976 +51856,122 @@ paths: - 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 + description: A resource with the provided identifier was not found + patch: + summary: Update a user 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.

To learn more about scorecards, check out the - [documentation](https://docs.port.io/scorecards/overview). + - 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.

To learn more about + users, roles, and teams, check out the + [documentation](https://docs.port.io/sso-rbac/rbac-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/scorecards/concepts-and-structure/#conditions) - to filter entities that will be evaluated by the scorecard. - rules: - type: array - description: The - [rules](https://docs.port.io/scorecards/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: + 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: - levels: + 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 - minItems: 1 - then: - properties: - rules: + items: + type: string + createdAt: + type: string + format: date-time + updatedAt: + type: string + format: date-time + orgs: 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: + id: 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: + - id + teams: + type: array + items: + type: string + roles: type: array items: type: object properties: - identifier: - type: string - pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/=-]+$ - maxLength: 100 - title: + name: type: string - description: + required: + - name + orgMembers: + type: array + items: + type: object + properties: + orgId: type: string - level: + status: 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 + lastLoginAt: + type: string + format: date-time 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: + - orgId + - status + - lastLoginAt + termsAccepted: + type: boolean + default: null + description: Updated successfully. + required: + - ok + additionalProperties: false "401": description: Default Response content: @@ -31129,521 +52041,478 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - put: - summary: Change scorecards + delete: + summary: Delete a user 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.

To learn more about scorecards, check out the - [documentation](https://docs.port.io/scorecards/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/scorecards/concepts-and-structure/#conditions) - to filter entities that will be evaluated by the - scorecard. - rules: - type: array - description: The - [rules](https://docs.port.io/scorecards/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: + - Users + description: This route allows you to delete a user in your Port + organization.

To learn more about users, check out the + [documentation](https://docs.port.io/sso-rbac/rbac-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/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 + style: form + explode: true + 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. + security: + - bearer: + - read:apps + responses: + "200": + description: Retrieved successfully. + content: + application/json: + schema: + properties: + ok: + enum: + - true + apps: type: array - description: The available levels of the scorecard, each with its own name and - color. items: type: object properties: - title: + name: type: string - description: The name of the level. - color: + enabled: + type: boolean + id: 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: + 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: - - identifier - - title - - rules + - 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 - minLength: 1 in: path - name: blueprint_identifier + name: id required: true - description: The identifier of the blueprint to operate on. + description: The `id` of the credentials set you want to operate on. security: - - bearer: [] + - 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: @@ -31694,9 +52563,61 @@ paths: - 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 + 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: @@ -31712,29 +52633,9 @@ paths: - 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.

To learn more about scorecards, check out the - [documentation](https://docs.port.io/scorecards/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 + description: A resource with the provided identifier was not found + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: @@ -31749,8 +52650,9 @@ paths: - ok - error additionalProperties: false - "404": - description: A resource with the provided identifier was not found + 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: @@ -31766,15 +52668,15 @@ paths: - 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 + 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 modify a specific scorecard. A scorecard - is a set of rules that define the quality of a blueprint.

To - learn more about scorecards, check out the + 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.

To learn more about scorecards, check out the [documentation](https://docs.port.io/scorecards/overview). requestBody: content: @@ -32221,496 +53123,518 @@ paths: 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.

To learn - more about scorecards, check out the - [documentation](https://docs.port.io/scorecards/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.

To - learn more about scorecards, check out the - [documentation](https://docs.port.io/scorecards/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.

To learn more about scorecards, check out the - [documentation](https://docs.port.io/scorecards/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.

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, or to convert the data type of a property in a - blueprint. - 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/scorecards/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/build-your-software-catalog/customize-integrations/configure-mapping/#create-multiple-entities-from-an-array-api-object). - entity: + 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 - description: A `jq` expression used to get data from the source blueprint, to be - used as an identifier for the entity. + pattern: ^(?!\.{1,2}$)[\p{L}0-9@_.+:\\/=-]+$ + maxLength: 100 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: + description: type: string - description: The icon of the entity. - team: + level: type: string - description: The team the entity belongs to. - properties: + query: 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: + 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 - 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. - additionalProperties: - type: string - required: - - entity - required: - - sourceBlueprint - - mapping + 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: @@ -32783,82 +53707,518 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - /v1/migrations/{migration_id}: - get: - summary: Get a migration + put: + summary: Change scorecards 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: + - 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.

To learn more about scorecards, check out the + [documentation](https://docs.port.io/scorecards/overview). + requestBody: + content: + application/json: + schema: + type: array + items: + type: object properties: - ok: - const: false - error: + identifier: type: string - message: + 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/scorecards/concepts-and-structure/#conditions) + to filter entities that will be evaluated by the + scorecard. + rules: + type: array + description: The + [rules](https://docs.port.io/scorecards/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 - 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 + - identifier + - title + - rules parameters: - schema: type: string + minLength: 1 in: path - name: migration_id + name: blueprint_identifier required: true - description: The identifier of the migration you want to cancel. + description: The identifier of the blueprint to operate on. security: - bearer: [] responses: @@ -32931,489 +54291,28 @@ paths: - message additionalProperties: false description: The json provided does not match the route's schema - /v1/agent/invoke/{invocation_identifier}: - get: - summary: Get an invocation's result - tags: - - AI - description: This route allows you to get a specific invocation - result.

To learn more about AI agents, check out the - [documentation](https://docs.port.io/ai-agents/overview). - parameters: - - schema: - type: string - in: path - name: invocation_identifier - required: true - description: A unique identifier for the agent invocation. - security: - - bearer: - - read:entities - 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/agent/{agentIdentifier}/invoke: - post: - summary: Invoke a specific agent - tags: - - AI - description: This route allows you to create an agent's invocation.

To - learn more about AI agents, check out the - [documentation](https://docs.port.io/ai-agents/overview). - requestBody: - content: - application/json: - schema: - type: object - properties: - context: - type: object - description: An object used to dynamically inject values into the prompt. - prompt: - type: string - description: The user's message or query to be processed by the AI agent. - labels: - type: object - description: Optional meta-data about the invocation. - parameters: - - schema: - type: boolean - default: false - in: query - name: stream - required: false - description: If `true`, the response will show as a stream of information - instead of a JSON response. - - schema: - type: string - in: path - name: agentIdentifier - required: true - description: The identifier of the agent you want to operate on. - security: - - bearer: - - read:entities - 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/agent/invoke: - post: - summary: Invoke an agent - tags: - - AI - description: This route allows you to create an invocation without choosing a - specific agent.

To learn more about AI agents, check out the - [documentation](https://docs.port.io/ai-agents/overview). - requestBody: - content: - application/json: - schema: - type: object - properties: - context: - type: object - description: An object used to dynamically inject values into the prompt. - prompt: - type: string - description: The user's message or query to be processed by the AI agent. - labels: - type: object - description: Optional meta-data about the invocation. - parameters: - - schema: - type: boolean - default: false - in: query - name: stream - required: false - description: If `true`, the response will show as a stream of information - instead of a JSON response. - security: - - bearer: - - read:entities - 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.

To learn more about action RBAC, check out the - [documentation](https://docs.port.io/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: [] - 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 + summary: Get a blueprint's scorecards tags: - - Actions - description: This route allows you to update the permissions of a self-service - action.

To learn more about action RBAC, check out the - [documentation](https://docs.port.io/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/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.
See instructions and examples - [here](https://docs.port.io/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.
See instructions and examples - [here](https://docs.port.io/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/dynamic-permissions/#instructions). - additionalProperties: false - additionalProperties: false + - 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.

To learn more about scorecards, check out the + [documentation](https://docs.port.io/scorecards/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: [] - 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) + 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: @@ -33428,9 +54327,8 @@ paths: - 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 + "404": + description: A resource with the provided identifier was not found content: application/json: schema: @@ -33446,1829 +54344,1415 @@ paths: - error - message additionalProperties: false - description: The json provided does not match the route's schema - /v1/integration/{integrationInternalId}/syncMetrics: - get: - summary: Get an integration's metrics and sync status - description: | - This route allows you to get a specific integration's metrics and sync status either the latest one or for a specific resync.

It returns the sync's execution status and detailed metrics per kind for each phase of the sync.
For example, the number of fetched objects in the sync's fetch phase, number of objects that were mapped in the mapping phase, etc.

To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

- :::warning Permission requirements - To use this endpoint, you must have a `moderator` or `admin` role in your Port organization. - - To learn more about the different roles and permissions, please refer to the [documentation](/sso-rbac/users-and-teams/manage-users-teams#roles--permissions). - - If you already have an existing Port account, this requirement will be enforced starting **November 15th, 2025**. - ::: - tags: - - Integrations - 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. - - schema: - type: string - in: header - name: Authorization - required: false - description: Your API token. To get it, go to your [Port account](https://app.port.io/), click the `...` button, then click the `Generate API token` button and copy the generated token. - security: - - bearer: [] - responses: - "200": - description: Default Response - content: - application/json: - schema: + 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.

To + learn more about scorecards, check out the + [documentation](https://docs.port.io/scorecards/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: - ok: - type: boolean - count: - type: number - data: + 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: - type: object - properties: - integrationType: - type: string - integrationIdentifier: - type: string - integrationVersion: - type: string - oceanVersion: - type: string - kindIdentifier: - type: string - kind: - type: string - kindIndex: - type: number - eventId: - type: string - syncState: - type: string - blueprint: - type: string - metrics: - type: object + anyOf: + - type: object + title: Property between condition properties: - phase: + property: + type: string + operator: + enum: + - between + - notBetween + - = + value: 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 + oneOf: + - type: object + title: Date range 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 + from: + type: string + format: date-time + to: + type: string + format: date-time required: - - object_count_type - additionalProperties: false - delete: - type: object + - from + - to + - type: object + title: Preset date range 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 + preset: + type: string + enum: + - today + - tomorrow + - yesterday + - lastWeek + - last2Weeks + - lastMonth + - last3Months + - last6Months + - last12Months required: - - object_count_type - additionalProperties: false - additionalProperties: false + - preset required: - - phase + - property + - operator + - value additionalProperties: false - createdAt: - type: string - format: date-time - updatedAt: + - 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/scorecards/concepts-and-structure/#conditions) + to filter entities that will be evaluated by the scorecard. + rules: + type: array + description: The + [rules](https://docs.port.io/scorecards/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 - format: date-time + 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: - - 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/quota/ai-invocations: - get: - summary: Get monthly AI invocations quota usage - description: This route returns the monthly quota usage for AI invocations.



To learn more about quota limitations, see the [documentation](/ai-interfaces/ai-agents/interact-with-ai-agents/#monitor-your-usage). - tags: - - AI + - 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: - "200": + "401": 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 + const: false + error: + type: string + message: + type: string required: - ok - - monthlyQuotaUsage + - error additionalProperties: false - "500": - description: Default Response + "404": + description: A resource with the provided identifier was not found content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - /v1/llm-providers/defaults: - get: - summary: Get default LLM provider and model - description: This route returns the default LLM provider and model. - tags: - - AI - security: - - bearer: [] - responses: - "200": - description: Default Response + description: A resource with the provided identifier was not found + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: - type: object properties: ok: - type: boolean - result: - type: object - properties: - provider: - type: string - enum: - - openai - - azure-openai - - anthropic - - bedrock - - port - model: - type: string - enum: - - gpt-5 - - claude-sonnet-4-20250514 - createdAt: - type: string - format: date-time - createdBy: - type: string - updatedAt: - type: string - format: date-time - updatedBy: - type: string - required: - - provider - - model - additionalProperties: false + const: false + error: + type: string + message: + type: string required: - ok - - result + - error additionalProperties: false - "500": - description: Default Response + 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: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - put: - summary: Change default LLM provider and model - description: This route allows you to change the default LLM provider and model. + description: The json provided does not match the route's schema + get: + summary: Get a scorecard tags: - - AI + - 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.

To learn + more about scorecards, check out the + [documentation](https://docs.port.io/scorecards/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: [] - requestBody: - content: - application/json: - schema: - type: object - properties: - provider: - type: string - enum: - - openai - - azure-openai - - anthropic - - bedrock - - port - model: - type: string - enum: - - gpt-5 - - claude-sonnet-4-20250514 - required: - - provider - - model - additionalProperties: false - required: true + - bearer: + - read:scorecards 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 - - bedrock - - port - model: - type: string - enum: - - gpt-5 - - claude-sonnet-4-20250514 - 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": + "401": description: Default Response content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error additionalProperties: false - /v1/llm-providers: - post: - summary: Create or connect an LLM provider - description: This route allows you to create or connect an LLM provider. - tags: - - AI - security: - - bearer: [] - requestBody: - content: - application/json: - schema: - anyOf: - - type: object - title: anthropic - 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 - required: - - claude-sonnet-4-20250514 - properties: - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - enabled: - type: boolean - default: true - required: - - provider - - config - additionalProperties: false - - type: object - title: openai - 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 - required: - - gpt-5 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - enabled: - type: boolean - default: true - required: - - provider - - config - additionalProperties: false - - type: object - title: azure-openai - properties: - provider: - type: string - enum: - - azure-openai - config: - type: object - properties: - apiKeySecretName: - type: string - minLength: 1 - resourceName: - type: string - minLength: 1 - deploymentId: - type: string - minLength: 1 - required: - - apiKeySecretName - - resourceName - - deploymentId - additionalProperties: false - overrides: - type: object - properties: - models: - type: object - required: - - gpt-5 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - enabled: - type: boolean - default: true - required: - - provider - - config - additionalProperties: false - - type: object - title: bedrock - properties: - provider: - type: string - enum: - - bedrock - config: - type: object - properties: - accessKeyIdSecretName: - type: string - minLength: 1 - secretAccessKeySecretName: - type: string - minLength: 1 - region: - type: string - minLength: 1 - pattern: ^[a-z]{2}-[a-z]+-\d{1}$ - guardrailIdentifier: - type: string - guardrailVersion: - type: string - required: - - accessKeyIdSecretName - - secretAccessKeySecretName - - region - additionalProperties: false - overrides: - type: object - properties: - models: - type: object - required: - - claude-sonnet-4-20250514 - properties: - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - enabled: - type: boolean - default: true - required: - - provider - - config - 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.

To + learn more about scorecards, check out the + [documentation](https://docs.port.io/scorecards/overview). parameters: - schema: - type: boolean - in: query - name: validate_connection - required: false + 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: - "201": + "401": 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 - - bedrock - - port - 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: - type: string - minLength: 1 - required: - - apiKeySecretName - - resourceName - - deploymentId - additionalProperties: false - - type: object - properties: - accessKeyIdSecretName: - type: string - minLength: 1 - secretAccessKeySecretName: - type: string - minLength: 1 - region: - type: string - minLength: 1 - pattern: ^[a-z]{2}-[a-z]+-\d{1}$ - guardrailIdentifier: - type: string - guardrailVersion: - type: string - required: - - accessKeyIdSecretName - - secretAccessKeySecretName - - region - additionalProperties: false - - anyOf: - - not: {} - - type: object - properties: {} - additionalProperties: false - overrides: - type: object - properties: - models: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - effectiveModels: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - createdAt: - type: string - format: date-time - createdBy: - type: string - updatedAt: - type: string - format: date-time - updatedBy: - type: string - required: - - provider - - enabled - - effectiveModels - additionalProperties: false + const: false + error: + type: string + message: + type: string required: - ok - - result + - error additionalProperties: false - "400": - description: Default Response + "404": + description: A resource with the provided identifier was not found content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - "500": - description: Default Response + description: A resource with the provided identifier was not found + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: - type: object properties: ok: - type: boolean + 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 - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false + description: The json provided does not match the route's schema + /v1/scorecards: get: - summary: Get configured LLM providers - description: This route allows you to get the configured LLM providers. + summary: Get all scorecards tags: - - AI + - Scorecards + description: This route allows you to fetch all scorecards in your Port + organization.

To learn more about scorecards, check out the + [documentation](https://docs.port.io/scorecards/overview). security: - - bearer: [] + - bearer: + - read:scorecards responses: - "200": + "401": 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 - - bedrock - - port - 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: - type: string - minLength: 1 - required: - - apiKeySecretName - - resourceName - - deploymentId - additionalProperties: false - - type: object - properties: - accessKeyIdSecretName: - type: string - minLength: 1 - secretAccessKeySecretName: - type: string - minLength: 1 - region: - type: string - minLength: 1 - pattern: ^[a-z]{2}-[a-z]+-\d{1}$ - guardrailIdentifier: - type: string - guardrailVersion: - type: string - required: - - accessKeyIdSecretName - - secretAccessKeySecretName - - region - additionalProperties: false - - anyOf: - - not: {} - - type: object - properties: {} - additionalProperties: false - overrides: - type: object - properties: - models: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - effectiveModels: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - createdAt: - type: string - format: date-time - createdBy: - type: string - updatedAt: - type: string - format: date-time - updatedBy: - type: string - required: - - provider - - enabled - - effectiveModels - additionalProperties: false + const: false + error: + type: string + message: + type: string required: - ok - - result + - error additionalProperties: false - "500": - description: Default Response + "404": + description: A resource with the provided identifier was not found content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - /v1/llm-providers/{provider}: + description: A resource with the provided identifier was not found + /v1/migrations: get: - summary: Get a specific provider configuration - description: This route allows you to get the configured LLM providers. + summary: Get all migrations tags: - - AI - security: - - bearer: [] + - Migrations + description: This route allows you to fetch all migrations (both past and + present) in your Port organization.

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 + style: form + explode: true + items: + type: string + enum: + - COMPLETED + - RUNNING + - PENDING + - INITIALIZING + - FAILURE + - CANCELLED + - PENDING_CANCELLATION + in: query + name: status + required: false - schema: type: string - enum: - - openai - - azure-openai - - anthropic - - bedrock - - port - in: path - name: provider - required: true + 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: - "200": + "401": 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 - - bedrock - - port - 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: - type: string - minLength: 1 - required: - - apiKeySecretName - - resourceName - - deploymentId - additionalProperties: false - - type: object - properties: - accessKeyIdSecretName: - type: string - minLength: 1 - secretAccessKeySecretName: - type: string - minLength: 1 - region: - type: string - minLength: 1 - pattern: ^[a-z]{2}-[a-z]+-\d{1}$ - guardrailIdentifier: - type: string - guardrailVersion: - type: string - required: - - accessKeyIdSecretName - - secretAccessKeySecretName - - region - additionalProperties: false - - anyOf: - - not: {} - - type: object - properties: {} - additionalProperties: false - overrides: - type: object - properties: - models: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - effectiveModels: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 + 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, or to convert the data type of a property in a + blueprint. + 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/scorecards/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/build-your-software-catalog/customize-integrations/configure-mapping/#create-multiple-entities-from-an-array-api-object). + 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: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - createdAt: - type: string - format: date-time - createdBy: - type: string - updatedAt: - type: string - format: date-time - updatedBy: - type: string - required: - - provider - - enabled - - effectiveModels - additionalProperties: false + 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. + 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 - - result + - error additionalProperties: false "404": - description: Default Response + description: A resource with the provided identifier was not found content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - "500": - description: Default Response + description: A resource with the provided identifier was not found + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error additionalProperties: false - put: - summary: Change a specific provider configuration - description: This route allows you to change the configuration of a specific LLM provider. + 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: - - AI + - 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: [] + - 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: - config: - anyOf: - - type: object - title: Anthropic - properties: - apiKeySecretName: - type: string - minLength: 1 - required: - - apiKeySecretName - additionalProperties: false - - type: object - title: OpenAI - properties: - apiKeySecretName: - type: string - minLength: 1 - required: - - apiKeySecretName - additionalProperties: false - - type: object - title: Azure OpenAI - properties: - apiKeySecretName: - type: string - minLength: 1 - resourceName: - type: string - minLength: 1 - deploymentId: - type: string - minLength: 1 - required: - - apiKeySecretName - - resourceName - - deploymentId - additionalProperties: false - - type: object - title: Bedrock - properties: - accessKeyIdSecretName: - type: string - minLength: 1 - secretAccessKeySecretName: - type: string - minLength: 1 - region: - type: string - minLength: 1 - pattern: ^[a-z]{2}-[a-z]+-\d{1}$ - guardrailIdentifier: - type: string - guardrailVersion: - type: string - required: - - accessKeyIdSecretName - - secretAccessKeySecretName - - region - additionalProperties: false - overrides: - type: object - properties: - models: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - enabled: - type: boolean - default: true + reason: + type: string + description: The reason for cancelling the migration. additionalProperties: false parameters: - - schema: - type: boolean - in: query - name: validate_connection - required: false - schema: type: string - enum: - - openai - - azure-openai - - anthropic - - bedrock - - port in: path - name: provider + name: migration_id required: true + description: The identifier of the migration you want to cancel. + security: + - bearer: [] responses: - "200": + "401": 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 - - bedrock - - port - 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: - type: string - minLength: 1 - required: - - apiKeySecretName - - resourceName - - deploymentId - additionalProperties: false - - type: object - properties: - accessKeyIdSecretName: - type: string - minLength: 1 - secretAccessKeySecretName: - type: string - minLength: 1 - region: - type: string - minLength: 1 - pattern: ^[a-z]{2}-[a-z]+-\d{1}$ - guardrailIdentifier: - type: string - guardrailVersion: - type: string - required: - - accessKeyIdSecretName - - secretAccessKeySecretName - - region - additionalProperties: false - - anyOf: - - not: {} - - type: object - properties: {} - additionalProperties: false - overrides: - type: object - properties: - models: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - additionalProperties: false - effectiveModels: - type: object - required: - - gpt-5 - - claude-sonnet-4-20250514 - properties: - gpt-5: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - claude-sonnet-4-20250514: - type: object - properties: - enabled: - type: boolean - default: true - additionalProperties: false - additionalProperties: false - createdAt: - type: string - format: date-time - createdBy: - type: string - updatedAt: - type: string - format: date-time - updatedBy: - type: string - required: - - provider - - enabled - - effectiveModels - additionalProperties: false + const: false + error: + type: string + message: + type: string required: - ok - - result + - error additionalProperties: false - "400": - description: Default Response + "404": + description: A resource with the provided identifier was not found content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - "404": - description: Default Response + description: A resource with the provided identifier was not found + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error additionalProperties: false - "500": - description: Default Response + 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: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - delete: - summary: Delete a specific provider configuration - description: This route allows you to delete a specific LLM provider configuration. + description: The json provided does not match the route's schema + /v1/actions/{action_identifier}/permissions: + get: + summary: Get an action's permissions tags: - - AI + - Actions + description: This route allows you to fetch the permissions of a self-service + action.

To learn more about action RBAC, check out the + [documentation](https://docs.port.io/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: [] + 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.

To learn more about action RBAC, check out the + [documentation](https://docs.port.io/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/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.
See instructions and examples + [here](https://docs.port.io/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.
See instructions and examples + [here](https://docs.port.io/actions-and-automations/create-self-service-experiences/set-self-service-actions-rbac/dynamic-permissions/#instructions). + additionalProperties: false + additionalProperties: false parameters: - schema: type: string - enum: - - openai - - azure-openai - - anthropic - - bedrock + minLength: 1 in: path - name: provider + name: action_identifier required: true + description: The identifier of the action/automation you want to operate on. + security: + - bearer: [] responses: - "204": + "401": description: Default Response content: application/json: schema: - type: object properties: ok: - type: boolean + const: false + error: + type: string + message: + type: string required: - ok + - error additionalProperties: false "404": - description: Default Response + description: A resource with the provided identifier was not found content: application/json: schema: - type: object properties: ok: - type: boolean + const: false error: type: string message: type: string - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false - "500": - description: Default Response + description: A resource with the provided identifier was not found + "413": + description: Request body is too large (limit is 1MiB) content: application/json: schema: - type: object properties: ok: - type: boolean + 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 - details: - type: object - additionalProperties: {} required: - ok - error + - message additionalProperties: false + description: The json provided does not match the route's schema