{"openapi":"3.1.0","info":{"title":"Number & Currency Formatter API","version":"1.0.0","description":"Format numbers for any locale using full ICU data — the correct way to display money, percentages and measurements per region. Pass a value and a style and the format endpoint returns the locale-correct string: decimal, currency (any ISO 4217 code, with the right symbol and grouping — e.g. 1.234.567,89 € in de-DE, $1,234,567.89 in en-US, ￥1,234,567 in ja-JP, and the Indian lakh grouping 12,34,567.89 in hi-IN), percent, or unit (e.g. 80 km/h). Control the locale (BCP 47), minimum/maximum fraction digits, grouping, sign display and notation (standard, scientific, engineering or compact like 1.2M). A parts endpoint returns the formatToParts breakdown (integer, group, decimal, fraction, currency symbol…) for building custom-styled displays. Everything is computed locally with no network calls. Ideal for internationalised UIs, invoices and receipts, dashboards and reports. A locale number/currency formatter — distinct from foreign-exchange rates (currency), number-to-words (numberwords) and the numeral-base converter (baseconvert). No upstream key, no cache.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/numberformat-api","description":"oanor gateway"}],"tags":[{"name":"Number Format"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/format":{"get":{"operationId":"get_v1_format","tags":["Number Format"],"summary":"Format a number for a locale","description":"","parameters":[{"name":"value","in":"query","required":true,"description":"The number","schema":{"type":"string"},"example":"1234567.89"},{"name":"style","in":"query","required":false,"description":"decimal, currency, percent, unit","schema":{"type":"string"},"example":"currency"},{"name":"currency","in":"query","required":false,"description":"ISO 4217 (for style=currency)","schema":{"type":"string"},"example":"EUR"},{"name":"locale","in":"query","required":false,"description":"BCP 47 locale","schema":{"type":"string"},"example":"de-DE"},{"name":"notation","in":"query","required":false,"description":"standard, scientific, engineering, compact","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"style":"currency","value":1234567.89,"locale":"de-DE","resolved":{"currency":"EUR","notation":"standard","useGrouping":"auto","numberingSystem":"latn","maximumFractionDigits":2,"minimumFractionDigits":2},"formatted":"1.234.567,89 €"},"meta":{"timestamp":"2026-06-01T23:40:41.809Z","request_id":"635eb465-3c91-4453-8ac5-788971dfcaae"},"status":"ok","message":"Number formatted","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/parts":{"get":{"operationId":"get_v1_parts","tags":["Number Format"],"summary":"formatToParts breakdown","description":"","parameters":[{"name":"value","in":"query","required":true,"description":"The number","schema":{"type":"string"},"example":"1234.5"},{"name":"locale","in":"query","required":false,"description":"BCP 47 locale","schema":{"type":"string"},"example":"en-US"},{"name":"style","in":"query","required":false,"description":"decimal, currency, percent, unit","schema":{"type":"string"}},{"name":"currency","in":"query","required":false,"description":"ISO 4217 (for style=currency)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"parts":[{"type":"integer","value":"1"},{"type":"group","value":","},{"type":"integer","value":"234"},{"type":"decimal","value":"."},{"type":"fraction","value":"5"}],"style":"decimal","value":1234.5,"locale":"en-US","formatted":"1,234.5"},"meta":{"timestamp":"2026-06-01T23:40:41.898Z","request_id":"22c957ca-f32a-4fd4-b713-d860bb4069e4"},"status":"ok","message":"Parts computed","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Styles, notations & locales","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Format numbers for any locale using the platform's full ICU data. /v1/format?value=1234567.89&style=currency&currency=EUR&locale=de-DE returns the locale-correct string (e.g. 1.234.567,89 €). Styles: decimal, currency (ISO 4217, with currencyDisplay symbol/code/name), percent and unit (e.g. unit=kilometer-per-hour). Options: locale (BCP 47), minimum/maximumFractionDigits, useGrouping, notation (standard, scientific, engineering, compact — e.g. 1.2M), signDisplay. /v1/parts returns the formatToParts breakdown (integer, group, decimal, fraction, currency symbol, …) for building custom-styled displays. Everything is computed locally with no network calls. Ideal for internationalised UIs, invoices and receipts, dashboards, reports and anywhere numbers or money must read correctly per region. A locale number/currency formatter — distinct from foreign-exchange rates (currency), number-to-words (numberwords) and the base converter (baseconvert). No key, no cache.","styles":["decimal","currency","percent","unit"],"endpoints":["/v1/format","/v1/parts","/v1/meta"],"notations":["standard","scientific","engineering","compact"],"example_locales":["en-US","de-DE","fr-FR","ja-JP","ar-EG","hi-IN","pt-BR","zh-CN"]},"meta":{"timestamp":"2026-06-01T23:40:41.996Z","request_id":"a1dcf615-cace-465e-9f2f-792358358333"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2080,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":610,"monthly_call_quota":39500,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2010,"monthly_call_quota":210000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5240,"monthly_call_quota":805000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/numberformat-api"}