---
title: "Update Assistant"
method: PUT
path: "/assistants/{assistant_id}"
tags: ["Assistants"]
---

# Update Assistant

`PUT /assistants/{assistant_id}`

Update an assistant's attributes, including its name, description, and tools. Note: The 'tools' field will replace the existing list of tools. Embedding model cannot be changed after creation.

## Path parameters

- `assistant_id` string, uuid, required

## Headers

- `authorization` string, nullable
- `x_session_token` string, nullable

## Request body

- AssistantUpdate
  - `name` string, nullable — New name for the assistant
  - `system_prompt` string, nullable — New system prompt (alias for description)
  - `tools` ToolDefinition[], nullable — New list of tools for the assistant. Replaces existing tools.
    - `type` string — Type of the tool, e.g., 'function'
    - `function` FunctionDefinition, required
      - `name` string, required — Name of the function to be called
      - `description` string, nullable — Description of what the function does
      - `parameters` ToolParameters, required
        - `type` string — The type of the parameters object, typically 'object'
        - `properties` object, required — Parameter definitions
        - `required` string[], nullable — List of required parameter names
  - `tok_k` integer, nullable — Document search top_k for the internal search_documents tool.
  - `custom_fact_extraction_prompt` string, nullable — Custom prompt for fact extraction from conversations. Set to empty string to clear.
  - `custom_update_memory_prompt` string, nullable — Custom prompt for memory update decisions. Set to empty string to clear.

## Response `200`

Successful Response

- Assistant
  - `name` string, required — Name of the assistant
  - `system_prompt` string, nullable — Optional system prompt (alias for description)
  - `tools` ToolDefinition[], nullable — List of tools available to the assistant
    - `type` string — Type of the tool, e.g., 'function'
    - `function` FunctionDefinition, required
      - `name` string, required — Name of the function to be called
      - `description` string, nullable — Description of what the function does
      - `parameters` ToolParameters, required
        - `type` string — The type of the parameters object, typically 'object'
        - `properties` object, required — Parameter definitions
        - `required` string[], nullable — List of required parameter names
  - `tok_k` integer — Document search top_k for the internal search_documents tool (default 10).
  - `embedding_provider` string, nullable — Embedding provider (openai, google, cohere, etc.)
  - `embedding_model_name` string, nullable — Embedding model name (e.g., text-embedding-3-large, text-embedding-004)
  - `embedding_dims` integer, nullable — Embedding dimensions (e.g., 1024 for Cohere, 3072 for OpenAI text-embedding-3-large)
  - `custom_fact_extraction_prompt` string, nullable — Custom prompt for fact extraction from conversations. If not set, the default prompt is used.
  - `custom_update_memory_prompt` string, nullable — Custom prompt for memory update decisions (add/update/delete). If not set, the default prompt is used.
  - `assistant_id` string, uuid, required
  - `created_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

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