Skip to main content
POST
Ingest local harness messages

Authorizations

Authorization
string
header
required

API token from cargo-ai login. Send as Authorization: Bearer <token>.

Headers

Idempotency-Key
string

Client-generated key that makes this write safe to retry. Reusing the same key with the same request returns the original response instead of creating a second record. Reusing it with a different request returns 422. A concurrent retry while the first request is still running returns 409. Keys expire after 24 hours. Not accepted on multipart file uploads. Optional: a request without one is processed as it always was.

Maximum string length: 255
Example:

"8e03978e-40d5-43e8-bc93-6894a57f9324"

Body

application/json

Request body schema.

chatUuid
string<uuid>
required

Chat identifier.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$
userParts
any[]
required

Finished user message parts.

assistantParts
any[]
required

Finished assistant message parts.

agentUuid
string<uuid>

Agent identifier for the ingested messages.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$
turnOwnerId
string

The id this caller claimed the chat with. Recording the turn releases that claim, and only that one.

Required string length: 1 - 255
cancelled
boolean

True when the turn was interrupted. It is still recorded, since the tokens were spent, but stored as cancelled rather than as a finished answer.

usage
Usage · object

Usage recorded on the assistant message, if any.

Response

Ingest local harness messages

userMessage
User message · object
required

The ingested user message.

assistantMessage
Assistant message · object
required

The ingested assistant message.