---
title: "UpdateLLMIntegration"
method: POST
path: "/gitpod.v1.RunnerConfigurationService/UpdateLLMIntegration"
tags: ["gitpod.v1.RunnerConfigurationService"]
---

# UpdateLLMIntegration

`POST /gitpod.v1.RunnerConfigurationService/UpdateLLMIntegration`

Updates an existing LLM integration.

 Use this method to:
 - Modify integration settings
 - Update credentials
 - Change configuration

 ### Examples

 - Update integration:

   Updates OAuth credentials.

   ```yaml
   id: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
   apiKey: "sk-..."
   ```

## Request body

- GitpodV1UpdateLLMIntegrationRequest
  - `apiKey` string, nullable — api_key can be set to update the LLM provider's API key. The cleartext secret will be encrypted with the runner's public key before being stored.
  - `codexConfiguration` GitpodV1LLMIntegrationCodexConfiguration — LLMIntegrationCodexConfiguration contains Codex-specific model aliases for an LLM integration.
    - `modelMappings` GitpodV1LLMIntegrationCodexConfigurationModelMapping[]
      - `model` 'CODEX_OPEN_AI_MODEL_UNSPECIFIED' | 'CODEX_OPEN_AI_MODEL_GPT_5_5' | 'CODEX_OPEN_AI_MODEL_GPT_5_4' | 'CODEX_OPEN_AI_MODEL_GPT_5_4_MINI' | 'CODEX_OPEN_AI_MODEL_GPT_5_3_CODEX' | 'CODEX_OPEN_AI_MODEL_GPT_5_3_CODEX_SPARK' | 'CODEX_OPEN_AI_MODEL_GPT_5_2' | 'CODEX_OPEN_AI_MODEL_GPT_5_6_SOL' | 'CODEX_OPEN_AI_MODEL_GPT_5_6_TERRA' | 'CODEX_OPEN_AI_MODEL_GPT_5_6_LUNA' — CodexOpenAIModel is the static allowlist of concrete OpenAI models that the Codex app runtime can select through Ona's Codex picker.
      - `providerModel` string — provider_model is the exact model identifier expected by the upstream integration.
  - `endpoint` string, nullable
  - `id` string, uuid
  - `maxTokens` string, nullable — max_tokens can be set to update the maximum number of tokens to generate before stopping.
  - `models` GitpodV1SupportedModel[] — models can be updated to change the supported LLM models Set list of supported models to the given list. Empty list means no updates to the models.
  - `phase` 'LLM_INTEGRATION_PHASE_UNSPECIFIED' | 'LLM_INTEGRATION_PHASE_AVAILABLE' | 'LLM_INTEGRATION_PHASE_UNAVAILABLE' | 'LLM_INTEGRATION_PHASE_DISABLED' — LLMIntegrationPhase represents the current status/phase of an LLM integration
  - `requestHeaders` GitpodV1LLMIntegrationRequestHeader[] — request_headers set optional headers for the LLM integration.
    - `headerType` 'LLM_INTEGRATION_REQUEST_HEADER_TYPE_UNSPECIFIED' | 'LLM_INTEGRATION_REQUEST_HEADER_TYPE_LITERAL' | 'LLM_INTEGRATION_REQUEST_HEADER_TYPE_CEL_EXPRESSION' — LLMIntegrationRequestHeaderType describes how an LLM integration request header value is resolved.
    - `key` string
    - `value` string, byte
  - `tokenSource` 'LLM_TOKEN_SOURCE_UNSPECIFIED' | 'LLM_TOKEN_SOURCE_DIRECT_API' | 'LLM_TOKEN_SOURCE_BEDROCK' | 'LLM_TOKEN_SOURCE_BEDROCK_MANTLE' | 'LLM_TOKEN_SOURCE_VERTEX_AI' — LLMTokenSource identifies how an LLM integration obtains model access. It is independent from LLMProvider, which identifies the model family.

## Response `200`

Success

- GitpodV1UpdateLLMIntegrationResponse

## 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)
