Skip to main content
GET
Read a quote request's recorded answer

Authorizations

X-API-Key
string
header
required

Send the API key in X-API-Key.

Request signing. A key with signing enabled (POST /api/v1/workspaces/{workspaceId}/users/me/api-keys/{keyId}/signing, which returns the signing secret once) must also sign every request:

  • X-Timestamp: the current Unix time in seconds, within 300 seconds of the server clock.
  • X-Signature: lower-case hex HMAC-SHA256 of the canonical string, keyed with the signing secret's 32 bytes (the secret is 64 hex characters; decode it first).

The canonical string is four lines joined by \n, with no trailing newline: the X-Timestamp value, the upper-case method, the path with its query exactly as sent (/api/v1/orders?limit=1), and the lower-case hex SHA-256 of the exact body bytes (the SHA-256 of an empty body when there is none).

A write's signature (POST, PUT, PATCH, DELETE) is accepted once: sending the same signed write again is refused, so a retry signs again. A read (GET, HEAD) changes nothing, so an identical signed read inside the window is admitted again and polling needs no nonce.

A signing refusal is a 401 AUTH_REQUIRED whose details.reason names the cause: SIGNATURE_REQUIRED (a header is missing), SIGNATURE_INVALID (a malformed header or a wrong signature), TIMESTAMP_OUT_OF_RANGE or SIGNATURE_REPLAYED.

Headers

X-Workspace-Id
string<uuid>

The workspace the request acts in. An API key bound to a workspace implies it: omit the header, or send that same id (another id answers 403 WORKSPACE_SCOPE_MISMATCH). A member session must send it (400 MISSING_WORKSPACE without it).

Path Parameters

quoteRequestId
string
required

The set's quoteRequestId (rq_…)

Response

The recorded quote request

GET /quotes/requests/{quoteRequestId}: a quote request's recorded answer, read back by its owner. It carries no executable part.

orders
object[]
required

Every order placed on one of these quotes.

quoteRequestId
string
required
quotes
object[]
required

A recorded card plus its current server-held state. Economics remain as served.

Example:
request
object
required

The request as it was sent (the Binding by target id, never raw identity fields).

requestedAt
string<date-time>
required
requestedByYou
boolean
required

Whether the caller is the principal that asked. Only that principal can order these quotes: another member (view_orders) or an orders_read key reads them, and each liveState is the hold as its owner sees it, never the reader's authority to order.

sources
object[]
required

One considered venue's outcome, a closed set tagged status:

An unscreened default wallet is not a status: the quote carries screening. venue is the venue block, its id the one quote legs and /prices rows carry. Durations (retryAfter) are ISO 8601, counted from when the response was sent. Every entry carries asked: whether this venue was consulted for this request: a live ask, or a fresh read of its published book or live desk price within that source's freshness window. An estimate no venue gave (a model or reference price) is not consulted, and an answered entry is always consulted. How a card's price was obtained is its own price basis, never this flag.

New values may be added; treat unknown values as other.

venueAsked
boolean
required