Conversations

Cancel an in-flight chat stream

Changed on

Cooperatively stop a POST /conversations/stream or POST /conversations/{conversationId}/messages/stream run that is still generating, using the runId sent when that stream started.

This is a synchronous JSON ack, not another SSE stream. The cancelled run's own stream (if still connected) receives a terminal frame with a stopped status and whatever partial answer had already generated; nothing further is delivered here.

A runId that already finished or was never registered is not an error either, but it is answered { cancelled: true }, not false: the query service's KV-backed run registry publishes the cancel for other workers and acknowledges it as cancelled (a known defect). { cancelled: false } is only returned when that publish fails.

Only the conversation's owner (matched on userId) can cancel; any other caller, or a missing, deleted or agent conversation, is 404.

runId must belong to a run started on THIS conversationId — a runId that exists but was registered under a different conversation (even one owned by the same caller) is rejected with 403, same as a runId owned by a different user/org.

post/conversations/{conversationId}/cancel

Request

  • Base URL
    https://app.pipeshub.com/api/v1
  • URL
    https://app.pipeshub.com/api/v1/conversations/{conversationId}/cancel
  • Auth
    • HTTP bearer
    • or OAuth 2
      Authorization code: /api/v1/oauth2/authorize
      Client credentials
      Token URL: /api/v1/oauth2/token scopes: conversation:chat

Path parameters

conversationIdstring objectId required

Request body

runIdstring uuid required

The runId sent when the stream was started.

Response

Cancellation requested, or the run had already finished.

cancelledboolean required

Changes

    • breaking

      added the pattern ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ to the request property

    • info

      added the media type application/x-www-form-urlencoded to the request body

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the non-success response with the status

    • info

      the response property became required for the status

    • info

      endpoint added