---
title: "Retrieve an integration configuration"
method: GET
path: "/v1/integrations/configuration/{id}"
tags: ["integrations"]
---

# Retrieve an integration configuration

`GET /v1/integrations/configuration/{id}`

Allows to retrieve a the configuration with the provided id in case it exists. The authenticated user or team must be the owner of the config in order to access it.

## Path parameters

- `id` string, required — ID of the configuration to check

## Query parameters

- `teamId` string
- `slug` string

## Response `200`

The configuration with the provided id

- union
  - object
    - `projectSelection` 'all' | 'selected', required — A string representing the permission for projects. Possible values are `all` or `selected`.
    - `notification` object, required
      - `level` 'error' | 'info' | 'warn', required
      - `title` string, required
      - `message` string
      - `href` string
    - `transferRequest` union, required
      - object
        - `kind` 'transfer-to-marketplace', required
        - `metadata` object
        - `billingPlan` object
          - `id` string, required
          - `type` 'prepayment' | 'subscription', required
          - `scope` 'installation' | 'resource'
          - `name` string, required
          - `description` string, required
          - `paymentMethodRequired` false | true
          - `preauthorizationAmount` number
        - `requestId` string, required
        - `transferId` string, required
        - `requester` object, required
          - `name` string, required
          - `email` string
        - `createdAt` number, required
        - `expiresAt` number, required
        - `discardedAt` number
        - `discardedBy` string
        - `approvedAt` number
        - `approvedBy` string
        - `authorizationId` string
      - object
        - `kind` 'transfer-from-marketplace', required
        - `requestId` string, required
        - `transferId` string, required
        - `requester` object, required
          - `name` string, required
          - `email` string
        - `createdAt` number, required
        - `expiresAt` number, required
        - `discardedAt` number
        - `discardedBy` string
        - `approvedAt` number
        - `approvedBy` string
        - `authorizationId` string
    - `projects` string[] — When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access.
    - `status` 'error' | 'onboarding' | 'pending' | 'ready' | 'resumed' | 'suspended' | 'uninstalled' — The configuration status. Optional. If not defined, assume 'ready'.
    - `type` 'integration-configuration', required
    - `id` string, required — The unique identifier of the configuration
    - `integrationId` string, required — The unique identifier of the app the configuration was created for
    - `userId` string, required — The ID of the user that created the configuration.
    - `ownerId` string, required — The user or team ID that owns the configuration
    - `createdAt` number, required — A timestamp that tells you when the configuration was created
    - `updatedAt` number, required — A timestamp that tells you when the configuration was updated.
    - `deletedAt` number, nullable — A timestamp that tells you when the configuration was deleted.
    - `canConfigureOpenTelemetry` false | true
    - `completedAt` number — A timestamp that tells you when the configuration was installed successfully
    - `externalId` string — An external identifier defined by the integration vendor.
    - `source` 'backoffice' | 'cli' | 'deploy-button' | 'external' | 'import-recommended-integrations' | 'marketplace' | 'oauth' | 'resource-claims' | 'v0' — Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics.
    - `slug` string, required — The slug of the integration the configuration is created for.
    - `teamId` string, nullable — When the configuration was created for a team, this will show the ID of the team.
    - `scopes` string[], required — The resources that are allowed to be accessed by the configuration.
    - `disabledAt` number — A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is 'transferred', meaning the associated user is changed to one with access to the team.
    - `deleteRequestedAt` number, nullable — A timestamp that tells you when the configuration deletion has been started for cases when the deletion needs to be settled/approved by partners, such as when marketplace invoices have been paid.
    - `customerDeleteRequestedAt` number, nullable — Record when the customer initited deletion, independent of whether `deleteRequestedAt` gets set.
    - `disabledReason` 'account-plan-downgrade' | 'disabled-by-admin' | 'disabled-by-owner' | 'feature-not-available' | 'original-owner-left-the-team' | 'original-owner-role-downgraded'
    - `installationType` 'external' | 'marketplace' — Defines the installation type. - 'external' integrations are installed via the existing integrations flow - 'marketplace' integrations are natively installed: - when accepting the TOS of a partner during the store creation process - if undefined, assume 'external'
  - object — The configuration with the provided id
    - `completedAt` number — A timestamp that tells you when the configuration was installed successfully
    - `createdAt` number, required — A timestamp that tells you when the configuration was created
    - `id` string, required — The unique identifier of the configuration
    - `integrationId` string, required — The unique identifier of the app the configuration was created for
    - `ownerId` string, required — The user or team ID that owns the configuration
    - `status` 'error' | 'onboarding' | 'pending' | 'ready' | 'resumed' | 'suspended' | 'uninstalled' — The configuration status. Optional. If not defined, assume 'ready'.
    - `externalId` string — An external identifier defined by the integration vendor.
    - `projects` string[] — When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access.
    - `source` 'backoffice' | 'cli' | 'deploy-button' | 'external' | 'import-recommended-integrations' | 'marketplace' | 'oauth' | 'resource-claims' | 'v0' — Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics.
    - `slug` string, required — The slug of the integration the configuration is created for.
    - `teamId` string, nullable — When the configuration was created for a team, this will show the ID of the team.
    - `type` 'integration-configuration', required
    - `updatedAt` number, required — A timestamp that tells you when the configuration was updated.
    - `userId` string, required — The ID of the user that created the configuration.
    - `scopes` string[], required — The resources that are allowed to be accessed by the configuration.
    - `disabledAt` number — A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is 'transferred', meaning the associated user is changed to one with access to the team.
    - `deletedAt` number, nullable — A timestamp that tells you when the configuration was deleted.
    - `deleteRequestedAt` number, nullable — A timestamp that tells you when the configuration deletion has been started for cases when the deletion needs to be settled/approved by partners, such as when marketplace invoices have been paid.
    - `customerDeleteRequestedAt` number, nullable — Record when the customer initited deletion, independent of whether `deleteRequestedAt` gets set.
    - `disabledReason` 'account-plan-downgrade' | 'disabled-by-admin' | 'disabled-by-owner' | 'feature-not-available' | 'original-owner-left-the-team' | 'original-owner-role-downgraded'
    - `installationType` 'external' | 'marketplace' — Defines the installation type. - 'external' integrations are installed via the existing integrations flow - 'marketplace' integrations are natively installed: - when accepting the TOS of a partner during the store creation process - if undefined, assume 'external'
  - object — A configuration represents information about a single installation of an integration within an individual or team account
    - `completedAt` number — A timestamp that tells you when the configuration was installed successfully
    - `createdAt` number — A timestamp that tells you when the configuration was created
    - `id` string — The unique identifier of the configuration
    - `integrationId` string — The unique identifier of the app the configuration was created for
    - `ownerId` string — The user or team ID that owns the configuration
    - `status` 'error' | 'onboarding' | 'pending' | 'ready' | 'resumed' | 'suspended' | 'uninstalled' — The configuration status. Optional. If not defined, assume 'ready'.
    - `externalId` string — An external identifier defined by the integration vendor.
    - `projects` string[] — When a configuration is limited to access certain projects, this will contain each of the project ID it is allowed to access. If it is not defined, the configuration has full access.
    - `source` 'backoffice' | 'cli' | 'deploy-button' | 'external' | 'import-recommended-integrations' | 'marketplace' | 'oauth' | 'resource-claims' | 'v0' — Source defines where the configuration was installed from. It is used to analyze user engagement for integration installations in product metrics.
    - `slug` string — The slug of the integration the configuration is created for.
    - `teamId` string, nullable — When the configuration was created for a team, this will show the ID of the team.
    - `type` 'integration-configuration'
    - `updatedAt` number — A timestamp that tells you when the configuration was updated.
    - `userId` string — The ID of the user that created the configuration.
    - `scopes` string[] — The resources that are allowed to be accessed by the configuration.
    - `disabledAt` number — A timestamp that tells you when the configuration was disabled. Note: Configurations can be disabled when the associated user loses access to a team. They do not function during this time until the configuration is 'transferred', meaning the associated user is changed to one with access to the team.
    - `deletedAt` number, nullable — A timestamp that tells you when the configuration was deleted.
    - `deleteRequestedAt` number, nullable — A timestamp that tells you when the configuration deletion has been started for cases when the deletion needs to be settled/approved by partners, such as when marketplace invoices have been paid.
    - `customerDeleteRequestedAt` number, nullable — Record when the customer initited deletion, independent of whether `deleteRequestedAt` gets set.
    - `disabledReason` 'account-plan-downgrade' | 'disabled-by-admin' | 'disabled-by-owner' | 'feature-not-available' | 'original-owner-left-the-team' | 'original-owner-role-downgraded'
    - `installationType` 'external' | 'marketplace' — Defines the installation type. - 'external' integrations are installed via the existing integrations flow - 'marketplace' integrations are natively installed: - when accepting the TOS of a partner during the store creation process - if undefined, assume 'external'

## Other responses

- `400` — One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `403` — You do not have permission to access this resource.
- `404` — The configuration was not found
- `410`

---

[API](https://skmtc.net/vercel/apis/api.md) · [All operations](https://skmtc.net/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vercel/api/versions/b4d86a3e3479/schema)
