Utile v1 / Coduri
Currencies
The ISO 4217 currency list, with the code, the name, the number of decimals and the countries using each. The decimals matter when rounding: the yen has none, the dinar has three.
GET
https://oneapi.ro/api/utile/v1/coduri/valute
Query parameters
This route accepts no query parameters.
How it behaves
- These are the currencies IN CIRCULATION, derived from the territories that use them — not the whole ISO 4217 register, which also holds historical codes and units of account (
XAUgold,XDRspecial drawing rights). zecimaleis not always 2. Formatting international amounts with two decimals everywhere gets the yen, the Tunisian dinar and a dozen other currencies wrong.simbolisnullwhere the currency has no symbol distinct from its code. A "symbol" that is the code itself helps nobody format an amount, so we do not present it as one.- For the leu exchange rate, see the
curszone in the Financiar module — this route holds only the codes and their metadata.
What it is for
- Populate a currency picker with names in Romanian.
- Find how many decimals each currency has, to format and round correctly.
- See which countries use a given currency.
Response structure
All fields below live inside data.
FieldTypeDescription
inregistrari
integer
How many records the response holds.
valute[].cod
string
The three-letter ISO 4217 code.
valute[].nume
string
The name in Romanian.
valute[].nume_en
string
The name in English.
valute[].simbol
null
The currency symbol, or
null.
valute[].zecimale
integer
The currency's number of decimals.
valute[].tari
array
The territories using it.
observatie
string
A note on how to read the response: a computation convention or a limit of the data.
sursa.nume
string
Name of the official source.
sursa.versiune
string
Version of the dataset or artefact the values come from.
sursa.licenta
string
The licence under which the source allows reuse.
sursa.observatie
string
What to know about the source before using the data.
Response examples
GEThttps://oneapi.ro/api/utile/v1/coduri/valute
{
"data": {
"inregistrari": 154,
"valute": [
{
"cod": "AED",
"nume": "dirham din Emiratele Arabe Unite",
"nume_en": "United Arab Emirates Dirham",
"simbol": null,
"zecimale": 2,
"tari": [
"AE"
]
}
],
"observatie": "Sunt valutele în circulație, deduse din teritoriile care le folosesc — nu tot registrul ISO 4217, care conține și coduri istorice și unități de cont (XAU, XDR). `zecimale` NU e mereu 2: yenul are 0, dinarul tunisian are 3.",
"sursa": {
"nume": "ICU / CLDR (Unicode Common Locale Data Repository), prin runtime-ul PHP",
"versiune": "76.1",
"licenta": "Unicode License.",
"observatie": "Se actualizează la un upgrade de imagine, nu printr-un import — de aceea versiunea CLDR e în răspuns."
}
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored. |
| 429 | cota_depasita | The plan's monthly quota has been exceeded (see Retry-After). |
All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.
{
"eroare": {
"cod": "validare",
"mesaj": "The route takes no parameters apart from lang: any other parameter returns 422 instead of being ignored."
}
}