Resolve a conversation
POST /api/conversations/{id}/resolve
Marks a conversation as resolved, ending the active conversation lifecycle. This sends a signal to the conversation’s Temporal workflow, which triggers post-resolution processing including the learning loop (which may propose new KB entries and policies based on the conversation). Optionally include an outcome description summarizing how the issue was resolved.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The unique identifier of the conversation to resolve.
Request Body
Section titled “Request Body ”object
A short description of how the conversation was resolved. Stored on the conversation record for reporting and audit.
Example
Delivery timeline confirmed, customer satisfied.Responses
Section titled “ Responses ”The conversation was resolved successfully. Post-resolution workflows (learning loop, CSAT follow-up) have been triggered.
Simple success acknowledgment returned by action endpoints (reply, resolve, take-over, etc.).
object
Always true on success.
Example
trueAn API key restricted to a brand or workspace named a conversation that does not exist or is in a workspace outside its restriction, or any caller named an id that is not a conversation id (Conversation not found). Nothing is changed.
Standard error response returned by all endpoints on failure.
object
A human-readable error message describing what went wrong.
Example
Conversation not foundA machine-readable reason on some refusals, for example ‘key_lock’ when an API key’s brand or workspace restriction does not cover the action.
Example
key_lockOn a 403 for an API key without a scope the endpoint requires: the scopes the key lacks.
Example
[ "mcp:write"]On a 409 with code duplicate_question or duplicate_rule_text: the knowledge base entry or policy that already holds the question or rule text.
Example
11223344-5566-4788-99aa-bbccddeeff00On a 422 about one MCP connection a request names, from an assignment or an agent create or update (a connection that does not exist, one listed twice, or one that does not declare a tool named): the connection, as the request named it.
On the same 422: the tool names the connection does not declare.
Example
[ "get_orders"]On the same 422: the tools the connection declares.
Example
[ "get_order", "search_orders"]The conversation cannot be resolved in its current state (e.g., already resolved).
Standard error response returned by all endpoints on failure.
object
A human-readable error message describing what went wrong.
Example
Conversation not foundA machine-readable reason on some refusals, for example ‘key_lock’ when an API key’s brand or workspace restriction does not cover the action.
Example
key_lockOn a 403 for an API key without a scope the endpoint requires: the scopes the key lacks.
Example
[ "mcp:write"]On a 409 with code duplicate_question or duplicate_rule_text: the knowledge base entry or policy that already holds the question or rule text.
Example
11223344-5566-4788-99aa-bbccddeeff00On a 422 about one MCP connection a request names, from an assignment or an agent create or update (a connection that does not exist, one listed twice, or one that does not declare a tool named): the connection, as the request named it.
On the same 422: the tool names the connection does not declare.
Example
[ "get_orders"]On the same 422: the tools the connection declares.
Example
[ "get_order", "search_orders"]