Preview what a rate change would do to the dashboard total.
POST
/api/exchange-rates/preview
const url = 'https://api.tradr.cloud/api/exchange-rates/preview';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"intent":"upsert","rate":{"baseCurrency":"example","effectiveDate":"2026-04-15","quoteCurrency":"example","rate":"example"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.tradr.cloud/api/exchange-rates/preview \ --header 'Content-Type: application/json' \ --data '{ "intent": "upsert", "rate": { "baseCurrency": "example", "effectiveDate": "2026-04-15", "quoteCurrency": "example", "rate": "example" } }'Authed. Read-only — it stores nothing. Computes the converted total before and after a proposed rate upsert or deletion so the change can be confirmed before it is applied. exceedsThreshold marks a move large enough to be worth an explicit confirmation.
Request Bodyrequired
Section titled “Request Bodyrequired”Responses
Section titled “Responses”The before/after comparison.
Media typeapplication/json
object
afterTotal
string
beforeTotal
string
displayCurrency
string
exceedsThreshold
boolean
Examplegenerated
{ "afterTotal": "example", "beforeTotal": "example", "displayCurrency": "example", "exceedsThreshold": true}Validation error.
The rate named for deletion does not exist.