---
search:
  tags:
    - Quotes
    - POST
seo:
  description: >-
    Submits a single-sided quote (a bid or an offer) in response to an RFQ. To
    quote both sides,… Reference for the POST /quotes endpoint in the REST API
    API.
sidebar:
  badge: POST
  label: Create a Quote
title: Create a Quote
type: openapi-operation
---
Submits a single-sided quote (a bid or an offer) in response to an RFQ. To quote both sides, submit two quotes with distinct client_quote_ids. The response identifies both RFQ participants with pseudonymous participant IDs.

### Endpoint

- Method and path: `POST /quotes`
- Operation ID: `createQuote`
- API reference: [POST /quotes](/api-reference/quotes/createquote)

#### 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.

#### Request body

- Content type: `application/json`
- Schema: `CreateQuoteRequest`
- Required: yes
- Fields:
  - `rfq_id` (required) — The RFQ this quote responds to.
  - `ticker` — Optional — the RFQ's market is authoritative. Omit it for a combo RFQ, whose synthetic (multi-leg) market is not separately addressable by ticker. When supplied it must equal the RFQ's market, or the quote is rejected.
  - `client_quote_id` (ClientId, required)
  - `side` (required) — The side of the quote — `buy` bids, `sell` offers.
  - `price` (required) — Quote price in YES price space, in dollars.
  - `quantity` (required) — Number of contracts offered.
  - `account_id` — Account to quote from, 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

- `201` — The created quote.
- `400` — The request doesn't conform to this spec.
- `401` — No valid credential was provided.
- `403` — The credential lacks the `trade` scope.
- `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.
