Skip to content
UDX
2026-07-15

Get an RFQ

Returns one RFQ visible to the caller’s member by its ID — one the member created, or one soliciting quotes from it. Terminal RFQs are retained for five minutes after their terminal update is received; older records return 404.

GET/rfqs/{rfq_id}
Authorization
Authorization
UDX-Access-KeyAPI key · headerrequired

Opaque API key ID.

UDX-Access-TimestampAPI key · headerrequired

Unix time in milliseconds, within 30 seconds of server time.

UDX-Access-SignatureAPI key · headerrequired

Standard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt.

or
AuthorizationBearer token (JWT) · headerrequired

Bearer token for an active signed-in UDX user.

Header parameters
Header parameters
UDX-Versionstring

Dated API version (YYYY-MM-DD).

min length 10 · max length 10
Path parameters
rfq_idEntityIdrequired

Exchange-assigned RFQ identifier.

min length 1
Responses
200The requested RFQ.
rfqRfqrequired

A request for quote (RFQ).

Show properties
rfq_idstring

Present on every RFQ except one the exchange rejected before assigning an id; such an RFQ is identified by client_rfq_id alone.

min length 1
requester_idstring

The participant identifier of the user who created this RFQ.

min length 1 · max length 64
client_rfq_idstring

The requester's correlation identifier for this RFQ. Present only on RFQs created by the caller's member.

legsRfqLegListrequired

The component markets and opposing sides that define the RFQ strategy, in the order supplied.

min items 1
Show properties
Array of RfqLeg
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
opposing_sideboolean

Whether this leg takes the side opposite the RFQ or the same side.

default: false
sidestring

The side the customer wants to execute. Absent for a two-sided RFQ.

Allowed:buysell
quantitystring

Number of contracts requested. Present when sized in contracts.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
cash_quantitystring

Size of the RFQ in dollars. Present when sized in cash.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
statusRfqStatusrequired

An RFQ's status.

Allowed:openacceptedclosedrejected
rejection_reasonstring

Why the exchange rejected the RFQ. Present only when status is rejected.

Allowed:market_closedmarket_unknownnot_open_for_quotingexpiredduplicate_client_idexchange_rejected
expires_atstring<date-time>

When the RFQ stops soliciting quotes.

max length 40
401No valid credential was provided.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
403The credential lacks the read scope.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
404No RFQ with this ID exists or is visible to the caller.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
429The member rate limit was exceeded.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
500Something went wrong on UDX's side.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
503Request admission or account setup is unavailable, or the read could not be completed in time; retry.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
Request
curl -X GET "https://api.underdogexchange.com/rfqs/6820943174116859281" \
  -H "UDX-Access-Key: API_KEY_ID" \
  -H "UDX-Access-Timestamp: UNIX_MILLISECONDS" \
  -H "UDX-Access-Signature: BASE64_SIGNATURE"
Response
{
  "rfq": {
    "rfq_id": "BKA2QM3T4055",
    "client_rfq_id": "rfq-20260804-001",
    "legs": [
      {
        "ticker": "UDX-EXAMPLE-MARKET",
        "opposing_side": false
      }
    ],
    "side": "buy",
    "quantity": "100",
    "status": "open"
  }
}