---
title: "Create Assistant"
method: POST
path: "/api/assistants/"
tags: ["assistants"]
---

# Create Assistant

`POST /api/assistants/`

Create a new assistant.

## Request body

- AssistantWithConfigCreate — Assistant create model with config -- used for creating a new assistant with config.
  - `model` 'gpt-4o'
  - `instructions` string, nullable
  - `knowledge_base_id` string, uuid, required
  - `tools` ToolInput[], nullable
    - `type` 'function', required
    - `function` Function, required
      - `name` string, required — The name of the function to be called.
      - `description` string, required — A description of what the function does, used by the model to choose when and how to call the function.
      - `parameters` FunctionParameters
        - `type` string, required
        - `properties` object
        - `required` string[], nullable
        - `additionalProperties` boolean
      - `strict` boolean
  - `name` string, required
  - `description` string, required

## Response `201`

Successful Response

- AssistantWithConfig
  - `model` 'gpt-4o'
  - `instructions` string, nullable
  - `knowledge_base_id` string, uuid, required
  - `tools` ToolOutput[], nullable
    - `type` 'function', required
    - `function` Function, required
      - `name` string, required — The name of the function to be called.
      - `description` string, required — A description of what the function does, used by the model to choose when and how to call the function.
      - `parameters` FunctionParameters
        - `type` string, required
        - `properties` object
        - `required` string[], nullable
        - `additionalProperties` boolean
      - `strict` boolean
  - `name` string, required
  - `description` string, required
  - `id` string, uuid, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `deleted_at` string, date-time, nullable, required

## Other responses

- `422` — Validation Error

## Changes

- **2024-10-17** `855f9ee2331d` — 1 breaking, 3 info
  - response property `tools` list-of-types was widened by adding types `null` to media type `application/json` of response `201`
  - the `tools` request property default value `` was removed
  - request property `tools` list-of-types was widened by adding types `null` to media type `application/json`
  - the `tools` response's property default value `` was removed for the status `201`
- **2024-10-16** `ef07edf2d4ac` — 5 info
  - added the new optional request property `tools`
  - added the optional property `instructions` to the response with the `201` status
  - added the optional property `model` to the response with the `201` status
  - added the optional property `tools` to the response with the `201` status
  - …1 more

[Change history](https://skmtc.dev/cleanlab/apis/agility/changes/api/assistants/post.md)

---

[API](https://skmtc.dev/cleanlab/apis/agility.md) · [All operations](https://skmtc.dev/cleanlab/apis/agility/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cleanlab/agility/revisions/855f9ee2331d/schema)
