chat.yakka.postMessage

Write a message to the author's own repo, under their OAuth grant (Law 4: write admission belongs to the author's PDS, never to the appview). The appview is the caller's agent here, not an authority — a refusal from the PDS is reported as one rather than absorbed. Resolves once the record is ingested and sequenced, by which time the client has already shown a provisional copy and will reconcile on (uri, cid) (ADR 0011).

Repository @yakka.chat did:plc:wpjoy2orkqq5m65vq7gg7liz namespace authority
Details · procedure
Kindprocedure
Authorityyakka.chat
Indexed

Procedure

procedure · POST

Input

application/json
Reference

Output

application/json

Errors

ChannelNotFound

No description in schema.

ChannelForbidden

The mint declined for this viewer (ADR 0007).

WriteRefused

The author's own PDS refused the write. Theirs to explain, not ours to override.

WriteUnconfirmed

The record was written and the appview has not yet seen it come back through the sync path. The write SUCCEEDED. Do not retry it — a retry writes a second record, and the two are different messages with different URIs, not one message sent twice. The message will arrive over the socket or on the next timeline read; a client should leave its provisional copy in place rather than marking it failed. This is separate from WriteRefused because the two call for opposite responses, and a client that conflated them would double-post every time ingest ran slow.

#input

object

Properties

body

requiredstring

The message text, in the same spelling the view returns it (chat.yakka.defs#messageView). The record it becomes calls the field `text`.

  • maxLength: 10000
  • maxGraphemes: 2000

channel

requiredstring

replyTo

string · at-uri

The message being replied to. Display order of a thread still comes from the view sequence.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Posts a message from someone on another service into a linked channel. The community writes the message, attributed to that person.

  • A message in a channel or DM space. The record lives in the *author's* repo within the space, so a message has no single owning collection to sort by — it is identified by (authorDid, tid). One collection serves channels and DMs alike (ADR 0016), which is what lets one pipeline carry both.