---
search:
  tags:
    - RFQs
    - GET
seo:
  description: >-
    Returns one RFQ visible to the caller's member by its ID — one the member
    created, or one… Reference for the GET /rfqs/{rfq_id} endpoint in the REST
    API.
sidebar:
  label: Get an RFQ
  badge: GET
title: Get an RFQ
type: openapi-operation
---
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.

### Endpoint

- Method and path: `GET /rfqs/{rfq_id}`
- Operation ID: `getRfq`
- API reference: [GET /rfqs/{rfq_id}](/api-reference/rest/rfqs/get-rfq)
- Complete specification: [OpenAPI (YAML)](/openapi.yml)
- Spec location (JSON Pointer): `#/paths/~1rfqs~1{rfq_id}/get`

#### Authorization

- Accepted credentials: `UDX-Access-Key` header and `UDX-Access-Timestamp` header and `UDX-Access-Signature` header; or Bearer token in `Authorization`
- Details: [Authentication](/reference/authentication)

#### Parameters

```yaml
- $ref: "#/components/parameters/VersionHeader"
- name: rfq_id
  in: path
  required: true
  description: Exchange-assigned RFQ identifier.
  schema:
    $ref: "#/components/schemas/EntityId"
```


#### Responses

##### `200`

The requested RFQ.

Headers:

```yaml
UDX-Version:
  $ref: "#/components/headers/VersionHeader"
```

Content type: `application/json`

Schema:

```yaml
$ref: "#/components/schemas/RfqResponse"
```

Example: Example

```json
{
  "rfq": {
    "rfq_id": "BKA2QM3T4055",
    "client_rfq_id": "rfq-20260804-001",
    "legs": [
      {
        "ticker": "UDX-EXAMPLE-MARKET",
        "opposing_side": false
      }
    ],
    "side": "buy",
    "quantity": "100",
    "status": "open"
  }
}
```

##### `401`

No valid credential was provided.

Headers:

```yaml
UDX-Version:
  $ref: "#/components/headers/VersionHeader"
```

Content type: `application/problem+json`

Schema:

```yaml
$ref: "#/components/schemas/ProblemDetails"
```

Example: Authentication failed

```json
{
  "type": "urn:udx:problem:invalid-authentication-credentials",
  "title": "Unauthorized",
  "status": 401,
  "detail": "invalid authentication credentials",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```

##### `403`

The credential lacks the read scope.

Headers:

```yaml
UDX-Version:
  $ref: "#/components/headers/VersionHeader"
```

Content type: `application/problem+json`

Schema:

```yaml
$ref: "#/components/schemas/ProblemDetails"
```

Example: Insufficient permissions

```json
{
  "type": "urn:udx:problem:insufficient-permissions",
  "title": "Forbidden",
  "status": 403,
  "detail": "insufficient permissions",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```

##### `404`

No RFQ with this ID exists or is visible to the caller.

Headers:

```yaml
UDX-Version:
  $ref: "#/components/headers/VersionHeader"
```

Content type: `application/problem+json`

Schema:

```yaml
$ref: "#/components/schemas/ProblemDetails"
```

Example: Example

```json
{
  "type": "urn:udx:problem:rfq-not-found",
  "title": "Not Found",
  "status": 404,
  "detail": "rfq not found",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```

##### `429`

The member rate limit was exceeded.

Headers:

```yaml
UDX-Version:
  $ref: "#/components/headers/VersionHeader"
Retry-After:
  $ref: "#/components/headers/RetryAfter"
Cache-Control:
  $ref: "#/components/headers/NoStore"
```

Content type: `application/problem+json`

Schema:

```yaml
$ref: "#/components/schemas/ProblemDetails"
```

Example: Example

```json
{
  "type": "urn:udx:problem:member-rate-limit-exceeded",
  "title": "Too Many Requests",
  "status": 429,
  "detail": "this member has temporarily exceeded its request rate",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```

##### `500`

Something went wrong on UDX's side.

Headers:

```yaml
UDX-Version:
  $ref: "#/components/headers/VersionHeader"
```

Content type: `application/problem+json`

Schema:

```yaml
$ref: "#/components/schemas/ProblemDetails"
```

Example: Internal server error

```json
{
  "type": "urn:udx:problem:internal-error",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "internal error",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```

##### `503`

Request admission or account setup is unavailable, or the read could not be completed in time; retry.

Headers:

```yaml
UDX-Version:
  $ref: "#/components/headers/VersionHeader"
Retry-After:
  $ref: "#/components/headers/RetryAfter"
Cache-Control:
  $ref: "#/components/headers/NoStore"
```

Content type: `application/problem+json`

Schema:

```yaml
$ref: "#/components/schemas/ProblemDetails"
```

Example: Caller setup is not ready

```json
{
  "type": "urn:udx:problem:projection-unavailable",
  "title": "Service Unavailable",
  "status": 503,
  "detail": "account setup is still being completed; retry later",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```

Example: Request admission is unavailable

```json
{
  "type": "urn:udx:problem:request-admission-unavailable",
  "title": "Service Unavailable",
  "status": 503,
  "detail": "request admission is temporarily unavailable",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```

Example: The read could not be completed in time

```json
{
  "type": "urn:udx:problem:could-not-process-retry",
  "title": "Service Unavailable",
  "status": 503,
  "detail": "could not process request, please retry",
  "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
```


#### Referenced definitions

The references in the excerpts above resolve to these definitions in the complete specification.

##### `#/components/headers/VersionHeader`

```yaml
description: API version used for this response.
schema:
  type: string
  maxLength: 10
  description: A dated API version (YYYY-MM-DD).
  example: 2026-07-15
```

##### `#/components/schemas/RfqResponse`

```yaml
type: object
description: A single RFQ.
required:
  - rfq
properties:
  rfq:
    $ref: "#/components/schemas/Rfq"
```

##### `#/components/schemas/Rfq`

```yaml
type: object
additionalProperties: false
description: A request for quote (RFQ).
required:
  - legs
  - status
properties:
  rfq_id:
    type: string
    minLength: 1
    description: Present on every RFQ except one the exchange rejected before assigning an id; such an RFQ is identified by client_rfq_id alone.
    example: "6820943174116859281"
  requester_id:
    type: string
    minLength: 1
    maxLength: 64
    description: The participant identifier of the user who created this RFQ.
    example: 4d127cce3bc675c9
  client_rfq_id:
    type: string
    description: The requester's correlation identifier for this RFQ. Present only on RFQs created by the caller's member.
    example: client-20260804-001
  legs:
    $ref: "#/components/schemas/RfqLegList"
  side:
    type: string
    enum:
      - buy
      - sell
    description: The side the customer wants to execute. Absent for a two-sided RFQ.
  quantity:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,2})?$
    maxLength: 24
    description: Number of contracts requested. Present when sized in contracts.
    example: "100"
  cash_quantity:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,6})?$
    maxLength: 24
    description: Size of the RFQ in dollars. Present when sized in cash.
    example: "0.55"
  status:
    $ref: "#/components/schemas/RfqStatus"
  rejection_reason:
    type: string
    enum:
      - market_closed
      - market_unknown
      - not_open_for_quoting
      - expired
      - duplicate_client_id
      - exchange_rejected
    description: Why the exchange rejected the RFQ. Present only when status is rejected.
  expires_at:
    type: string
    format: date-time
    maxLength: 40
    x-udx-timestamp-context: prospective
    description: When the RFQ stops soliciting quotes.
    example: 2026-01-01T00:01:00.000000Z
```

##### `#/components/schemas/RfqLegList`

```yaml
type: array
minItems: 1
description: The component markets and opposing sides that define the RFQ strategy, in the order supplied.
items:
  $ref: "#/components/schemas/RfqLeg"
```

##### `#/components/schemas/RfqLeg`

```yaml
type: object
additionalProperties: false
description: A single component leg of an RFQ.
required:
  - ticker
properties:
  ticker:
    $ref: "#/components/schemas/Ticker"
  opposing_side:
    type: boolean
    default: false
    description: Whether this leg takes the side opposite the RFQ or the same side.
```

##### `#/components/schemas/Ticker`

```yaml
type: string
minLength: 1
maxLength: 128
description: A human-meaningful natural key naming a single-leg or multi-leg market.
example: UDX-EXAMPLE-MARKET
```

##### `#/components/schemas/RfqStatus`

```yaml
type: string
enum:
  - open
  - accepted
  - closed
  - rejected
description: An RFQ's status.
```

##### `#/components/schemas/ProblemDetails`

```yaml
type: object
description: An RFC 9457 machine-readable error, returned on every non-2xx response. The response's Content-Language header identifies the language used by title and detail, and Vary includes Accept-Language.
required:
  - type
  - title
  - status
properties:
  type:
    type: string
    format: uri-reference
    maxLength: 2048
    description: 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.
  title:
    type: string
    maxLength: 40
    example: Bad Request
    description: 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.
  status:
    type: integer
    example: 400
    description: The HTTP status code, repeated from the response itself.
  detail:
    type: string
    maxLength: 500
    example: malformed request body
    description: A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.
  instance:
    type: string
    format: uri-reference
    maxLength: 100
    example: urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef
    description: An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.
```

##### `#/components/headers/RetryAfter`

```yaml
description: Whole seconds to wait before retrying.
schema:
  type: integer
  minimum: 1
  description: A positive delay in whole seconds.
  example: 2
```

##### `#/components/headers/NoStore`

```yaml
description: Prevents caching this response.
schema:
  type: string
  enum:
    - no-store
  description: Always the cache directive no-store.
  example: no-store
```

##### `#/components/parameters/VersionHeader`

```yaml
name: UDX-Version
in: header
required: false
description: Dated API version (YYYY-MM-DD).
schema:
  type: string
  minLength: 10
  maxLength: 10
  description: A dated API version (YYYY-MM-DD).
  example: 2026-07-15
```

##### `#/components/schemas/EntityId`

```yaml
type: string
minLength: 1
description: An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.
example: "6820943174116859281"
```

