---
title: "Create Assistant"
method: POST
path: "/admin/assistants"
tags: ["provider", "admin"]
---

# Create Assistant

`POST /admin/assistants`

## Headers

- `TENANT` string, required
- `API-KEY` string, required

## Request body

- AssistantCreate
  - `firstName` string, required
  - `customPrompt` string, nullable
  - `beginSentenceTemplate` string, nullable
  - `model` 'gemini-2.5-flash' | 'claude-3-7-sonnet' | 'claude-3-5-haiku' | 'gpt-5.2' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-realtime' | 'gpt-realtime-mini' | 'gemini-2.5-flash' | 'gemini-2.5-flash-preview-05-20' | 'gemini-2.5-flash-lite' | 'gemini-live'
  - `tools` string[], nullable
  - `timezone` string, required
  - `fallbackPhoneNumber` string, nullable
  - `recurringEvents` RecurringEventUpdate[]
    - `id` string, required
    - `rrule` string, required
    - `startDate` string, date-time, required
    - `durationMinutes` integer, required
    - `timezone` string, required
    - `serviceIds` string[], nullable
    - `capacity` integer, nullable
    - `type` 'APPOINTMENT' | 'SHIFT' | 'BLOCK', required
    - `title` string, required
    - `attendeeIds` string[], nullable
    - `locationId` string, nullable
  - `primaryLocationId` string, nullable
  - `assistantType` 'SCHEDULER' | 'BILLER' | 'NOTE_TAKER' | 'NOTE_UPLOADER' | 'CALL_SUMMARIZER' | 'FORM_ASSISTANT' | 'INBOUND_CALL' | 'CALL_REMINDER' | 'CALL_FOLLOW_UP' | 'CALL_LAB_TECHNICIAN' | 'INBOUND_TEXT', required
  - `modality` 'VOICE' | 'TEXT', required
  - `phoneNumber` string, required

## Response `200`

Successful Response

- AssistantDetail
  - `id` string, required
  - `firstName` string, required
  - `description` string, nullable
  - `assistantType` 'SCHEDULER' | 'BILLER' | 'NOTE_TAKER' | 'NOTE_UPLOADER' | 'CALL_SUMMARIZER' | 'FORM_ASSISTANT' | 'INBOUND_CALL' | 'CALL_REMINDER' | 'CALL_FOLLOW_UP' | 'CALL_LAB_TECHNICIAN' | 'INBOUND_TEXT', required
  - `customPrompt` string, nullable
  - `modality` 'VOICE' | 'TEXT'
  - `beginSentenceTemplate` string, nullable
  - `model` 'gemini-2.5-flash' | 'claude-3-7-sonnet' | 'claude-3-5-haiku' | 'gpt-5.2' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-realtime' | 'gpt-realtime-mini' | 'gemini-2.5-flash' | 'gemini-2.5-flash-preview-05-20' | 'gemini-2.5-flash-lite' | 'gemini-live'
  - `tools` string[], nullable
  - `timezone` string, required
  - `enabled` boolean, nullable
  - `phoneNumber` string, nullable
  - `fallbackPhoneNumber` string, nullable
  - `isArchived` boolean, nullable
  - `isDefault` boolean, nullable
  - `primaryLocationId` string, nullable
  - `recurringEvents` RecurringEventDetail[]
    - `id` string, required
    - `rrule` string, required
    - `startDate` string, date-time, required
    - `durationMinutes` integer, required
    - `timezone` string, required
    - `serviceIds` string[], nullable
    - `capacity` integer, nullable
    - `type` 'APPOINTMENT' | 'SHIFT' | 'BLOCK', required
    - `title` string, required
    - `attendeeIds` string[], nullable
    - `locationId` string, nullable
    - `organizerId` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/decodahealth/apis/decoda-api.md) · [All operations](https://skmtc.dev/decodahealth/apis/decoda-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/decodahealth/decoda-api/revisions/4939a65a89d2/schema)
