alicli documentation

send

send

Send a reviewed message to an existing conversation.

ALICLI_LANE=example-ops alicli send \
  --to "1000000000001-1000000000002#11011@icbu" \
  --message "Please confirm the lead time for 500 units." --json

Address and checks

Use the exact CID from threads list. A unique stored supplier name can resolve to a CID; ambiguous names refuse. The title is display metadata, not the address. Before the device is touched, the CLI requires a lane, acquires the account send lock and checks outgoing-row counts. When the source count is unavailable, a completed feed drain plus a clean own-send echo check can provide the fallback preflight.

The device path opens the chat, checks the foreground and title, and looks for text selected as unique by the mirror. It then focuses the input, types, verifies the draft and taps the observed send button. Missing evidence, short/shared texts, a changed title or a suspected duplicate can cause refusal. Line breaks in the proposed body are refused.

Read the outcome

Field or optionMeaning
sentThe device path observed the draft change after tapping send. This is not a supplier-read receipt; check the subsequent feed echo.
not_sentA safety gate stopped the operation before the send tap. The CLI reports an error; inspect the stated gate.
unknownThe send was attempted but the result could not be verified. The CLI returns success:true with outcome:unknown. Do not resend automatically.

Successful responses include threadId, requestedTo, msgId, sentBy, outcome, openedTitle and evidenceUsed. Keep the full evidence in your audit record. The local lock does not prevent a human, browser or unrelated client from writing to the account.

threads · json · contact · watchdog