---
title: "Update bot"
method: PATCH
path: "/bots/{id}"
tags: ["Bots"]
---

# Update bot

`PATCH /bots/{id}`

## Request

- Base URL: `https://api.crevio.co/v1`
- URL: `https://api.crevio.co/v1/bots/{id}`
- Auth: API key in header `Authorization`

Updates an existing bot. `skill_slugs` and `toolsets` are tri-state: `null` means every skill / every toolset, `[]` means none, and a list restricts the bot to exactly those. Omitting a field leaves it unchanged.

## Path parameters

- `id` string, required

## Request body

- AiBotRequest
  - `name` string
  - `handle` string
  - `role` string, nullable
  - `persona` string, nullable
  - `position` integer
  - `avatar_style` object
    - `shape` string
    - `color` string
  - `skill_slugs` string[], nullable: Restrict the bot to these skills. `null` means every skill; `[]` means none. Omit to leave unchanged.
  - `toolsets` string[], nullable: Restrict the bot to these toolsets (crevio_platform, crevio_onboarding, crevio_docs, crevio_api, integrations). `null` means every toolset; `[]` means none. Omit to leave unchanged.
  - `model_tier` 'fast' | 'balanced' | 'quality' | 'null', nullable: Which model tier the bot runs on: `fast` (cheapest, for checks and short reviews), `balanced`, or `quality`. `null` uses the account default. Omit to leave unchanged.

## Response `200`

Bot updated

- AiBot
  - `id` string, required
  - `object` string, required
  - `name` string, required
  - `handle` string, required
  - `role` string, nullable, required
  - `persona` string, nullable, required
  - `position` integer, required
  - `skill_slugs` string[], nullable, required
  - `toolsets` string[], nullable, required
  - `avatar_style` object, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `avatar_url` string, nullable, required
  - `model_id` string, nullable, required
  - `model_tier` string, nullable, required

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Forbidden
- `404`: Resource not found
- `422`: Validation error
- `429`: Rate limit exceeded — 600 requests per minute per credential. Retry after the number of seconds in `Retry-After`.
- `500`: Internal server error

---

[API](https://skmtc.dev/crevio/apis/crevio-api-v1.md) · [All operations](https://skmtc.dev/crevio/apis/crevio-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/crevio/apis/crevio-api-v1/revisions/2219f18ad651?raw)
