---
title: "Update a repo"
method: PUT
path: "/api/repos/{id}"
tags: ["Repos"]
---

# Update a repo

`PUT /api/repos/{id}`

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `url` string
  - `name` string
  - `clonePath` string
  - `defaultBranch` string
  - `autoClone` boolean
  - `hooks` RepoHooks
    - `enabled` boolean
  - `guidelines` RepoGuidelines, nullable
    - `prChecks` string[], required
    - `mergeChecks` string[], required
    - `allowMerge` boolean
    - `review` string[], required

## Response `200`

Repo updated

- SwarmRepo
  - `id` string, uuid, required
  - `url` string, required
  - `name` string, required
  - `clonePath` string, required
  - `defaultBranch` string
  - `autoClone` boolean
  - `hooks` RepoHooks
    - `enabled` boolean
  - `guidelines` RepoGuidelines, nullable
    - `prChecks` string[], required
    - `mergeChecks` string[], required
    - `allowMerge` boolean
    - `review` string[], required
  - `createdAt` string, required
  - `lastUpdatedAt` string, required

## Other responses

- `404` — Repo not found
- `409` — Duplicate repo

## Changes

- **2026-08-07** `06cac6a7c5bc` — 2 breaking, 1 warning, 1 info
  - the request property `hooks` became not nullable
  - the `hooks` request property type changed from `object, null` to no type
  - removed the request property `hooks/enabled`
  - added `#/components/schemas/RepoHooks, subschema #2` to the `hooks` request property `anyOf` list

[Change history](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/changes/api/repos/:id/put.md)

---

[API](https://skmtc.dev/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/revisions/e0acd2155cad/schema)
