Skip to main content

Create an empty Session/Conversation in Ender Turing for Quality Assurance Scoring Using the API

Use this endpoint to create a non-conversation record in Ender Turing (session without uploading audio or chat transcripts).

Sometimes your business needs this to make a quality assurance process a non-conversation activity, like insurance inquiry handling or agreement processing process.

This is the API equivalent of the Manual Upload page in the UI (/main/upload/manual).

Before you start

You need:

1. API access token with permission to create sessions.

2. A valid agent_id (the agent must already exist in Ender Turing).

3. A valid payload with required fields:

  • type

  • agent_id

  • direction

  • start_dt

  • additional_info (can be {})

Endpoint

POST /api/v1/sessions/manual

Example full URL: https://<your-domain>/api/v1/sessions/manual

Request body (JSON)

{
"type": "call",
"agent_id": 123,
"direction": "out",
"start_dt": "2026-02-17T09:30:00Z",
"additional_info": {
"campaign_name": "Retention Q1",
"queue_name": "Default OUT queue",
"crm_statuses": ["Callback scheduled"],
"term_reason": "agent"
}
}

Field notes

  1. type: session type. Supported values are typically call, chat, email, web, loan.

  2. direction: in or out.

  3. start_dt: session start datetime (ISO 8601 recommended).

  4. additional_info: custom metadata object.

  5. Only metadata keys configured by your admin in Manual Sessions Optional Fields are stored. Unconfigured keys are ignored.

cURL example

curl -X POST "https://<your-domain>/api/v1/sessions/manual" \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"type": "call",
"agent_id": 123,
"direction": "out",
"start_dt": "2026-02-17T09:30:00Z",
"additional_info": {
"campaign_name": "Retention Q1",
"queue_name": "Default OUT queue"
}
}'

Response

{"session_id": "3f5bc2b5-cf7d-4aa0-9c2a-9c8b9d5b0a8e"}

What happens after upload

1. Ender Turing creates the session as already processed.

2. The default organization language is applied automatically.

3. No audio or transcript is created by this endpoint.

4. The session is indexed and becomes available in conversation lists/reports.

Add topics (optional)

This endpoint does not assign categories directly.

If needed, add categories after creation:

POST /api/v1/sessions/{session_id}/categories

Example:

{
"category_names": ["Card Reissue", "Complaint"]
}

Common errors

1. 404 Agent not found: agent_id does not exist.

2. 422 Unprocessable Entity: invalid payload format or missing required fields.

3. 401/403: missing token or insufficient permissions.

Troubleshooting checklist

1. Confirm agent_id is valid.

2. Confirm start_dt is a valid datetime.

3. Confirm additional_info is an object.

4. If metadata is missing after upload, check whether those keys are allowed in Manual Sessions Optional Fields.

---

Reference style/source:

Did this answer your question?