Skip to content
Proud to collaborate with Microsoft for Startups

data.chat.conversations.get ​

Fetch a single chat conversation by UUID for a (org, user) pair

Fetch a single chat conversation by UUID, scoped to a (organization, user) pair.

Inputs (ADR-015):

  • organization_uuid: Organization UUID (required, string).
  • user_uuid: User UUID (required, string). Must be a member of the organization or the call is rejected as unauthorized.
  • conversation_uuid: Conversation UUID (required, string). Matched against ChatConversation.uuid within the same org.

Outputs (ADR-015 — terminal state_data on success):

  • conversation_uuid: ChatConversation.uuid (str)
  • title: Resolved title (str, possibly empty)
  • created_at: ISO-8601 timestamp (str)
  • updated_at: ISO-8601 timestamp (str | null when never updated)
  • message_count: Denormalized counter (int)
  • metadata: Pass-through of ChatConversation.metadata_json (dict)
  • archived: Whether the thread is archived (bool)

Failure vocabulary (raised as WorkflowBusinessError with stable codes):

  • organization_not_found_or_unauthorized — caller is not a member of the org (or the org/user UUID does not resolve). Returned BEFORE the row lookup so existence is never leaked to an unauthorized caller.
  • conversation_not_found — caller is authorized but the conversation UUID does not exist in this org.
  • validation_failed — engine-level input validation rejected the request.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-chat
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—Organization UUID (string form)
user_uuiduuidNo—User UUID (string form) — must be a member of the org
conversation_uuiduuidYes—ChatConversation UUID (string form)

Output Schema ​

FieldTypeRequiredDefaultDescription
conversation_uuiduuidYes—ChatConversation UUID
titlestringYes—Thread title (may be empty string)
created_atstringYes—ISO-8601 creation timestamp
updated_atstringNo—ISO-8601 last-update timestamp (null when never updated)
message_countintegerYes—Denormalized message counter
metadatadictYes—Pass-through of ChatConversation.metadata_json
archivedbooleanYes—Whether the conversation is archived
errorstringNo—Error message when query failed
error_typestringNo—Error class name when query failed

States ​

StateInitialTerminalSuccessAuto-advanceDescription
doneYesYesYes——

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "data.chat.conversations.get",
  "initial_data": {
    "organization_uuid": "value",
    "conversation_uuid": "value"
  }
}