Skip to main content
POST
cURL
At least one of is_subjective or is_objective must be true. When is_objective is true, you must provide objective_options. See the ObjectiveOption schema for the full structure including nested sub_options.Place the disposition in a category by passing category_id (preferred) or a category name — at most one of the two; a payload with both fails with a 400 error. A category name that does not match one of the agent’s categories creates a fresh category. When both are omitted, the disposition goes to the agent’s General category. See Extraction Categories.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Disposition to create.

Request body for creating a disposition.

agent_id is required — the disposition is linked to that agent on creation. At least one of is_subjective or is_objective must be true. When is_objective is true, objective_options is required and must be non-empty. When subjective_type is regex, subjective_type_config with a pattern is required. Pass category_id (preferred) or a category name to place the disposition in a category; a category name that does not match one of the agent's categories creates a fresh category. Provide at most one of the two — a payload containing both category_id and category fails with a 400 error.

name
string
required

Display name shown in results.

Example:

"Call Outcome"

question
string
required

The prompt sent to the LLM to evaluate the transcript.

Example:

"What was the final outcome of this call?"

agent_id
string<uuid>
required

The agent the disposition will be linked to on creation.

category
string
default:General

Category name. Resolved against the agent's attached categories; a name that does not match an existing category creates one. Prefer category_id when the category already exists. When both category and category_id are omitted, the disposition goes to the agent's General category (created if absent).

Example:

"Lead Quality"

category_id
string<uuid>

ID of an existing extraction category attached to the agent. Preferred over category; provide at most one of the two — a payload containing both fails with a 400 error. The ID must belong to a category attached to the target agent, otherwise the request fails with a 404 error.

Example:

"9b2e8f10-4c7d-4e2a-9f31-6a8d5c1b0e42"

system_prompt
string

Optional system context for the LLM.

model
enum<string>
default:gpt-4.1-mini

LLM model to use for evaluation.

Available options:
gpt-4.1-mini,
gpt-4.1-nano,
gpt-4o-mini,
gpt-5-mini,
gpt-5-nano,
gpt-5.4-mini,
gpt-5.6-luna,
gemini-3.5-flash,
gemini-3.5-flash-lite
Example:

"gpt-4.1-mini"

is_subjective
boolean
default:false

Enable free-text response.

Example:

true

is_objective
boolean
default:false

Enable pre-defined value selection.

Example:

true

subjective_type
enum<string>
default:text

Format constraint for free-text responses. Only allowed when is_subjective is true.

Available options:
text,
timestamp,
numeric,
boolean,
email,
regex
subjective_type_config
object | null

Required when subjective_type is regex.

objective_options
object[]

Required when is_objective is true. Must be non-empty.

Example:

Response

Disposition created successfully

Standard response for create/update operations on a single disposition.

message
string
Example:

"Disposition created successfully"

id
string<uuid>
Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

category_id
string<uuid>

ID of the extraction category the disposition belongs to.

Example:

"9b2e8f10-4c7d-4e2a-9f31-6a8d5c1b0e42"