Skip to content

Create Work Message

POST
/work/messages

Post one message into a conversation this credential may write to.

channel addresses the conversation — a channel name or id. Send either message (plain text) or document (a rich-text document, normalized server-side so a hostile link never reaches storage), plus optional attachmentIds, mentionAgentIds and thread parents.

403 when the caller is not a member of the channel — an organisation credential holds a seat in the built-in channels and nowhere else, so that is where it can post. 404 when no such conversation exists.

Mentioning an agent starts an agent turn in the background, which is how a message gets answered; the send returns as soon as the message is stored. The author is resolved from the authenticated principal and the body cannot express one — author, actor_id and org_id are refused outright.

Authorizations

Parameters

Header Parameters

Idempotency-Key
Any of:
string

Retry-safety key. Replaying one returns the ORIGINAL result with duplicate: true instead of writing twice. Omit it and the server mints a single-use key, which means a retried request writes again — send your own for anything you may retry.

X-Target-Org-Id
Any of:
string

Request Body required

One message a person is sending into a Work channel.

Carries what is being said and where — never who is saying it. The author, the organization and the signing identity all come from the authenticated session in work/router.py; Idempotency-Key comes from the header.

object
attachmentIds
Array<string>
<= 20 items
channel
required
string
>= 1 characters <= 255 characters
document
Any of:
object
key
additional properties
any
mentionAgentIds
Array<string>
<= 16 items
mentionUserIds
Array<string>
<= 64 items
message
Any of:
string
<= 12000 characters
parentMessageId
Any of:
string
<= 128 characters
projectId
Any of:
string
<= 255 characters
rootMessageId
Any of:
string
<= 128 characters

Responses

201

Successful Response

object
data
required

One stored Work message.

object
author
Any of:
object
key
additional properties
any
channel
Any of:
string
createdAt
Any of:
string
document
Any of:
object
key
additional properties
any
id
Any of:
string
text
Any of:
string
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string