Skip to content

Create Exchange Rate

Request Body

FieldTypeRequiredNotes
target_currencyintegeryesCurrency ID. Must exist. Composite-unique on currency_exchange_rates.target_currency.
ratenumberyesMust be > 0.

Source currency is implicit

There is no source_currency column. The source is the channel's base currency; only the target/rate pair is stored.

Auto-sync deferred

The admin "Mass Auto-Sync" action (ExchangeRateController::updateRates) which calls an external rate-source helper is intentionally not exposed in v1 — wiring that requires deciding how to surface provider-side errors. Will be revisited if there's integrator demand; for now the admin UI remains the entry point.

Fires core.exchange_rate.create.before/after. Permission: settings.exchange_rates.create.

Released under the MIT License.