---
title: "GetIntegrationDefinition"
method: POST
path: "/gitpod.v1.IntegrationService/GetIntegrationDefinition"
tags: ["gitpod.v1.IntegrationService"]
---

# GetIntegrationDefinition

`POST /gitpod.v1.IntegrationService/GetIntegrationDefinition`

Gets details about a specific integration definition.

 Use this method to:
 - View integration definition configuration
 - Check supported capabilities
 - Verify authentication requirements

## Request body

- GitpodV1GetIntegrationDefinitionRequest
  - `id` string

## Response `200`

Success

- GitpodV1GetIntegrationDefinitionResponse
  - `definition` GitpodV1IntegrationDefinition, required — IntegrationDefinition defines a service that can be integrated with (e.g. Linear, GitHub, etc.)
    - `auth` GitpodV1IntegrationAuthentication — IntegrationAuthentication defines authentication requirements and options
      - `apiKey` GitpodV1IntegrationAPIKeyConfig — IntegrationAPIKeyConfig defines API key authentication configuration Additional API key configuration can be added here
      - `oauth` GitpodV1IntegrationOAuthConfig — IntegrationOAuthConfig defines OAuth-specific configuration
        - `authUrl` string — auth_url is the OAuth authorization endpoint URL
        - `clientId` string — client_id is the OAuth client ID (optional if dynamic_registration is enabled)
        - `clientSecret` string — client_secret is the OAuth client secret (optional for public clients)
        - `dynamicRegistration` boolean — dynamic_registration enables RFC 7591 OAuth 2.0 Dynamic Client Registration. When enabled, client credentials are obtained automatically from the authorization server's registration endpoint (discovered via RFC 8414 metadata). When disabled (default), client_id and client_secret must be pre-configured.
        - `redirectUrl` string — redirect_url is the OAuth callback/redirect URL
        - `scopes` string[] — scopes are the OAuth scopes to request
        - `tokenUrl` string — token_url is the OAuth token endpoint URL
      - `proprietaryApp` GitpodV1IntegrationProprietaryAppConfig — IntegrationProprietaryAppConfig defines proprietary application integration configuration
        - `clientId` string — client_id is the GitHub app client ID
        - `clientSecret` string — client_secret is the GitHub app client secret
        - `webhookSecret` string — webhook_secret is the GitHub app webhook secret
      - `requiresAuth` boolean — requires_auth indicates if authentication is required for this integration
    - `capabilities` GitpodV1IntegrationCapabilities — IntegrationCapabilities defines what an integration can do
      - `agentClient` GitpodV1IntegrationAgentClientCapability — IntegrationAgentClientCapability defines agent client capability Additional agent client configuration can be added here
      - `contextParsing` GitpodV1IntegrationContextParsingCapability — IntegrationContextParsingCapability defines context parsing capability Additional context parsing configuration can be added here
      - `login` GitpodV1IntegrationLoginCapability — IntegrationLoginCapability defines login/authentication capability Additional login configuration can be added here
      - `mcp` GitpodV1IntegrationMCPCapability — IntegrationMCPCapability defines Model Context Protocol capability
        - `headers` GitpodV1MCPHeader[] — headers contains extra HTTP headers to include in the request
          - `header` string — header contains the HTTP Header name
          - `value` string — value contains HTTP Header value
        - `url` string — url is the remote server URL for the MCP server
      - `sourceCodeAccess` GitpodV1IntegrationSourceCodeAccessCapability — IntegrationSourceCodeAccessCapability defines source code access capability Additional source code access configuration can be added here
    - `description` string — description provides a human-readable description of the integration
    - `experimental` boolean — experimental indicates if this integration is experimental and requires feature flag
    - `host` string — host is the hostname for this integration (e.g., "linear.app")
    - `iconUrl` string — icon_url is the URL for this integration's icon
    - `id` string, required — id is the unique identifier for this integration definition
    - `name` string, required — name is the human-readable name for this integration type

## Other responses

- `default` — Error

## Changes

- **2026-01-09** `3935e467f9c1` — 1 info
  - added the optional property `definition/auth/oauth/dynamicRegistration` to the response with the `200` status
- **2025-12-15** `d62ef4b9187c` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/gitpod-io/apis/gitpod-v1/changes/gitpod.v1.IntegrationService/GetIntegrationDefinition/post.md)

---

[API](https://skmtc.dev/gitpod-io/apis/gitpod-v1.md) · [All operations](https://skmtc.dev/gitpod-io/apis/gitpod-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gitpod-io/gitpod-v1/revisions/2423c089f280/schema)
