---
title: "UpdateRunnerConfigurationSchema"
method: POST
path: "/gitpod.v1.RunnerInteractionService/UpdateRunnerConfigurationSchema"
tags: ["gitpod.v1.RunnerInteractionService"]
---

# UpdateRunnerConfigurationSchema

`POST /gitpod.v1.RunnerInteractionService/UpdateRunnerConfigurationSchema`

Updates the configuration schema for a runner.

 Use this method to:
 - Define configuration options
 - Update schema definitions
 - Set validation rules

 ### Examples

 - Update schema:

   Updates runner configuration schema.

   ```yaml
   runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
   configSchema:
     version: "1.0"
     runnerConfig:
       - id: "region"
         name: "Region"
         description: "Deployment region"
         required: true
         string:
           default: "us-west"
           pattern: "^[a-z]+-[a-z]+-[0-9]+$"
       - id: "autoUpdate"
         name: "Auto Update"
         description: "Enable automatic updates"
         required: true
         bool:
           default: true
   ```

## Request body

- GitpodV1UpdateRunnerConfigurationSchemaRequest
  - `configSchema` GitpodV1RunnerConfigurationSchema — unresolved $ref
  - `environmentClassUpdates` GitpodV1UpdateEnvironmentClassRequest[] — environment_class_updates contains full configuration replacements for existing environment classes owned by this runner.
    - `configuration` GitpodV1FieldValue[] — configuration fully replaces the stored environment-class configuration when non-empty. An omitted or empty configuration leaves the stored configuration unchanged.
      - `key` string
      - `value` string
      - `values` string[] — values is an ordered list value. A field uses either value or values.
    - `description` string, nullable
    - `displayName` string, nullable
    - `enabled` boolean, nullable
    - `environmentClassId` string, uuid
  - `runnerId` string, uuid — The runner's identity

## Response `200`

Success

- GitpodV1UpdateRunnerConfigurationSchemaResponse

## Other responses

- `default` — Error

## Changes

- **2026-07-30** `44d50c2ac284` — 2 breaking, 5 info
  - removed `subschema #1, subschema #2, subschema #3, subschema #4, subschema #5` from the `configSchema/environmentClasses/items/` request property `oneOf` list
  - removed `subschema #1, subschema #2, subschema #3, subschema #4, subschema #5` from the `configSchema/runnerConfig/items/` request property `oneOf` list
  - added the new optional request property `configSchema/environmentClasses/items/enumList`
  - added the new optional request property `configSchema/runnerConfig/items/enumList`
  - …3 more
- **2025-06-10** `ca9a49ac7fbb` — 10 info
  - added the new optional request property `configSchema/environmentClasses/items/enum/defaultValue`
  - added the new optional request property `configSchema/environmentClasses/items/enum/possibleValues`
  - added the new optional request property `configSchema/runnerConfig/items/enum/defaultValue`
  - added the new optional request property `configSchema/runnerConfig/items/enum/possibleValues`
  - …6 more
- **2025-02-21** `3655d5ad0ac3` — 1 breaking, 1 warning, 4 info
  - the `configSchema` request property type/format changed from ``/`` to `object`/``
  - removed `#/components/schemas/gitpod.v1.RunnerConfigurationSchema` from the `configSchema` request property `allOf` list
  - added the new optional request property `configSchema/environmentClasses`
  - added the new optional request property `configSchema/runnerConfig`
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/gitpod-io/apis/gitpod-v1/changes/gitpod.v1.RunnerInteractionService/UpdateRunnerConfigurationSchema/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/44d50c2ac284/schema)
