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

# UpdateIntegrationDefinition

`POST /gitpod.v1.IntegrationService/UpdateIntegrationDefinition`

Updates an existing integration definition.
 Requires service account authentication.

 Use this method to:
 - Modify integration capabilities
 - Update authentication configuration
 - Change integration metadata

## Request body

- GitpodV1UpdateIntegrationDefinitionRequest
  - `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
      - `authParams` object — auth_params are additional query parameters to include in the OAuth authorization URL. Use comma-separated values for multi-value params (e.g., "search:read,chat:write" for Slack's user_scope).
      - `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. Used for app installations that interact with Ona (e.g., GitHub Apps, Linear agent apps).
      - `apiKey` string — api_key is the provider API key used to post updates back to the external service. Stored encrypted, censored in API responses.
      - `appId` string — app_id is the application identifier assigned by the provider (e.g., GitHub App ID). Used to authenticate as the application itself.
      - `appScopes` string[] — app_scopes are OAuth scopes to request when using app installation flows. If not set, falls back to the standard OAuth scopes.
      - `appSlug` string — app_slug is the URL-friendly identifier assigned by the provider (e.g., GitHub App slug). Used to construct installation URLs like https://github.com/apps/{app_slug}/installations/new.
      - `authParams` object — auth_params are additional OAuth authorization parameters to include in the auth URL. Example: {"actor": "app"} for Linear agent installations.
      - `clientId` string — client_id is the app client ID
      - `clientSecret` string — client_secret is the app client secret
      - `privateKey` string — private_key is the PEM-encoded private key used to sign JWTs for app authentication. This is sensitive and will be censored in API responses.
      - `tokenUrl` string — token_url is the OAuth token exchange endpoint for app installation flows. If not set, falls back to the standard oauth.token_url. Slack requires a different token endpoint for app-level vs user-level flows.
      - `webhookSecret` string — webhook_secret is the secret used to verify webhook signatures from the app provider
    - `requiresAuth` boolean — requires_auth indicates if authentication is required for this integration
  - `capabilities` GitpodV1IntegrationCapabilities — IntegrationCapabilities defines what an integration can do
    - `agentClient` GitpodV1IntegrationAgentClientCapability — IntegrationAgentClientCapability indicates the integration supports agent client functionality. Used by integrations that receive external events and create agent sessions. IntegrationAgentClientCapability indicates the integration supports agent client functionality. Secrets (webhook signing secret, API key) are stored in IntegrationProprietaryAppConfig within the encrypted auth column.
      - `defaultProjectId` string, uuid — default_project_id is the Ona project to use when no project can be resolved from the incident context. Optional.
      - `severityThreshold` string — severity_threshold controls the minimum incident severity that triggers an agent session. Values: "SEV1", "SEV2", "SEV3", or empty (all).
    - `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
      - `url` string — url is the remote server URL for the MCP server
    - `scmPrEvents` GitpodV1IntegrationScmPrEventsCapability — IntegrationScmPrEventsCapability indicates the integration can deliver pull request webhook events (opened, updated, etc.) for automation triggers. Empty - presence of this capability indicates PR event support
    - `sourceCodeAccess` GitpodV1IntegrationSourceCodeAccessCapability — IntegrationSourceCodeAccessCapability defines source code access capability Additional source code access configuration can be added here
  - `categories` GitpodV1IntegrationCategory[] — categories classifies this integration for filtering and display
  - `description` string, nullable — description provides a human-readable description of the integration
  - `experimental` boolean, nullable — experimental indicates if this integration is experimental and requires feature flag
  - `host` string, nullable — host is the hostname for this integration (e.g., "linear.app")
  - `iconUrl` string, nullable — icon_url is the URL for this integration's icon
  - `id` string
  - `name` string, nullable — name is the human-readable name for this integration type

## Response `200`

Success

- GitpodV1UpdateIntegrationDefinitionResponse
  - `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
        - `authParams` object — auth_params are additional query parameters to include in the OAuth authorization URL. Use comma-separated values for multi-value params (e.g., "search:read,chat:write" for Slack's user_scope).
        - `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. Used for app installations that interact with Ona (e.g., GitHub Apps, Linear agent apps).
        - `apiKey` string — api_key is the provider API key used to post updates back to the external service. Stored encrypted, censored in API responses.
        - `appId` string — app_id is the application identifier assigned by the provider (e.g., GitHub App ID). Used to authenticate as the application itself.
        - `appScopes` string[] — app_scopes are OAuth scopes to request when using app installation flows. If not set, falls back to the standard OAuth scopes.
        - `appSlug` string — app_slug is the URL-friendly identifier assigned by the provider (e.g., GitHub App slug). Used to construct installation URLs like https://github.com/apps/{app_slug}/installations/new.
        - `authParams` object — auth_params are additional OAuth authorization parameters to include in the auth URL. Example: {"actor": "app"} for Linear agent installations.
        - `clientId` string — client_id is the app client ID
        - `clientSecret` string — client_secret is the app client secret
        - `privateKey` string — private_key is the PEM-encoded private key used to sign JWTs for app authentication. This is sensitive and will be censored in API responses.
        - `tokenUrl` string — token_url is the OAuth token exchange endpoint for app installation flows. If not set, falls back to the standard oauth.token_url. Slack requires a different token endpoint for app-level vs user-level flows.
        - `webhookSecret` string — webhook_secret is the secret used to verify webhook signatures from the app provider
      - `requiresAuth` boolean — requires_auth indicates if authentication is required for this integration
    - `capabilities` GitpodV1IntegrationCapabilities — IntegrationCapabilities defines what an integration can do
      - `agentClient` GitpodV1IntegrationAgentClientCapability — IntegrationAgentClientCapability indicates the integration supports agent client functionality. Used by integrations that receive external events and create agent sessions. IntegrationAgentClientCapability indicates the integration supports agent client functionality. Secrets (webhook signing secret, API key) are stored in IntegrationProprietaryAppConfig within the encrypted auth column.
        - `defaultProjectId` string, uuid — default_project_id is the Ona project to use when no project can be resolved from the incident context. Optional.
        - `severityThreshold` string — severity_threshold controls the minimum incident severity that triggers an agent session. Values: "SEV1", "SEV2", "SEV3", or empty (all).
      - `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
        - `url` string — url is the remote server URL for the MCP server
      - `scmPrEvents` GitpodV1IntegrationScmPrEventsCapability — IntegrationScmPrEventsCapability indicates the integration can deliver pull request webhook events (opened, updated, etc.) for automation triggers. Empty - presence of this capability indicates PR event support
      - `sourceCodeAccess` GitpodV1IntegrationSourceCodeAccessCapability — IntegrationSourceCodeAccessCapability defines source code access capability Additional source code access configuration can be added here
    - `categories` GitpodV1IntegrationCategory[] — categories classifies this integration for filtering and display
    - `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

---

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