Update Message Needs Help
Flag or resolve a message’s needs help state. Leslie raises the flag when unable to answer a
resident’s question; a Fortress staff member can raise or resolve one too. While any message on the
conversation has an open flag, the conversation’s conversationStatus reads NEEDS_HELP regardless of
where the underlying workflow stands. Resolving the last open flag returns the conversation to whatever
status that workflow currently calls for.
A single PATCH handles both directions: isFlagged: true raises the flag, isFlagged: false resolves
it. The response echoes the message plus a rollup of the conversation’s needs-help state, so you don’t
need a follow-up GET /conversations to learn whether the thread is still flagged.
The request is idempotent. Flagging an already-flagged message, or resolving one that isn’t flagged,
returns 200 with the current state rather than an error — Leslie retrying a request must not have to
distinguish a repeat from the original.
This endpoint is part of our evolving API ecosystem. To explore availability for your integration, please contact our team.
Authentication
Path parameters
Request
Free-text reason for the flag. Omit it rather than sending an empty string. Ignored when isFlagged is false.
Attributes the flag or resolution to this Fortress user. Only honoured on requests
authenticated with a service x-api-key; a request authenticated with a user token ignores
this field and is always attributed to the signed-in user instead.
Response
The updated message, plus a rollup of the conversation’s needs-help state. Returned whether or not this request changed anything.
Direction and origin of the message. Messages created through POST /messages are always OUTBOUND.
Current delivery status. Statuses reported by the downstream carrier or email provider are passed through verbatim, so this is an open set rather than a fixed enum.
Statuses set by Fortress: CREATED, PROCESSING, FAILED, INVALID_PHONE_NUMBER,
INVALID_EMAIL, RECEIVED, AUTOMATED, MASS_COMMUNICATION.
Statuses reported by the carrier: QUEUED, SENT, DELIVERED, UNDELIVERED, FAILED.
The terminal statuses for SMS are DELIVERED, UNDELIVERED, and FAILED. For email they
are DELIVERED, FAILED, and REJECTED.
Caller-supplied key that uniquely identifies the send request. Reusing a key returns the original message rather than sending a duplicate.
True while this message has an open needs-help flag. Absent on messages that have never been flagged.
Who raised the needs-help flag, why, and who resolved it. Absent on messages that have
never been flagged. The flag details survive resolution, so this still describes the
original request after needsHelp returns to false.
Caller-supplied metadata, plus sentAt and sentBy recorded by Fortress at send time.
A rollup of the parent conversation, for confirming its status without a follow-up read.

