---
title: "PATCH /api/v1/ci/runner_pools/{id}"
method: PATCH
path: "/api/v1/ci/runner_pools/{id}"
tags: ["ci"]
---

# PATCH /api/v1/ci/runner_pools/{id}

`PATCH /api/v1/ci/runner_pools/{id}`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/ci/runner_pools/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Request body

- object
  - `status` string
  - `runner_kind` string
  - `isolation_mode` string
  - `description` string, nullable
  - `max_concurrency` integer
  - `labels_csv` string, nullable
  - `node_capabilities_csv` string, nullable
  - `elastic_provider_kind` string, nullable
  - `elastic_config_json` string, nullable

## Response `200`

CI runner pool catalog

- object
  - `runner_pool` object, required
    - `id` string, required
    - `organization_id` string, required
    - `network_space_id` string, nullable, required
    - `slug` string, required
    - `name` string, required
    - `status` string, required
    - `runner_kind` string, required
    - `isolation_mode` string, required
    - `description` string, nullable, required
    - `max_concurrency` integer, required
    - `labels_csv` string, nullable, required
    - `node_capabilities_csv` string, nullable, required
    - `elastic_provider_kind` string, nullable, required
    - `elastic_config_json` string, nullable, required
    - `bazel_enabled` boolean, required
    - `bazel_properties_json` string, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `runners` object[], required
      - `id` string, required
      - `organization_id` string, required
      - `ci_runner_pool_id` string, required
      - `network_peer_id` string, nullable, required
      - `slug` string, required
      - `name` string, required
      - `status` string, required
      - `kind` string, required
      - `os` string, nullable, required
      - `architecture` string, nullable, required
      - `version` string, nullable, required
      - `labels_csv` string, nullable, required
      - `node_capabilities_csv` string, nullable, required
      - `node_certificate_fingerprint_sha256` string, nullable, required
      - `node_certificate_serial` string, nullable, required
      - `node_certificate_expires_at` string, date-time, nullable, required
      - `bazel_enabled` boolean, required
      - `bazel_properties_json` string, nullable, required
      - `last_seen_at` string, date-time, nullable, required
      - `online_at` string, date-time, nullable, required
      - `offline_at` string, date-time, nullable, required
      - `cordoned_at` string, date-time, nullable, required
      - `revoked_at` string, date-time, nullable, required
      - `health_state` string, required
      - `schedulable` boolean, required
      - `heartbeat_age_seconds` integer, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `node_certificate_expires_at_label` string, nullable, required
      - `last_seen_at_label` string, nullable, required
      - `online_at_label` string, nullable, required
      - `offline_at_label` string, nullable, required
      - `cordoned_at_label` string, nullable, required
      - `revoked_at_label` string, nullable, required
      - `created_at_label` string, nullable, required
      - `updated_at_label` string, nullable, required
    - `runner_count_label` string, required
    - `modal_capacity` object, required
      - `queued_jobs` integer, required
      - `active_or_pending_leases` integer, required
      - `inflight_modal_invocations` integer, required
      - `failed_modal_invocations` integer, required
      - `deficit` integer, required
    - `modal_runner_invocations` object[], required
      - `id` string, required
      - `organization_id` string, required
      - `ci_runner_pool_id` string, required
      - `ci_runner_id` string, nullable, required
      - `ci_runner_lease_id` string, nullable, required
      - `ci_pipeline_run_id` string, nullable, required
      - `ci_job_id` string, nullable, required
      - `status` string, required
      - `modal_app_name` string, required
      - `modal_function_name` string, required
      - `modal_environment_name` string, nullable, required
      - `modal_call_id` string, nullable, required
      - `modal_sandbox_id` string, nullable, required
      - `runtime_kind` 'modal_function' | 'modal_vm_sandbox', required
      - `image_version` string, required
      - `failure_kind` 'provider' | 'bootstrap' | 'job' | 'transport', nullable, required
      - `runner_slug` string, required
      - `resource_class` string, required
      - `cpu_millicores` integer, required
      - `memory_mb` integer, required
      - `ephemeral_disk_mb` integer, required
      - `retry_count` integer, required
      - `last_error` string, nullable, required
      - `spawned_at` string, date-time, nullable, required
      - `claimed_at` string, date-time, nullable, required
      - `finished_at` string, date-time, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `spawned_at_label` string, nullable, required
      - `claimed_at_label` string, nullable, required
      - `finished_at_label` string, nullable, required
      - `created_at_label` string, nullable, required
      - `updated_at_label` string, nullable, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `422`: Unprocessable entity
- `502`: Bad gateway

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/19698ba051dc?raw)
