> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get an integration

> Returns a specific integration

> [!NOTE]
>
> Requires an API key with one of: `environment:integrations:read` or `environment:integrations:read_credentials`. [Learn more about API key scopes](https://nango.dev/docs/reference/backend/http-api/api-keys.md#scopes).

```json Basic response theme={null}
{
  "data": {
    "unique_key": "slack-nango-community",
    "display_name": "Slack",
    "provider": "slack",
    "logo": "http://localhost:3003/images/template-logos/github.svg",
    "forward_webhooks": true,
    "created_at": "2023-10-16T08:45:26.241Z",
    "updated_at": "2023-10-16T08:45:26.241Z"
  }
}
```

```json With credentials (OAuth2/OAuth1/TBA) theme={null}
{
  "data": {
    "unique_key": "github-nango",
    "display_name": "GitHub",
    "provider": "github",
    "logo": "http://localhost:3003/images/template-logos/github.svg",
    "forward_webhooks": false,
    "created_at": "2023-10-16T08:45:26.241Z",
    "updated_at": "2023-10-16T08:45:26.241Z",
    "credentials": {
      "type": "OAUTH2",
      "client_id": "abc123",
      "client_secret": "secret456",
      "scopes": "repo,user",
      "webhook_secret": null
    }
  }
}
```

```json With credentials (GitHub App / CUSTOM) theme={null}
{
  "data": {
    "unique_key": "github-app-nango",
    "display_name": "GitHub App",
    "provider": "github-app",
    "logo": "http://localhost:3003/images/template-logos/github.svg",
    "forward_webhooks": false,
    "created_at": "2023-10-16T08:45:26.241Z",
    "updated_at": "2023-10-16T08:45:26.241Z",
    "credentials": {
      "type": "CUSTOM",
      "client_id": "abc123",
      "client_secret": "secret456",
      "app_id": "123456",
      "app_link": "https://github.com/apps/my-app",
      "private_key": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
    }
  }
}
```

```json With credentials (MCP_OAUTH2_GENERIC) theme={null}
{
  "data": {
    "unique_key": "mcp-generic",
    "display_name": "MCP Server OAuth2 (Generic)",
    "provider": "mcp-generic",
    "logo": "http://localhost:3003/images/template-logos/mcp-generic.svg",
    "forward_webhooks": true,
    "created_at": "2023-10-16T08:45:26.241Z",
    "updated_at": "2023-10-16T08:45:26.241Z",
    "credentials": {
      "type": "MCP_OAUTH2_GENERIC",
      "client_name": "Acme Inc",
      "client_uri": "https://acme.com",
      "client_logo_uri": "https://acme.com/logo.png"
    }
  }
}
```

```json With credentials (integration_config-based, e.g. aws-sigv4) theme={null}
{
  "data": {
    "unique_key": "my-aws-integration",
    "display_name": "AWS SigV4 Proxy",
    "provider": "aws-sigv4",
    "logo": "http://localhost:3003/images/template-logos/aws-sigv4.svg",
    "forward_webhooks": true,
    "created_at": "2023-10-16T08:45:26.241Z",
    "updated_at": "2023-10-16T08:45:26.241Z",
    "credentials": {
      "type": "INTEGRATION_CONFIG",
      "auth_mode": "AWS_SIGV4",
      "integration_config": {
        "service": "s3",
        "stsMode": "builtin",
        "awsAccessKeyId": "***",
        "awsSecretAccessKey": "***"
      }
    }
  }
}
```

> [!NOTE]
>
> For providers that declare an `integration_config` schema, alongside or instead of fixed credential fields (e.g. `aws-sigv4`, `epic`, `private-api-generic`), `credentials` returns `type: "INTEGRATION_CONFIG"` with the provider's actual `auth_mode` and its `integration_config` values -- only the fields that provider's schema declares, nothing else from the integration's internal storage. Any `integration_config` field the provider's schema marks `secret: true` (e.g. `aws-sigv4`'s `awsAccessKeyId` and `awsSecretAccessKey`) is masked as `***` rather than echoed in cleartext, regardless of API key scope.


## OpenAPI

````yaml GET /integrations/{uniqueKey}
openapi: 3.1.0
info:
  title: Nango API
  description: Nango API specs used to authorize & sync data with external APIs.
  version: 1.0.0
servers:
  - url: https://api.nango.dev
    description: Production server
  - url: http://localhost:3003
    description: Local server
security:
  - bearerAuth: []
externalDocs:
  url: https://nango.dev/docs/reference/backend/http-api/authentication
paths:
  /integrations/{uniqueKey}:
    get:
      summary: Get an integration
      description: Returns a specific integration
      parameters:
        - name: uniqueKey
          in: path
          required: true
          schema:
            type: string
          description: The integration ID (unique_key) that you created in Nango.
        - name: include
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - webhook
                - credentials
          description: Include additional sensitive data
      responses:
        '200':
          description: Successfully returned an integration
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    $ref: '#/components/schemas/IntegrationFull'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    IntegrationFull:
      allOf:
        - $ref: '#/components/schemas/Integration'
        - type: object
          additionalProperties: false
          properties:
            webhook_url:
              anyOf:
                - type: string
                - type: 'null'
              description: Configure your integration webhooks to point to this URL
            credentials:
              anyOf:
                - $ref: '#/components/schemas/IntegrationCredentialsWithConfig'
                - type: 'null'
    Integration:
      type: object
      additionalProperties: false
      required:
        - unique_key
        - display_name
        - provider
        - created_at
        - updated_at
      properties:
        unique_key:
          type: string
          description: The integration ID that you created in Nango.
        display_name:
          type: string
          description: The provider display name.
        provider:
          type: string
          description: The Nango API Configuration.
        logo:
          type: string
          description: Absolute path to the logo of this integration (svg)
        created_at:
          type: string
          format: date-time
          description: When it was created
        updated_at:
          type: string
          format: date-time
          description: Last time it was updated
        forward_webhooks:
          type: boolean
          description: >-
            Whether webhooks received from this integration's provider are
            forwarded to your backend.
        missing_fields:
          type: array
          items:
            type: string
          description: >
            Credential fields the integration is missing, e.g.
            `oauth_client_id`. Empty when the integration is fully configured,
            when it uses Nango-provided credentials, or when the auth mode
            collects everything at connection time. Field names only, never
            values.
    IntegrationCredentialsWithConfig:
      description: >
        Same as IntegrationCredentials, plus the shape returned for providers
        that declare an `integration_config` schema (e.g. aws-sigv4, epic,
        private-api-generic), alongside or instead of fixed credential fields.
        This variant is response-only -- it can't be submitted on create or
        update.
      oneOf:
        - $ref: '#/components/schemas/IntegrationCredentials'
        - type: object
          required:
            - type
            - auth_mode
            - integration_config
          properties:
            type:
              type: string
              enum:
                - INTEGRATION_CONFIG
            auth_mode:
              type: string
              description: >-
                The provider's actual auth mode (e.g. AWS_SIGV4, TWO_STEP,
                API_KEY).
            integration_config:
              type: object
              additionalProperties:
                type: string
              description: >-
                The provider's `integration_config` values, keyed by the fields
                it declares.
    StdError:
      type: object
      additionalProperties: false
      properties:
        error:
          type: object
          additionalProperties: false
          required:
            - code
          properties:
            code:
              type: string
            message:
              type: string
            errors:
              type: array
              items:
                type: object
    IntegrationCredentials:
      description: >-
        Integration credentials schema for different authentication types, as
        returned in API responses (fields may be null).
      oneOf:
        - type: object
          required:
            - type
            - client_id
            - client_secret
          properties:
            type:
              type: string
              enum:
                - OAUTH1
                - OAUTH2
                - TBA
            client_id:
              type: string
              minLength: 1
              maxLength: 255
            client_secret:
              type: string
              minLength: 1
            scopes:
              anyOf:
                - type: string
                  pattern: ^[0-9a-zA-Z:/_.-]+(,[0-9a-zA-Z:/_.-]+)*$
                - type: 'null'
            webhook_secret:
              anyOf:
                - type: string
                  maxLength: 255
                - type: 'null'
        - type: object
          required:
            - type
            - app_id
            - app_link
            - private_key
          properties:
            type:
              type: string
              enum:
                - APP
            app_id:
              type: string
              minLength: 1
              maxLength: 255
            app_link:
              type: string
              minLength: 1
            private_key:
              type: string
              pattern: ^-----BEGIN RSA PRIVATE KEY----.*-----END RSA PRIVATE KEY-----$
        - type: object
          required:
            - type
            - client_id
            - client_secret
            - app_id
            - app_link
            - private_key
          properties:
            type:
              type: string
              enum:
                - CUSTOM
            client_id:
              type: string
              minLength: 1
              maxLength: 255
            client_secret:
              type: string
              minLength: 1
            app_id:
              type: string
              minLength: 1
              maxLength: 255
            app_link:
              type: string
              minLength: 1
            private_key:
              type: string
              pattern: ^-----BEGIN RSA PRIVATE KEY----.*-----END RSA PRIVATE KEY-----$
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - MCP_OAUTH2_GENERIC
            client_name:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 255
                - type: 'null'
            client_uri:
              anyOf:
                - type: string
                  maxLength: 255
                - type: 'null'
            client_logo_uri:
              anyOf:
                - type: string
                  maxLength: 255
                - type: 'null'
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - MCP_OAUTH2
            client_id:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 255
                - type: 'null'
            client_secret:
              anyOf:
                - type: string
                  minLength: 1
                - type: 'null'
            scopes:
              anyOf:
                - type: string
                  pattern: ^(?:[0-9a-zA-Z:/_.*-]+([, ]+[0-9a-zA-Z:/_.*-]+)*)?$
                - type: 'null'
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StdError'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StdError'
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StdError'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        An Environment API key from your Nango environment, or an Account API
        key for account-level endpoints.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.