# RFQ

## Request Quote (RFQ)

> Request a quote for a currency conversion. Specify deliver quantity or receive quantity, but not both.

```json
{"openapi":"3.0.3","info":{"title":"Aquanow CAMS REST API","version":"1.0"},"servers":[{"url":"https://cams.aquanow.com/api","description":"production"},{"url":"http://localhost:3001/api","description":"local"},{"url":"https://cams.dev.aquanow.com/api","description":"dev"},{"url":"https://cams.staging.aquanow.com/api","description":"staging"},{"url":"https://cams.cert.aquanow.com/api","description":"cert"},{"url":"https://marketdata.aquanow.com","description":"production market data"},{"url":"https://marketdata.staging.aquanow.com","description":"staging market data"},{"url":"https://marketdata.dev.aquanow.com","description":"dev market data"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"parameters":{"X-Request-Id":{"name":"X-Request-Id","in":"header","required":false,"schema":{"type":"string"},"description":"A client-supplied unique identifier for this request, used for safely retrying and deduplicating operations. When the same X-Request-Id is sent with multiple identical requests within a defined time window, the server treats them as the same logical operation and will not perform the side effect more than once. Instead, it will return the original result associated with that identifier, if available. The client should generate a collision-resistant value (for example, a UUID) and reuse it only when retrying the same operation."}},"headers":{"X-Request-Id":{"description":"Unique identifier for this request. If the client supplied X-Request-Id, the same value is returned.","schema":{"type":"string"}}},"schemas":{"Datetime":{"title":"Datetime","type":"string","format":"date-time","description":"Date-time in ISO 8601 format"},"QuoteStatus":{"type":"string","enum":["AWAITING_RESPONSE","CANCELED","EXPIRED","ACCEPTED"]}},"responses":{"400":{"description":"Validation Error"},"401":{"description":"Unauthorized"},"403":{"description":"Insufficient Privileges"},"409":{"description":"Duplicate request error","content":{"application/json":{"schema":{"properties":{"id":{"type":"string"}}}}}},"4XX":{"description":"Client error"},"5XX":{"description":"Server error"}}},"paths":{"/v1/quotes":{"post":{"summary":"Request Quote (RFQ)","description":"Request a quote for a currency conversion. Specify deliver quantity or receive quantity, but not both.","tags":["Trading"],"parameters":[{"$ref":"#/components/parameters/X-Request-Id"}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["accountId","pair","side","deliverQuantity"],"properties":{"accountId":{"type":"string","format":"uuid"},"pair":{"type":"string"},"side":{"type":"string","enum":["BUY","SELL"]},"deliverQuantity":{"type":"string","nullable":true,"description":"One of 'deliverQuantity' or 'receiveQuantity' must be a positive value. The other must be null."},"clientFeeRate":{"type":"string","format":"integer","description":"The client fee rate in bps.","nullable":true},"clientFeeAmount":{"type":"string","format":"number","description":"Fixed fiat fee amount in tenant native currency. If both clientFeeRate and clientFeeAmount are provided, clientFeeRate takes precedence.","nullable":true},"clientReference":{"type":"string","description":"An optional free use reference field, typically used to correlate to the client's internal order."}}},{"type":"object","required":["accountId","pair","side","receiveQuantity"],"properties":{"accountId":{"type":"string","format":"uuid"},"pair":{"type":"string"},"side":{"type":"string","enum":["BUY","SELL"]},"receiveQuantity":{"type":"string","nullable":true,"description":"One of 'deliverQuantity' or 'receiveQuantity' must be a positive value. The other must be null."},"clientFeeRate":{"type":"string","format":"integer","description":"The client fee rate in bps.","nullable":true},"clientFeeAmount":{"type":"string","format":"number","description":"Fixed fiat fee amount in tenant native currency. If both clientFeeRate and clientFeeAmount are provided, clientFeeRate takes precedence.","nullable":true},"clientReference":{"type":"string","description":"An optional free use reference field, typically used to correlate to the client's internal order."}}}]}}}},"responses":{"200":{"description":"Successful response","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}},"content":{"application/json":{"schema":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid"},"requestedAt":{"$ref":"#/components/schemas/Datetime"},"expiresAt":{"$ref":"#/components/schemas/Datetime"},"accountId":{"type":"string","format":"uuid"},"pair":{"type":"string"},"side":{"type":"string","enum":["BUY","SELL"]},"deliverQuantity":{"type":"string","format":"number"},"deliverCurrency":{"type":"string"},"receiveQuantity":{"type":"string","format":"number"},"receiveCurrency":{"type":"string"},"price":{"type":"string","format":"number"},"baseQuantity":{"type":"string","format":"number"},"quoteQuantity":{"type":"string","format":"number"},"feeCurrency":{"type":"string"},"clientFeeRate":{"type":"string","format":"integer","description":"The client fee rate in bps.","nullable":true},"clientFeeAmount":{"type":"string","format":"number","description":"Fixed fiat fee amount in tenant native currency. If both clientFeeRate and clientFeeAmount are provided, clientFeeRate takes precedence.","nullable":true},"clientFeeQuantity":{"type":"string","format":"float"},"providerFeeRate":{"type":"string","format":"integer","description":"The provider fee rate in bps."},"providerFeeQuantity":{"type":"string","format":"number"},"quoteStatus":{"$ref":"#/components/schemas/QuoteStatus"},"clientReference":{"type":"string","nullable":true},"tradeTaxRate":{"type":"string","format":"number"},"clientTaxQuantity":{"type":"string","format":"number"},"providerTaxQuantity":{"type":"string","format":"number"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"409":{"$ref":"#/components/responses/409"},"4XX":{"$ref":"#/components/responses/4XX"},"5XX":{"$ref":"#/components/responses/5XX"}},"operationId":"RequestQuote"}}}}
```

{% openapi src="/files/wPwNFVndtoV6bXbiYGpH" path="/v1/quotes/{quoteId}" method="delete" %}
[older\_DO\_NOT\_DELETE.json](https://2600433319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4LnbO9QFRq3XZT6kRr2v%2Fuploads%2F64M6x1VXbs1sOP6KUSF5%2Fv1.0.json?alt=media\&token=8ecc6a0c-73a5-45b4-b1ce-6f288d55c1bd)
{% endopenapi %}

{% openapi src="/files/wPwNFVndtoV6bXbiYGpH" path="/v1/orders" method="post" %}
[older\_DO\_NOT\_DELETE.json](https://2600433319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4LnbO9QFRq3XZT6kRr2v%2Fuploads%2F64M6x1VXbs1sOP6KUSF5%2Fv1.0.json?alt=media\&token=8ecc6a0c-73a5-45b4-b1ce-6f288d55c1bd)
{% endopenapi %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aquanow.io/cams/api-reference/trades/rfq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
