---
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, nullable, required
  - `context_limit` integer, nullable — The maximum number of context chunks to include in a run.
  - `codex_access_key` string, nullable
  - `response_validation_config` ResponseValidationCheck[], nullable
    - `name` 'trustworthiness' | 'response_helpfulness' | 'context_sufficiency' | 'response_groundedness' | 'query_ease', required
    - `is_bad_threshold` number, required
  - `tools` union[], nullable
    - union
      - CodexV0Tool
        - `type` 'codex_v0'
        - `access_key` string, required
      - NoOpTool
        - `type` 'noop'
  - `name` string, required — The name of the assistant
  - `description` string, required — The description of the assistant
  - `url_slug` string, nullable — Optional URL suffix - unique identifier for the assistant's endpoint
  - `suggested_questions` string[] — A list of suggested questions that can be asked to the assistant
  - `logo_s3_key` string, nullable — S3 object key to the assistant's logo image
  - `logo_text` string, nullable — Text to display alongside the assistant's logo

## Response `201`

Successful Response

- Assistant — Assistant model.
  - `name` string, required — The name of the assistant
  - `description` string, required — The description of the assistant
  - `url_slug` string, nullable — Optional URL suffix - unique identifier for the assistant's endpoint
  - `suggested_questions` string[] — A list of suggested questions that can be asked to the assistant
  - `logo_s3_key` string, nullable — S3 object key to the assistant's logo image
  - `logo_text` string, nullable — Text to display alongside the assistant's logo
  - `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

- **2025-04-15** `f22c2d6c16f0` — 1 info
  - added the new optional request property `response_validation_config`
- **2025-04-14** `b890eea39144` — 1 info
  - added the new optional request property `codex_access_key`
- **2025-04-10** `d95b89c34a94` — 4 info
  - added the new optional request property `logo_s3_key`
  - added the new optional request property `logo_text`
  - added the optional property `logo_s3_key` to the response with the `201` status
  - added the optional property `logo_text` to the response with the `201` status
- **2025-01-22** `2aa38a4bc52c` — 1 breaking, 1 warning, 2 info
  - removed `#/components/schemas/AlphaV0Tool` from the `tools/anyOf[subschema #1]/items/` request property `anyOf` list
  - removed the request property `tools/anyOf[subschema #1]/items/anyOf[subschema #2: NoOpTool]/name`
  - added the new optional request property `tools/anyOf[subschema #1]/items/anyOf[subschema #2: NoOpTool]/type`
  - added `#/components/schemas/CodexV0Tool` to the `tools/anyOf[subschema #1]/items/` request property `anyOf` list
- **2025-01-02** `60c8c820f2cb` — 1 info
  - added the new optional request property `tools`

[Full 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/f22c2d6c16f0/schema)
