openapi: 3.1.0 info: title: Port Action Runs Integrations API version: '1.0' tags: - name: Integrations paths: /v1/integration/metadata: get: summary: Get all integrations meta-data (member view) tags: - Integrations description: This route allows members to fetch meta-data on all integrations in their Port organization.

The response includes each integration's identifier, installation ID, integration type, and last update timestamp. security: - bearer: - read:integrations:basic responses: '401': description: Default Response content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false '404': description: A resource with the provided identifier was not found content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: A resource with the provided identifier was not found /v1/integration: get: summary: Get all integrations tags: - Integrations description: This route allows you to fetch all integrations in your Port organization.
To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

**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](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions). parameters: - schema: type: boolean in: query name: actionsProcessingEnabled required: false description: filter by integrations that has actions processing enabled security: - bearer: - read:integrations responses: '401': description: Default Response content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false '404': description: A resource with the provided identifier was not found content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: A resource with the provided identifier was not found /v1/integration/{identifier}: get: summary: Get an integration tags: - Integrations description: This route allows you to fetch a specific integration in your Port organization.
To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).

**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](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions). parameters: - schema: type: string default: installationId enum: - installationId - logIngestId in: query name: byField required: false description: The field used to identify the integration. When set to `logIngestId`, the `identifier` parameter should be changed accordingly. - schema: type: boolean in: query name: isPolling required: false description: Whether to return the integration in polling mode. - schema: type: string in: query name: oceanCoreVersion required: false description: The version of the core to use. - schema: type: string in: path name: identifier required: true description: The unique identifier of the resource you want to operate on. security: - bearer: - read:integrations responses: '401': description: Default Response content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false '404': description: A resource with the provided identifier was not found content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: A resource with the provided identifier was not found patch: summary: Update an integration tags: - Integrations description: This route allows you to modify an integration in your Port organization.

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. pinnedVersion: type: string description: The pinned version of the integration. If provided, the integration will be pinned to this specific version in the Kubernetes manifest. spec: type: object properties: appSpec: type: object additionalProperties: true integrationSpec: type: object additionalProperties: true additionalProperties: false actionsProcessingEnabled: type: boolean description: If `true`, This integration will be able to process actions runs 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 arePortResourcesInitialized: type: boolean description: Whether the Port resources are initialized for the integration. additionalProperties: true parameters: - schema: type: string in: path name: identifier required: true description: The unique identifier of the resource you want to operate on. security: - bearer: - update:integrations responses: '401': description: Default Response content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false '404': description: A resource with the provided identifier was not found content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: A resource with the provided identifier was not found '413': description: Request body is too large (limit is 1MiB) content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false description: Request body is too large (limit is 1MiB) '422': description: The json provided does not match the route's schema content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: The json provided does not match the route's schema delete: summary: Delete an integration tags: - Integrations description: This route allows you to delete an integration in your Port organization.

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 event logs tags: - Integrations description: This route allows you to fetch the event 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/).

**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](https://docs.port.io/sso-rbac/users-and-teams/manage-users-teams/#roles--permissions). parameters: - schema: type: number default: 100 minimum: 0 maximum: 300 nullable: false in: query name: limit required: false description: The number of logs to fetch per page. - schema: type: string in: query name: timestamp required: false description: The date of time from which to fetch the logs, in `ISO format IE 2022-04-23T18:25:43.511Z`. - schema: type: string in: query name: log_id required: false description: The identifier of the log. - schema: type: string enum: - up - down in: query name: direction required: false description: Determines whether to fetch logs before or after the specified timestamp. - schema: type: string nullable: true in: query name: event_id required: false description: Filter logs belonging to a specific event. - schema: type: array items: type: string enum: - DEBUG - INFO - WARNING - ERROR - FATAL minItems: 1 nullable: true in: query name: levels required: false description: Filter logs by severity level. - schema: type: array items: type: string enum: - load - extract - transform minItems: 1 nullable: true in: query name: etl_phases required: false description: Filter logs by ETL phases. - schema: type: array items: type: string minItems: 1 nullable: true in: query name: kinds required: false description: Filter logs by kinds (e.g `pull-request`, `branch` for GitHub, `issue` for Jira, etc.) - schema: type: string in: path name: identifier required: true description: The unique identifier of the resource you want to operate on. security: - bearer: - read:integrations responses: '401': description: Default Response content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false '404': description: A resource with the provided identifier was not found content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: A resource with the provided identifier was not found /v1/integration/{identifier}/config: patch: summary: Update an integration's config tags: - Integrations description: This route allows you to modify an integration's configuration in your Port organization.

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: 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 additionalProperties: false required: - config required: true parameters: - schema: type: string in: path name: identifier required: true description: The unique identifier of the resource you want to operate on. security: - bearer: - update:integrations responses: '401': description: Default Response content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false '404': description: A resource with the provided identifier was not found content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: A resource with the provided identifier was not found '413': description: Request body is too large (limit is 1MiB) content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error additionalProperties: false description: Request body is too large (limit is 1MiB) '422': description: The json provided does not match the route's schema content: application/json: schema: properties: ok: const: false error: type: string message: type: string required: - ok - error - message additionalProperties: false description: The json provided does not match the route's schema components: securitySchemes: bearer: type: apiKey name: Authorization in: header