You can load a quote representing a FX spot rate between two currencies on a given day, for example 1.3592 for GBPUSD on 6 May 2026.
Note the following:
FX spot rates are required items of market data when valuing certain instruments, and may be required for any instrument held in a portfolio with a different base currency.
Choices you make when uploading market data impact the composition of the recipe you must create in order to use that data.
See also: Market prices | Inflation fixings | Interest rate fixings
Methods
Call the UpsertQuotes API to load up to 2000 quotes in a single request. You must:
Encapsulate all the quotes in a single
scope(namespace) in the URL.For each quote, specify an ephemeral ID (to track errors in the response).
curl -X POST "https://<your-domain>.lusid.com/api/api/quotes/MyAPPLPrices"
-H "Authorization: Bearer <your-API-access-token>"
-H "Content-Type: application/json-patch+json"
-d '{
"Quote-0001": {
"quoteId": {
"quoteSeriesId": {
"provider": "LSEG",
"instrumentIdType": "CurrencyPair",
"instrumentId": "GBP/USD",
"quoteType": "Rate",
"field": "MID_PRICE"
},
"effectiveAt": "2026-05-06T00:00:00Z"
},
"metricValue": {
"value": 1.3592, "unit": "GBP/USD"
}
},
"Quote-0002": {
"quoteId": {
"quoteSeriesId": {
"provider": "LSEG",
"instrumentIdType": "CurrencyPair",
"instrumentId": "GBP/USD",
"quoteType": "Rate",
"field": "MID_PRICE"
},
"effectiveAt": "2026-05-05T00:00:00Z"
},
"metricValue": {
"value": 1.3568, "unit": "GBP/USD"
}
}
}'Navigate to Data Management > Quotes and click the Create quote button:

Write a Luminesce SQL query using the Lusid.Instrument.Quote.Writer provider and execute it using a tool such as the LUSID web app:

Data fields
This section supplements the API documentation and on-screen help text in the LUSID web app.
Mandatory field or parameter | Allowed values | Must be matched in recipe? |
|---|---|---|
| Any, for example | |
| ||
| ||
|
|
|
| Must match the syntax | |
|
| |
| A UTC datetime, or date and cut label | |
| The quoted rate, for example | |
| Same as |
The following fields are optional:
A
priceSourceindicating a sub-supplier to theprovider, for example Tradeweb or RRPS for Refinitiv DataScope. Match this using the priceSource field in a recipe. Note that if omitted, your recipe must also omit itspriceSourcefield.A
lineageproviding additional information.We recommend not setting a
scaleFactorfor a FX spot rate.
Subsequent updates
You can change the metricValue of an existing quote. Any other update constitutes a new quote in the time series.