---
search:
  tags:
    - Quotes
    - POST
seo:
  description: >-
    Accepts a quote by trading against it, as the RFQ initiator (the taker).
    The… Reference for the POST /quotes/{quote_id}/accept endpoint in the REST
    API API.
sidebar:
  badge: POST
  label: Accept a Quote
title: Accept a Quote
type: openapi-operation
---
Accepts a quote by trading against it, as the RFQ initiator (the taker). The quote is addressed by its exchange-assigned quote_id (the path) and its rfq_id (the body) — the pair the taker learns when the quote is delivered, not the maker's private client_quote_id. side is the side you execute and must be opposite the quote's side (buy lifts an offer, sell hits a bid); price and quantity must match the quote's terms. Returns 204 with no body. Acceptance opens the maker's last-look window: if the maker confirms, the trade completes and appears in get-fills, correlated by the client_order_id you supply; if the maker rejects or the window times out, the quote is rejected and the trade does not execute.

### Endpoint

- Method and path: `POST /quotes/{quote_id}/accept`
- Operation ID: `acceptQuote`
- API reference: [POST /quotes/{quote_id}/accept](/api-reference/quotes/acceptquote)

#### Authorization

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

#### Parameters

- `UDX-Version` (`header`) — Dated API version (YYYY-MM-DD). Omit to use the oldest supported version. An unknown version returns `400`.
- `UDX-Idempotency-Key` (`header`) — Optional client-generated key that makes a mutation safe to retry. Reuse it only for a byte-identical retry. When present, it is included in the request signature; omitting it disables UDX idempotency for that request.
- `quote_id` (`path`, required) — The exchange-assigned identifier of the quote to accept.

#### Request body

- Content type: `application/json`
- Schema: `AcceptQuoteRequest`
- Required: yes
- Fields:
  - `rfq_id` (required) — The exchange id of the RFQ the quote answers. With the path quote_id it addresses the quote to accept.
  - `side` (required) — The side to execute — must be opposite the quote's side: `buy` lifts an offer, `sell` hits a bid.
  - `price` (required) — The quote's price in YES price space, in dollars. Must match the quote; a mismatch is rejected.
  - `quantity` (required) — The number of contracts to accept, in contracts.
  - `client_order_id` (required) — Correlation id for the resulting order — required, and the id you match in get-fills to find the resulting trade after the maker completes last look, since the accept returns no body.
  - `account_id` — Account to execute under, by its UDX-assigned public entity identifier. Required for an unrestricted API key; an account-restricted key uses its bound account, and an account_id that names a different account is rejected.

#### Responses

- `204` — The accept was submitted. No body is returned. If the maker confirms during last look, the trade appears in get-fills, correlated by the client_order_id you supplied. If the maker rejects or last look times out, the quote is rejected and the trade does not execute.
- `400` — The request doesn't conform to this spec.
- `401` — No valid credential was provided.
- `403` — The credential lacks the `trade` scope.
- `404` — The requested resource doesn't exist or isn't visible to the caller.
- `409` — This key is still in use or its response cannot be replayed. The mutation may have run; check `detail` before retrying.
- `422` — This key belongs to a different request.
- `429` — The Member's request rate is exhausted. Wait for `Retry-After`.
- `500` — Something went wrong on UDX's side.
- `503` — Request admission is unavailable. Retry later.
