Interrupt a session
⚠️
Preview — this feature is being built; the design below is the spec.
POST https://app.syntic.ai/v1/sessions/{session_id}/interruptStop the turn in progress. The agent stops after its current step, the turn ends with outcome interrupted, and the session becomes idle, ready for the next message. Tokens already used are billed.
For how this fits into a full workflow, see Sessions.
Headers
| Header | Required | Value |
|---|---|---|
Authorization | Yes | Bearer <key>: a private inference key (sk_live_...). See Authentication. |
syntic-beta | Yes, while in preview | agents-2026-11-01. Without it the call fails with 400 beta_required. See Versioning. |
Path parameters
| Parameter | Type | Description |
|---|---|---|
session_id | string | The session id, starting with sesn_. |
Response
200 OK, Content-Type: application/json
{
"id": "sesn_01JC7M2K4P6R8T0V2X4Z",
"type": "session",
"agent_id": "agt_01JC4R8W6Q2N9X3T5V7Y",
"agent_version": 4,
"status": "idle",
"channel": "api",
"title": "Refund for order 88123",
"usage": {
"input_tokens": 0,
"cached_input_tokens": 0,
"output_tokens": 0,
"cost_usd": "0.0000"
},
"outcome": {
"reason": "interrupted",
"message": null
},
"created_at": "2026-11-05T10:00:00Z",
"last_event_at": "2026-11-05T10:00:00Z",
"metadata": {}
}Examples
curl -sS -X POST https://app.syntic.ai/v1/sessions/sesn_01JC7M2K4P6R8T0V2X4Z/interrupt \
-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:
| Status | type | code | When |
|---|---|---|---|
| 400 | invalid_request_error | beta_required | The syntic-beta header is missing. |
| 404 | not_found_error | session_not_found | No session with that id in this workspace. |
| 409 | conflict_error | session_not_running | Nothing is running to interrupt. |
| 401 | authentication_error | invalid_api_key | The key is missing, unknown, revoked or expired. |
| 429 | rate_limit_error | rate_limited | Too many requests; wait for Retry-After. See Rate-limit headers. |
Related
Was this page helpful?