---
title: "Update an assistant"
method: PATCH
path: "/assistants/{assistant_id}"
tags: ["Assistant"]
---

# Update an assistant

`PATCH /assistants/{assistant_id}`

## Request

- Base URL: `https://api.your-domain.com`
- URL: `https://api.your-domain.com/assistants/{assistant_id}`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/docs/assistants/:assistant_id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update an assistant's configuration.

## Path parameters

- `assistant_id` integer, required

## Query parameters

- `cookie_name` string, nullable

## Request body

- AssistantIn
  - `name` string, required: Display name of the assistant.
  - `model` string, nullable: Name of the LLM model the assistant uses; defaults to the tenant default.
  - `avatar` string, nullable: Avatar image reference for the assistant.
  - `description` string, nullable: Short description of what the assistant does.
  - `description_show_in_chat` boolean: Whether to show the description inside the chat UI.
  - `predefined_prompts` string[], nullable: Suggested starter prompts shown to users.
  - `instructions` string, nullable: System instructions steering the assistant's behavior.
  - `temperature` number, nullable: Sampling temperature for the assistant's LLM.
  - `similarity_top_k` number, nullable: Number of top similar chunks to retrieve for context.
  - `input_type` 'prompt' | 'form'
  - `form_fields` FormField[], nullable: Field definitions for form-input assistants.
    - `name` string, nullable
    - `label` string, required
    - `type` 'text' | 'selection' | 'number' | 'email' | 'checkbox' | 'date' | 'file', required
    - `required` boolean
    - `options` string[], nullable
    - `placeholder` string, nullable
    - `description` string, nullable

## Response `200`

Successful Response

- Assistant: Represents an AI Assistant partially compatible with the OpenAI Assistant API.
  - `state` string, nullable: Current lifecycle state of the record.
  - `state_reason` string, nullable: Optional explanation for the current state.
  - `state_changed_at` string, date-time, nullable: UTC timestamp when the state last changed.
  - `id` integer, nullable: Primary key for the assistant.
  - `tenant_id` integer, required: ID of the tenant that owns the assistant.
  - `created_at` string, date-time: Timestamp when the assistant was created.
  - `updated_at` string, date-time, nullable: Timestamp when the assistant was last updated.
  - `creator_user_id` integer, required: ID of the user who created the assistant.
  - `name` string, required: Name of the assistant.
  - `avatar` string, nullable: Avatar image (URL or encoded data) for the assistant.
  - `description` string, nullable: Optional description of the assistant.
  - `description_show_in_chat` boolean: Whether the assistant description is shown in the chat UI.
  - `predefined_prompts` unknown[], nullable: List of predefined prompts suggested to users.
    - unknown
  - `instructions` string, nullable: System instructions guiding the assistant's behavior.
  - `llm_catalog_id` integer, nullable: ID of the LLM catalog entry used by the assistant.
  - `temperature` number, nullable: Sampling temperature used by the assistant.
  - `similarity_top_k` integer, nullable: Number of top similar documents to retrieve for the assistant.
  - `input_type` string: Input type for the assistant (e.g. prompt or form).
  - `form_fields` unknown[], nullable: Form field definitions for form-input assistants.
    - unknown

## Other responses

- `401`: Missing or invalid authentication.
- `403`: Not the creator of this assistant.
- `404`: No assistant exists with the given id.
- `422`: Validation Error

---

[API](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api.md) - [All operations](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/revisions/b53e89b98c2b?raw)
