# 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="<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>" 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="<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>" 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 %}
