---
title: "Create new assistant with custom functions"
method: POST
path: "/flows/{flowID}/assistants/"
tags: ["Assistants"]
---

# Create new assistant with custom functions

`POST /flows/{flowID}/assistants/`

## Path parameters

- `flowID` integer, required

## Request body

- ModelsCreateAssistant
  - `functions` ToolsFunctions
    - `disabled` ToolsDisableFunction[]
      - `context` string[], required
      - `name` string, required
    - `functions` ToolsExternalFunction[]
      - `context` string[], required
      - `name` string, required
      - `schema` object, required
      - `timeout` integer
      - `url` string, required
    - `token` string
  - `input` string, required
  - `provider` string, required
  - `resource_ids` integer[]
  - `use_agents` boolean

## Response `201`

assistant created successful

- object
  - `data` object
    - `created_at` string
    - `deleted_at` string
    - `flow` ModelsFlow
      - `created_at` string
      - `deleted_at` string
      - `functions` ToolsFunctions
        - `disabled` ToolsDisableFunction[]
          - `context` string[], required
          - `name` string, required
        - `functions` ToolsExternalFunction[]
          - `context` string[], required
          - `name` string, required
          - `schema` object, required
          - `timeout` integer
          - `url` string, required
        - `token` string
      - `id` integer
      - `language` string, required
      - `model` string, required
      - `model_provider_name` string, required
      - `model_provider_type` string, required
      - `status` string, required
      - `title` string, required
      - `tool_call_id_template` string, required
      - `trace_id` string
      - `updated_at` string
      - `user_id` integer, required
    - `flow_id` integer, required
    - `functions` ToolsFunctions
      - `disabled` ToolsDisableFunction[]
        - `context` string[], required
        - `name` string, required
      - `functions` ToolsExternalFunction[]
        - `context` string[], required
        - `name` string, required
        - `schema` object, required
        - `timeout` integer
        - `url` string, required
      - `token` string
    - `id` integer
    - `language` string, required
    - `model` string, required
    - `model_provider_name` string, required
    - `model_provider_type` string, required
    - `msgchain_id` integer
    - `status` string, required
    - `title` string, required
    - `tool_call_id_template` string, required
    - `trace_id` string, required
    - `updated_at` string
    - `use_agents` boolean
  - `status` string

## Other responses

- `400` — invalid assistant request data
- `403` — creating assistant not permitted
- `500` — internal error on creating assistant

---

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