# Create a Knowledge Assistant

Launch stage: Beta

`POST /api/2.1/knowledge-assistants`

Creates a Knowledge Assistant.

API scopes: knowledge-assistants

## Request body

The Knowledge Assistant to create.
- `name` (string, optional, ID, Immutable)
  The resource name of the Knowledge Assistant.
   Format: knowledge-assistants/{knowledge_assistant_id}
- `display_name` (string, ^[\w.-]+$, required)
  The display name of the Knowledge Assistant, unique at workspace level.
   Required when creating a Knowledge Assistant.
   When updating a Knowledge Assistant, optional unless included in
   update_mask.
  Constraints: `[ 4 .. 63 ] characters`
- `description` (string, required)
  Description of what this agent can do (user-facing).
   Required when creating a Knowledge Assistant.
   When updating a Knowledge Assistant, optional unless included in
   update_mask.
- `instructions` (string, optional)
  Additional global instructions on how the agent should generate answers.
   Optional on create and update.
   When updating a Knowledge Assistant, include this field in update_mask to
   modify it.

## Returns

Returns the KnowledgeAssistant object.

## Response

```json
{
  "name": "string",
  "state": "CREATING",
  "id": "string",
  "display_name": "string",
  "description": "string",
  "instructions": "string",
  "creator": "string",
  "create_time": "string",
  "endpoint_name": "string",
  "experiment_id": "string",
  "error_info": "string"
}
```

