REST API
Dialog analysis is a long-running operation. Submit a request and poll for the result. Output is retained for 24 hours after completion.
Authentication
Supply your API key in the X-Api-Key header.
curl -X POST https://api.example.com/v2/dialog_analyses \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-d '{"input": {...}}'
Requesting Analysis
Request
POST /v2/dialog_analyses
{
"input": {
"messages": [...],
"language": "English",
"current_profile": {...},
"profile_schema": {...},
"feedback_schema": {...},
"prompt_extra_text": "..."
}
}
Response
{
"id": "/v2/dialog_analyses/123",
"state": "in-progress",
"created_at": "2024-12-06T15:30:00.000Z"
}
Checking Status
Request
GET /v2/dialog_analyses/{id}
Response (Completed)
{
"id": "/v2/dialog_analyses/123",
"state": "completed",
"created_at": "2024-12-06T15:30:00.000Z",
"server_runtime": 12,
"output": {
"profile": {...},
"feedback": {...}
}
}
Possible States
| State | Description |
|---|---|
in-progress | Analysis is being processed. Poll again later. |
completed | Analysis finished successfully. The output field contains results. |
failed | Analysis failed after all retry attempts. |
Error Responses
Validation Error (422)
Returned when the request payload is invalid.
{
"message": "The given data was invalid.",
"errors": {
"input.profile_schema.age.type": ["The type must be string."]
}
}
Input Size Exceeded (422)
Returned when the total payload exceeds the maximum allowed size.
{
"message": "The given data was invalid.",
"errors": {
"input": ["Total payload size (150000 characters) exceeds maximum allowed (100000 characters)."]
}
}
Rate Limited (429)
Returned when rate limits are exceeded.
{
"message": "Too Many Attempts."
}