Skip to main content

Submit client-side tool results and wait for the next segment

POST 

/api/v1/llm/submit-client-tool-results-sync

Submits client-side tool results and waits until the run arms another client-tool batch or finishes. This continues the loop started by send-message-sync. While the conversation still identifies a run, workflow validation rejects unmatched calls with 400 and already-resolved calls with 410.

If no active run is recorded, this call can return success immediately without applying any results. Reconcile stored run and tool state before treating HTTP success as confirmation that the results were applied.

Echo the clientToolCursor from the response that armed the calls. A stale cursor re-delivers a batch rather than skipping one. When another batch arrives, execute it and submit again with its new cursor until the run reaches a terminal outcome. Reconcile an unknown status with a bounded wait; do not assume success.

An empty results array returns 400: submitting nothing resolves nothing. Use list-pending-client-tools to inspect pending work or recover after a dropped connection. Do not resend the original user message, which would start another run. Use submit-client-tool-results when you do not want to hold the connection.

See Messages and run outcomes for status interpretation and recovery.

Request​

Responses​

Run status and available messages or pending client tools returned

Document ID: DOC-MA-conversations-api-submitClientToolResultsSync. Section identities and revisions.

SectionStable reference
OverviewDOC-MA-conversations-api-submitClientToolResultsSync#overview
RequestDOC-MA-conversations-api-submitClientToolResultsSync#request
ResponsesDOC-MA-conversations-api-submitClientToolResultsSync#responses