Port Integrations API

The Integrations API from Port — 5 operation(s) for integrations.

Operations 7

GET /v1/integration/metadata Get all integrations meta-data (member view)
GET /v1/integration Get all integrations
GET /v1/integration/{identifier} Get an integration
PATCH /v1/integration/{identifier} Update an integration
DELETE /v1/integration/{identifier} Delete an integration
GET /v1/integration/{identifier}/logs Get an integration's event logs
PATCH /v1/integration/{identifier}/config Update an integration's config

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/port-integrations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

port-integrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Port Action Runs Integrations API
  version: '1.0'
servers:
- url: https://api.getport.io
  description: Base URL declared by the provider in apis.yml (roadmap#122).
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.<br></br>The response includes each integration's identifier, installation ID, integration type, and last update timestamp.
      security:
      - bearer:
        - read:integrations:basic
      responses:
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                - ok
                - error
                additionalProperties: false
        '404':
          description: A resource with the provided identifier was not found
          content:
            application/json:
              schema:
                properties:
                  ok:
                    const: false
                  error:
                    type: string
                  message:
                    type: string
                required:
                - ok
                - error
                - message
                additionalProperties: false
                description: A resource with the provided identifier was not found
  /v1/integration:
    get:
      summary: Get all integrations
      tags:
      - Integrations
      description: This route allows you to fetch all integrations in your Port organization.<br/>To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/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.<br/>To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/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.<br/><br/>To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).<br/><br/>**Note:** To trigger a resync of an integration without changing its mapping, simply provide its identifier and leave the body empty.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  nullable: true
                  description: The title of the integration. This will be displayed in the [data-sources page](https://app.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.<br/>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.<br/>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.<br/><br/>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.<br/>To learn more about integrations, check out the [documentation](https://docs.port.io/build-your-software-catalog/sync-data-to-catalog/).<br/><br/>**Permission requirements**<br/>To use this endpoint, you must have a `moderator` or `admin` role in your Port organization.<br/>To learn more about the different roles and permissions, please refer to the [documentation](https://docs.port.io/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.<br/><br/>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:
  

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