---
title: "Update an AI toolset"
method: PUT
path: "/api/{org_id}/ai/toolsets/{id}"
tags: ["AI"]
---

# Update an AI toolset

`PUT /api/{org_id}/ai/toolsets/{id}`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/ai/toolsets/{id}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/ai/toolsets/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates the description and/or data of an existing AI toolset. When `data` is provided it fully replaces the existing config. Only available in enterprise deployments.

## Path parameters

- `org_id` string, required
- `id` string, required

## Request body

- object: Request body for updating an existing toolset.
  - `data` unknown
  - `description` string, nullable

## Response `200`

Toolset updated

- ToolsetResponse: Single toolset as returned by the API. Always construct via [`ToolsetResponse::from_toolset`] to ensure sensitive credential values are redacted before the response leaves the server.
  - `created_at` integer, required
  - `created_by` string, required
  - `data` unknown
  - `description` string, nullable
  - `id` string, required
  - `kind` 'mcp' | 'cli' | 'skill' | 'generic', required: The type of AI toolset integration.
  - `name` string, required
  - `org` string, required
  - `updated_at` integer, required

## Other responses

- `400`: Invalid request
- `404`: Toolset not found

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
