Skip to main content
POST
Decline RFQ

Authorizations

Authorization
string
header
required

Scoped API key (ttk_...), created in the Totalis app or by a wallet-session user through the API keys routes with a fresh wallet signature; those routes never accept a key. Each key acts for one account, yours or a maker's, and holds only scopes that account can use. Each operation lists the scopes it requires. Send no Origin.

Path Parameters

rfq_id
string<uuid>
required

The RFQ's rfq_id, from Create RFQ or RFQ_CREATED.

Body

application/json

Optional; no body declines as {} does. Decline every RFQ you will not quote: the optional detail tells Totalis why, and the taker never sees it.

Your decline of an open RFQ you will not quote. Every field is optional; {} declines without a detail.

detail
string

Optional: your own short code for why you will not quote it, such as CHAIN_READ_STALE or CATEGORY_NOT_QUOTED. Stored and logged so Totalis can see why RFQs go unquoted; never shown to the taker.

Pattern: ^[A-Z][A-Z0-9_]{0,63}$

Response

Your decline is recorded. The RFQ ends DECLINED once every maker with a live telemetry lease on the vault has declined it, no quote on it can still be accepted and no acceptance awaits an answer: status is DECLINED then, OPEN while another maker can still answer. Send no Idempotency-Key: the RFQ and your key's maker identify the one decline, so resending it answers again with the RFQ's current status and keeps your first detail. A quote you create on the RFQ after declining it withdraws the decline until you decline again.

The RFQ after your decline.

rfq_id
string<uuid>
required

The RFQ you declined.

status
enum<string>
required

DECLINED: your decline ended the RFQ. OPEN: another maker can still answer it.

Available options:
OPEN,
DECLINED