Send Desk Reply
POST /desk/decisions/{decision_id}/send-reply
SENDS AN EMAIL to a real person, then resolves the card.
Not idempotent, and it cannot be: the inbox send path carries no request id and no dedupe key. What protects a caller instead is the CARD: it is claimed before the send, guarded on still being pending, so only one request can win and a second gets a 409 having sent nothing.
A retry after a timeout is therefore safe in the usual case and silent in one: a crash between the claim and the send leaves a resolved card whose mail never went. That is deliberate - recoverable by a human, unlike a duplicate email, which cannot be recalled.
The opt-out check runs AGAIN here. reply-target already asked, but that
answer is as old as the caller’s editing session and a STOP that arrived
meanwhile must not be sent through.
Authorizations
Parameters
Path Parameters
Decision id (UUID).
Decision id (UUID).
Header Parameters
Request Body required
The rep’s reply, as it will arrive in the prospect’s inbox.
An omitted subject keeps the thread’s own. The opt-out check runs AGAIN
on send - reply-target already asked, but that answer is as old as the
editing session and a STOP arriving while the rep typed must not be sent
through.
Responses
200
Successful Response
object
An open envelope for one desk object.
Open on purpose - see the module docstring. A rebuilder gets every field the desk returns, including ones added after this contract version.
object
object
Whether there are more pages
Items per page
Current page number (1-indexed)
Total number of items
422
Validation Error