Skip to Content

Continue Conversation

When Start Conversation returns status = interrupted, the Agent is waiting for more information from you. Send your answers via this endpoint and the paused run resumes from the interrupt point, until it succeeds, gets interrupted again, or fails.

A single round of conversation may be interrupted multiple times: if the run returns interrupted again after continuing, call this endpoint again with the new interrupt.

As with Start Conversation, choose blocking / SSE streaming response mode with the Accept header.

Request

HTTP MethodPOST
HTTP URL/v1/ai/agents/:id/conversations/:chat_uid/messages/:message_id/continue

Path Parameters

NameTypeRequiredDescription
idstringYESUID of the target Agent
chat_uidstringYESchat_uid of the interrupted conversation, from the Start Conversation response
message_idstringYESID of the interrupted message, from the message_id in the interrupt response

Request Body

NameTypeRequiredDescription
answers_by_tool_callobjectYESAnswers keyed by tool_call_id; must not be empty. Each value is a map of question text → answer

The structure of answers_by_tool_call is "tool call ID → answers for that inquiry", where each answer set is a map of "question → answer":

  • The outer key corresponds to tool_call_id in the interrupt structure.
  • The inner key is the interrupt question text, and the value is the answer you selected or typed.
  • All questions required by the interrupt must be answered, otherwise an error is returned.

Request Example

Response

The response structure is identical to Start Conversation.

Response Headers

  • Content-Type: application/json (blocking)
  • Content-Type: text/event-stream (streaming)

Response Example

Run succeeded:

json
{
  "code": 0,
  "message": "success",
  "data": {
    "chat_uid": "ct_9f2c1a5b",
    "message_id": "43",
    "status": "succeeded",
    "answer": "Over the past month, Tesla (TSLA.US)...",
    "references": [],
    "elapsed_time": 2.74
  }
}

Response Status

StatusDescriptionSchema
200Successconversation_response
400Invalid parametersEmpty answers_by_tool_call, message not interrupted, missing required interrupt answers, or conversation / message ownership mismatch
500Internal errorNone

Ownership Checks

To prevent resuming someone else's run, the server verifies that the conversation identified by chat_uid belongs to the authenticated member, and the message identified by message_id belongs to that conversation. Failing either check returns 400.