next_cursor walks back into older history. Posting a message does not return the assistant reply — it returns 202 and a run.
Accepted:
awaiting_input, the next POST is the answer and the run resumes. Otherwise a new run starts.
Attributes
uuid
Unique identifier for the message. Present on list, not on the
202.enum
user or assistant.string
Message text. Always present; the plain-text fallback when
parts is set.array
Present when the reply carries a rich-message block. An ordered list, each part either
{ "type": "text", "text" } or { "type": "data", "kind", "payload", "ref" }. Render the data parts by kind; fall back to content for a kind you don’t know. null on an ordinary message.uuid
Run that produced or accepted this message.
integer
Position on the thread.
timestamp
When the message was written.
uuid
Thread the run belongs to. Present on the
202.enum
Run state at accept time. See The Run object.
Endpoints
POST /v1/loom/threads/{thread_id}/messages— send a messageGET /v1/loom/threads/{thread_id}/messages— list messages