Skip to main content
POST
Create Disposition

Overview

Dispositions are enabled per organization. If your organization does not have access, these endpoints return 404.
Creates a disposition on the agent with the supplied definition as its draft. The disposition starts disabled and does not run on calls until you estimate and publish it. Edit the draft later with Update Disposition Draft. Requires an admin, owner, operator, or prompter role.

Headers

string
required
Your API key for authentication.

Path Parameters

string
required
The agent’s unique identifier. Must be a UUID; otherwise returns 400 with the message agentId must be a valid UUID. Returns 404 Agent not found if the agent is not in your organization.

Body Parameters

Unknown fields anywhere in the body are rejected.
string
required
Stable slug for the disposition, 1 to 64 characters matching ^[a-z][a-z0-9_]*$. Unique per agent; returns 409 CONFLICT if another live disposition on this agent already uses it. Cannot be changed after creation.
object
required
The full disposition definition. Schema violations return 400 BAD_REQUEST with message Invalid request body and an ext string listing each failing path. Rule violations (a judge pin that does not exist, a duplicate value key, a transformation that references an unknown value id) return 400 BAD_REQUEST with message Definition failed validation and an ext string carrying problems, each with valueId and message. Drafts are validated less strictly than publishing: a structured_extraction value may omit its version pin, and judge or extractor pins may still be editable.

Response

Returns 201 on success.
object
The new disposition summary.
null | array
null on success, or a list of error objects if the request failed.

Docs for agents: llms.txt