List session threads

⚠️
Preview — this feature is being built; the design below is the spec.
GET https://app.syntic.ai/v1/sessions/{session_id}/threads

Return the threads of a session: the primary conversation and every delegate thread the agent started. Use it to see which sub-agent did what and what each cost.

For how this fits into a full workflow, see Threads and delegation.

Headers

HeaderRequiredValue
AuthorizationYesBearer <key>: a private inference key (sk_live_...). See Authentication.
syntic-betaYes, while in previewagents-2026-11-01. Without it the call fails with 400 beta_required. See Versioning.

Path parameters

ParameterTypeDescription
session_idstringThe session id, starting with sesn_.

Query parameters

ParameterTypeDefaultDescription
rolestringprimary or delegate.
statusstringFilter by status.
limitinteger201 to 100.
after_idstringNext page: the previous page’s last_id.
before_idstringPrevious page: the previous page’s first_id.

Response

200 OK, Content-Type: application/json

{
  "data": [
    {
      "id": "thr_01JCC2E4G6J8L0N2Q4S6",
      "type": "session_thread",
      "session_id": "sesn_01JC7M2K4P6R8T0V2X4Z",
      "role": "delegate",
      "parent_thread_id": "thr_01JCC1D3F5H7K9M1P3R5",
      "agent_id": "agt_01JCC0B2D4F6H8K0M2P4",
      "agent_version": 2,
      "title": "Check carrier tracking for order 88123",
      "status": "completed",
      "usage": {
        "input_tokens": 6120,
        "cached_input_tokens": 4096,
        "output_tokens": 388,
        "cost_usd": "0.0112"
      },
      "created_at": "2026-11-05T10:02:10Z",
      "ended_at": "2026-11-05T10:02:41Z"
    }
  ],
  "has_more": false,
  "first_id": "thr_01JCC2E4G6J8L0N2Q4S6",
  "last_id": "thr_01JCC2E4G6J8L0N2Q4S6"
}
FieldTypeDescription
idstringStarts with thr_.
rolestringprimary for the session’s main conversation, delegate for a sub-agent the primary handed work to.
parent_thread_idstring or nullThe thread that started this one; null for the primary thread.
agent_idstringThe agent running in this thread. Delegates run the agent named in the parent’s delegates list.
statusstringrunning, idle, completed, failed or interrupted.
usageobjectTokens and cost for this thread alone. The session’s usage is the sum of all threads.

Examples

curl -sS "https://app.syntic.ai/v1/sessions/sesn_01JC7M2K4P6R8T0V2X4Z/threads?role=delegate" \
  -H "Authorization: Bearer $SYNTIC_API_KEY" \
  -H "syntic-beta: agents-2026-11-01"

Errors

Errors use the error envelope and carry a request_id. Codes specific to this operation:

StatustypecodeWhen
400invalid_request_errorbeta_requiredThe syntic-beta header is missing.
404not_found_errorsession_not_foundNo session with this id in the key’s workspace.
401authentication_errorinvalid_api_keyThe key is missing, unknown, revoked or expired.
429rate_limit_errorrate_limitedToo many requests; wait for Retry-After. See Rate-limit headers.
Was this page helpful?