Ask the user to approve a transfer, without spending funds.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
What is being sent, and to whom.
Exactly one of contactId / quoteId / invoiceId must be set
(mirrors the /mcp/transfer body). amount is required when contactId
is the dispatch path; otherwise it is derived from the referenced invoice
or quote.
Response
Successful Response
One outcome shape for both ways a transfer attempt can end.
Spent straight away: txHash only. Needs approval: the request that was
filed, with the deep link to approve it. transactionId appears once an
approved transfer has been reported back. A decline reason is not a field —
it is a message in chatId, the request's thread.
Client-facing status of a transfer_request proposal.
The record is a proposal (seven statuses); this is the short vocabulary the
API keeps for the agent and the web app, mapped from ProposalStatus by
:meth:from_proposal.
requested, approved, declined, failed