---
title: "POST /simulate/api/agent-definition-operations/"
method: POST
path: "/simulate/api/agent-definition-operations/"
tags: ["simulate"]
---

# POST /simulate/api/agent-definition-operations/

`POST /simulate/api/agent-definition-operations/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/simulate/api/agent-definition-operations/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

## Request body

- AgentDefinition
  - `id` string, uuid
  - `agent_name` string, required: Name of the AI agent
  - `agent_type` 'voice' | 'text'
  - `contact_number` string, nullable: Phone number associated with the AI agent
  - `inbound` boolean, required: Whether the agent handles inbound calls
  - `target_speaks_first` boolean, nullable: Whether the target agent speaks first (greets) in a hosted voice simulation. True: the simulator waits for the target's greeting; False: the simulator opens the conversation; null: derive from inbound/outbound. Retell targets always let the simulator open (SDK limitation).
  - `description` string, required: Detailed description of the AI agent's purpose and capabilities
  - `assistant_id` string, nullable: External identifier for the assistant
  - `provider` string, nullable: Provider of the AI agent
  - `language` 'ar' | 'bg' | 'zh' | 'cs' | 'da' | 'nl' | 'en' | 'fi' | 'fr' | 'de' | 'el' | 'hi' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'ms' | 'no' | 'pl' | 'pt' | 'ro' | 'ru' | 'sk' | 'es' | 'sv' | 'tr' | 'uk' | 'vi', nullable: Language of the agent
  - `languages` string[], nullable
  - `authentication_method` 'api_key', nullable
  - `websocket_url` string, uri, nullable: WebSocket URL for real-time communication with the agent
  - `websocket_headers` object, nullable: Headers to be sent to the websocket server
  - `workspace` string, uuid, nullable
  - `knowledge_base` string, uuid, nullable
  - `organization` string, uuid: Organization this agent definition belongs to
  - `api_key` string, nullable: API key for the agent
  - `observability_provider` string, uuid, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `model` string, nullable: Model of the agent
  - `model_details` object, nullable: Details of the model
  - `livekit_url` string
  - `livekit_api_key` string
  - `livekit_api_secret` string

## Response `201`

Created

- AgentDefinition
  - `id` string, uuid
  - `agent_name` string, required: Name of the AI agent
  - `agent_type` 'voice' | 'text'
  - `contact_number` string, nullable: Phone number associated with the AI agent
  - `inbound` boolean, required: Whether the agent handles inbound calls
  - `target_speaks_first` boolean, nullable: Whether the target agent speaks first (greets) in a hosted voice simulation. True: the simulator waits for the target's greeting; False: the simulator opens the conversation; null: derive from inbound/outbound. Retell targets always let the simulator open (SDK limitation).
  - `description` string, required: Detailed description of the AI agent's purpose and capabilities
  - `assistant_id` string, nullable: External identifier for the assistant
  - `provider` string, nullable: Provider of the AI agent
  - `language` 'ar' | 'bg' | 'zh' | 'cs' | 'da' | 'nl' | 'en' | 'fi' | 'fr' | 'de' | 'el' | 'hi' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'ms' | 'no' | 'pl' | 'pt' | 'ro' | 'ru' | 'sk' | 'es' | 'sv' | 'tr' | 'uk' | 'vi', nullable: Language of the agent
  - `languages` string[], nullable
  - `authentication_method` 'api_key', nullable
  - `websocket_url` string, uri, nullable: WebSocket URL for real-time communication with the agent
  - `websocket_headers` object, nullable: Headers to be sent to the websocket server
  - `workspace` string, uuid, nullable
  - `knowledge_base` string, uuid, nullable
  - `organization` string, uuid: Organization this agent definition belongs to
  - `api_key` string, nullable: API key for the agent
  - `observability_provider` string, uuid, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `model` string, nullable: Model of the agent
  - `model_details` object, nullable: Details of the model
  - `livekit_url` string
  - `livekit_api_key` string
  - `livekit_api_secret` string

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error
- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
