Skip to main content

messages/authorize

Server → TM round-trip asking for the per-message fan-out verdict. Triggered from MessageService.sendCommit after the durable insert lands and before the broadcast. Manifests opt in by declaring hooks.message_authorize. Failure / timeout in the round-trip synthesizes a fail-closed Block { reason: "tm_unreachable" } verdict at the AppHost envelope (mirrors runAuthorizeDispatch’s wrapHookEffectWithEnvelope posture). Forward { recipients } MUST be a subset of the conversation’s participants; the server does not re-fan to non-participants. Forward { recipients: [] } is legal — message lands in the sender’s transcript but is delivered to no one else.

Parameters

taskId
string (UUID)
required
Branded TaskId
appId
string
required
The appId field.
conversationId
string (UUID)
required
Branded ConversationId
message
object
required
The message field.
receivedAt
string (ISO 8601)
The receivedAt field.
clock
object
The clock field.

Response

verdict
union
The verdict field.