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

# Get Integration

> Gets details about a specific integration instance.

`Unary` · [`Integrations`](/docs/api-reference/generated/integration/overview)

Gets details about a specific integration instance.

Use this method to:

* View integration configuration
* Check integration status
* Verify enabled capabilities

## Endpoint

```text theme={null}
POST /api/gitpod.v1.IntegrationService/GetIntegration
```

Send a Bearer token as described in [Authentication](/docs/api-reference#authenticate-requests). If your organization uses a custom management-plane domain, replace `https://app.ona.com` with that domain.

## Request example

<CodeGroup>
  ```bash cURL theme={null}
  export ONA_HOST=https://app.ona.com
  export ONA_API_KEY=<your-token>

  curl --request POST \
    --url "$ONA_HOST/api/gitpod.v1.IntegrationService/GetIntegration" \
    --header "Authorization: Bearer $ONA_API_KEY" \
    --header "Content-Type: application/json" \
    --data '{
    "id": "<id>"
  }'
  ```

  ```python Python theme={null}
  import gitpod.v1.integration_pb2 as integration_pb2
  from ona_sdk import create_client_from_env

  ona = create_client_from_env()
  request = integration_pb2.GetIntegrationRequest(
      id="<id>",
  )
  response = ona.services.integration.get_integration(request)
  print(response)
  ```

  ```typescript TypeScript theme={null}
  import { create } from "@bufbuild/protobuf";
  import { createClientFromEnv } from "@gitpod/sdk";
  import { GetIntegrationRequestSchema } from "@gitpod/sdk/gitpod/v1/integration_pb";

  async function main() {
    const ona = createClientFromEnv();
    const request = create(GetIntegrationRequestSchema, {
      id: "<id>",
    });
    const response = await ona.services.integration.getIntegration(request);
    console.log(response);
  }

  main().catch(console.error);
  ```

  ```go Go theme={null}
  package main

  import (
  	"context"
  	"fmt"
  	"log"

  	"connectrpc.com/connect"
  	"github.com/gitpod-io/gitpod-sdk-go/sdk"
  	gitpodpb "github.com/gitpod-io/gitpod-sdk-go/v1"
  )

  func main() {
  	ona, err := sdk.NewFromEnv()
  	if err != nil {
  		log.Fatal(err)
  	}

  	request := connect.NewRequest(&gitpodpb.GetIntegrationRequest{
  		Id: "<id>",
  	})
  	response, err := ona.Services.Integration.GetIntegration(context.Background(), request)
  	if err != nil {
  		log.Fatal(err)
  	}
  	fmt.Println(response.Msg)
  }
  ```

  ```json Request body theme={null}
  {
    "id": "<id>"
  }
  ```
</CodeGroup>

## Request

`gitpod.v1.GetIntegrationRequest`

| Field | Type   | Required | Description                      |
| ----- | ------ | -------- | -------------------------------- |
| `id`  | string | No       | Constraints: `string.uuid=true`. |

## Response

`gitpod.v1.GetIntegrationResponse`

| Field         | Type                                       | Required | Description                   |
| ------------- | ------------------------------------------ | -------- | ----------------------------- |
| `integration` | [Integration](#type-gitpod-v1-integration) | Yes      | Constraints: `required=true`. |

## Related types

<a id="type-gitpod-v1-integration" />

<Accordion title="Integration">
  Integration represents an instantiated integration within an organization

  `gitpod.v1.Integration`

  | Field                     | Type                                                                                 | Required | Description                                                                                                                                           |
  | ------------------------- | ------------------------------------------------------------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `id`                      | string                                                                               | No       | id is the unique identifier for this integration instance                                                                                             |
  | `organizationId`          | string                                                                               | No       | organization\_id is the organization this integration belongs to                                                                                      |
  | `integrationDefinitionId` | string                                                                               | No       | integration\_definition\_id references the integration definition ID. Empty for custom integrations that don't have a backing definition.             |
  | `enabled`                 | boolean                                                                              | No       | enabled indicates if this integration is currently enabled                                                                                            |
  | `capabilities`            | [IntegrationCapabilities](#type-gitpod-v1-integration-capabilities)                  | No       | capabilities defines which capabilities are enabled for this integration                                                                              |
  | `runnerId`                | string                                                                               | No       | runner\_id - if set, restricts integration to specific runner                                                                                         |
  | `auth`                    | [IntegrationAuthentication](#type-gitpod-v1-integration-authentication)              | No       | auth defines which authentication methods are enabled for this integration                                                                            |
  | `host`                    | string                                                                               | No       | host is the hostname for this integration (e.g., "linear.app") - optional, inherits from definition                                                   |
  | `name`                    | string                                                                               | No       | name is the display name. For definition-backed integrations, resolved from the definition.                                                           |
  | `description`             | string                                                                               | No       | description of the integration. For definition-backed integrations, resolved from the definition.                                                     |
  | `iconUrl`                 | string                                                                               | No       | icon\_url is the URL for this integration's icon. Resolved from the definition for definition-backed integrations.                                    |
  | `categories`              | array of [IntegrationCategory](#enum-gitpod-v1-integration-category)                 | No       | categories classifies this integration for filtering and display. For definition-backed integrations, inherits from the definition unless overridden. |
  | `externalInstallation`    | [IntegrationExternalInstallation](#type-gitpod-v1-integration-external-installation) | No       | external\_installation identifies the provider-side app installation, when known.                                                                     |
</Accordion>

<a id="type-gitpod-v1-integration-authentication" />

<Accordion title="IntegrationAuthentication">
  IntegrationAuthentication defines authentication requirements and options

  `gitpod.v1.IntegrationAuthentication`

  | Field            | Type                            | Required | Description                                                                 |
  | ---------------- | ------------------------------- | -------- | --------------------------------------------------------------------------- |
  | `requiresAuth`   | boolean                         | No       | requires\_auth indicates if authentication is required for this integration |
  | `apiKey`         | IntegrationAPIKeyConfig         | No       | api\_key configuration if API key authentication is supported               |
  | `oauth`          | IntegrationOAuthConfig          | No       | oauth configuration if OAuth authentication is supported                    |
  | `proprietaryApp` | IntegrationProprietaryAppConfig | No       | proprietary configuration if supported                                      |
</Accordion>

<a id="type-gitpod-v1-integration-capabilities" />

<Accordion title="IntegrationCapabilities">
  IntegrationCapabilities defines what an integration can do

  `gitpod.v1.IntegrationCapabilities`

  | Field              | Type                                  | Required | Description                                                                                                                                       |
  | ------------------ | ------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `mcp`              | IntegrationMCPCapability              | No       | mcp configuration for Model Context Protocol support                                                                                              |
  | `contextParsing`   | IntegrationContextParsingCapability   | No       | context\_parsing configuration for context parsing support                                                                                        |
  | `sourceCodeAccess` | IntegrationSourceCodeAccessCapability | No       | source\_code\_access configuration for source code access support                                                                                 |
  | `login`            | IntegrationLoginCapability            | No       | login configuration for login/authentication support                                                                                              |
  | `agentClient`      | IntegrationAgentClientCapability      | No       | agent\_client configuration for agent client functionality support                                                                                |
  | `scmPrEvents`      | IntegrationScmPrEventsCapability      | No       | scm\_pr\_events indicates the integration can act as a source of PR events for automation triggers (e.g., pull\_request opened/updated webhooks). |
</Accordion>

<a id="type-gitpod-v1-integration-external-installation" />

<Accordion title="IntegrationExternalInstallation">
  `gitpod.v1.IntegrationExternalInstallation`

  | Field         | Type   | Required | Description                                                                                   |
  | ------------- | ------ | -------- | --------------------------------------------------------------------------------------------- |
  | `id`          | string | No       | id is the provider-assigned installation ID.                                                  |
  | `accountName` | string | No       | account\_name is the provider account or organization login associated with the installation. |
  | `accountType` | string | No       | account\_type is the provider account kind, when known.                                       |
</Accordion>

<a id="enum-gitpod-v1-integration-category" />

<Accordion title="IntegrationCategory">
  IntegrationCategory classifies integrations for filtering and display.

  | Value                                      | Number | Description |
  | ------------------------------------------ | -----: | ----------- |
  | `INTEGRATION_CATEGORY_UNSPECIFIED`         |      0 |             |
  | `INTEGRATION_CATEGORY_SOURCE_CONTROL`      |      1 |             |
  | `INTEGRATION_CATEGORY_COMMUNICATION`       |      2 |             |
  | `INTEGRATION_CATEGORY_PROJECT_MANAGEMENT`  |      3 |             |
  | `INTEGRATION_CATEGORY_OBSERVABILITY`       |      4 |             |
  | `INTEGRATION_CATEGORY_DATA_ANALYTICS`      |      5 |             |
  | `INTEGRATION_CATEGORY_KNOWLEDGE`           |      6 |             |
  | `INTEGRATION_CATEGORY_MCP`                 |      7 |             |
  | `INTEGRATION_CATEGORY_AUTOMATION_TRIGGERS` |      8 |             |
  | `INTEGRATION_CATEGORY_AI`                  |      9 |             |
</Accordion>
