---
title: "Create or update a runnergroup"
method: PUT
path: "/orgs/{orgName}/runnergroups/{runnergroupName}"
tags: ["RunnerGroups"]
---

# Create or update a runnergroup

`PUT /orgs/{orgName}/runnergroups/{runnergroupName}`

## Request

- Base URL: `https://api.signadot.com/api/v2`
- URL: `https://api.signadot.com/api/v2/orgs/{orgName}/runnergroups/{runnergroupName}`
- Auth: API key in header `signadot-api-key`

Creates or updates a runnergroup with the provided parameters.

## Path parameters

- `orgName` string, required
- `runnergroupName` string, required

## Request body

- JobRunnerGroup
  - `createdAt` string
  - `deletedAt` string
  - `name` string
  - `spec` JobRunnerGroupSpec
    - `cluster` string
    - `image` string
    - `jobTimeout` string: JobTimeout specifies the max job execution time of jobs running with this RunnerGroup. If not specified, it defaults to 30 minutes ("30m")
    - `labels` object
    - `namespace` string
    - `podTemplate` unknown
    - `reusePods` boolean: ReusePods specifies whether JRG pods are reused after job executions. If false (default), JRG pods are always recreated after each job.
    - `scaling` JobRunnerGroupScaling
      - `auto` JobRunnerGroupAutoScaling
        - `maxPods` integer
        - `minPods` integer
      - `manual` JobRunnerGroupManualScaling
        - `desiredPods` integer
  - `status` JobRunnerGroupStatus
    - `executions` JobRunnerGroupExecutionsStatus
      - `queued` integer
      - `running` integer
    - `pods` JobRunnerGroupPodsStatus
      - `idle` integer
      - `notReady` integer
      - `ready` integer
  - `updatedAt` string

## Response `200`

OK

- JobRunnerGroup
  - `createdAt` string
  - `deletedAt` string
  - `name` string
  - `spec` JobRunnerGroupSpec
    - `cluster` string
    - `image` string
    - `jobTimeout` string: JobTimeout specifies the max job execution time of jobs running with this RunnerGroup. If not specified, it defaults to 30 minutes ("30m")
    - `labels` object
    - `namespace` string
    - `podTemplate` unknown
    - `reusePods` boolean: ReusePods specifies whether JRG pods are reused after job executions. If false (default), JRG pods are always recreated after each job.
    - `scaling` JobRunnerGroupScaling
      - `auto` JobRunnerGroupAutoScaling
        - `maxPods` integer
        - `minPods` integer
      - `manual` JobRunnerGroupManualScaling
        - `desiredPods` integer
  - `status` JobRunnerGroupStatus
    - `executions` JobRunnerGroupExecutionsStatus
      - `queued` integer
      - `running` integer
    - `pods` JobRunnerGroupPodsStatus
      - `idle` integer
      - `notReady` integer
      - `ready` integer
  - `updatedAt` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `502`: Bad Gateway

## Changes

- **2024-05-22** `60a6cefcf87c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/signadot/apis/signadot-api/changes/orgs/:orgName/runnergroups/:runnergroupName/put.md)

---

[API](https://skmtc.dev/signadot/apis/signadot-api.md) - [All operations](https://skmtc.dev/signadot/apis/signadot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signadot/apis/signadot-api/revisions/5e80b0f9c718?raw)
