Utile v1 / Timp
Time zones
The IANA time zones, with the current offset, whether they observe daylight saving and which country uses them. Use tara to narrow to one country's zones.
GET
https://oneapi.ro/api/utile/v1/timp/fusuri
Query parameters
NameTypeDescriptionAccepted values
taraoptional
string | null
Restrict to one country's zones (ISO alpha-2 code, e.g.
US).
max 2 car.
How it behaves
- The offset in the response is the one in effect NOW, not a fixed value: the same zone has a different offset in summer and winter. That is why the list is recomputed on every request rather than served from cache.
- A country can have several zones (the United States has nine), and some zones belong to no country (
UTC,Etc/GMT+3) — the country filter will never find those. - The source is the IANA database in the PHP runtime, with its version in the response. Zones do change by political decision, sometimes announced only weeks in advance.
What it is for
- Populate a time-zone picker in account settings.
- See which zone a country uses before scheduling a notification.
- Check which zones are currently on daylight saving time.
Response structure
All fields below live inside data.
FieldTypeDescription
inregistrari
integer
How many zones are in the response.
filtru_tara
null
The country filtered on, or
null.
zone[].zona
string
The IANA identifier (
Europe/Bucharest).
zone[].offset
string
The current offset from UTC, as
+03:00.
zone[].offset_secunde
integer
The same offset in seconds — handy for arithmetic.
zone[].ora_de_vara
boolean
Whether the zone is currently on daylight saving time.
zone[].abreviere
string
The current abbreviation (
EEST, JST).
sursa.nume
string
Name of the official source.
sursa.versiune
string
The tzdata version the answer rests on.
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/timp/fusuri
{
"data": {
"inregistrari": 419,
"filtru_tara": null,
"zone": [
{
"zona": "Africa/Abidjan",
"offset": "+00: 00",
"offset_secunde": 0,
"ora_de_vara": false,
"abreviere": "GMT"
}
],
"sursa": {
"nume": "IANA Time Zone Database (tzdata), prin runtime-ul PHP",
"versiune": "2026.3",
"licenta": "Domeniu public.",
"observatie": "Se actualizează la un upgrade de imagine, nu printr-un import. Fusurile chiar se schimbă prin decizii politice, uneori cu săptămâni înainte — de aceea versiunea e în răspuns."
}
}
}
GEThttps://oneapi.ro/api/utile/v1/timp/fusuri?tara=US
{
"data": {
"inregistrari": 29,
"filtru_tara": "US",
"zone": [
{
"zona": "America/Adak",
"offset": "-09: 00",
"offset_secunde": -32400,
"ora_de_vara": true,
"abreviere": "HDT"
}
],
"sursa": {
"nume": "IANA Time Zone Database (tzdata), prin runtime-ul PHP",
"versiune": "2026.3",
"licenta": "Domeniu public.",
"observatie": "Se actualizează la un upgrade de imagine, nu printr-un import. Fusurile chiar se schimbă prin decizii politice, uneori cu săptămâni înainte — de aceea versiunea e în răspuns."
}
}
}
GEThttps://oneapi.ro/api/utile/v1/timp/fusuri?tara=RO
{
"data": {
"inregistrari": 1,
"filtru_tara": "RO",
"zone": [
{
"zona": "Europe/Bucharest",
"offset": "+03: 00",
"offset_secunde": 10800,
"ora_de_vara": true,
"abreviere": "EEST"
}
],
"sursa": {
"nume": "IANA Time Zone Database (tzdata), prin runtime-ul PHP",
"versiune": "2026.3",
"licenta": "Domeniu public.",
"observatie": "Se actualizează la un upgrade de imagine, nu printr-un import. Fusurile chiar se schimbă prin decizii politice, uneori cu săptămâni înainte — de aceea versiunea 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 | An undeclared parameter or a value that fails validation (tara). The offending field is in detalii. |
| 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": "An undeclared parameter or a value that fails validation (tara). The offending field is in detalii.",
"detalii": {
"tara": [
"The value sent does not satisfy the parameter rule."
]
}
}
}