Docs / Reference tables

Reference tables

Reference data feels settled, and that is why copies of it go stale unnoticed. Countries change names and codes, currencies are introduced and withdrawn, governments move their clocks, new top-level domains are delegated every year, and the CODATA values of physical constants are revised every few years. A table pasted into code on the day it was written keeps giving confident answers long after they stop being true.

The other hazard is choosing the wrong authority. A country has several codes of different lengths, and a code from one standard looks like a valid code from another. A currency's number of decimal places is not always two. A port number can be registered for several services, or used in practice by software that never registered it. An airport has a three-letter IATA code and a four-letter ICAO code, and the same three letters can mean different places in other systems.

Each answer in this group names the registry or publisher it comes from and when the copy was retrieved, and the copies are refreshed on a schedule listed on /sources. Lookups accept codes and, where it makes sense, names; a name that matches several entries is refused with the candidates instead of answered with the first one found.

Some of these tables change rarely and some every week, but none of them is assumed to be permanent, and none is fetched from its publisher at the moment you ask.

Every endpoint in this group

/ref/country/{code}

Country by ISO 3166-1 code or name: codes, official name, calling code, timezones, currency

code: alpha-2, alpha-3, numeric code or English name

curl "https://agent-helper.org/ref/country/de"

/ref/subdivisions/{country}

ISO 3166-2 subdivisions of a country

country: alpha-2 code

curl "https://agent-helper.org/ref/subdivisions/de"

/ref/currency/{code}

ISO 4217 currency: name, numeric code, minor units

code: ISO 4217 alphabetic code

curl "https://agent-helper.org/ref/currency/jpy"

/ref/language/{code}

Language by ISO 639-1, 639-2/3 code or English name

code: ISO 639 code or name

curl "https://agent-helper.org/ref/language/ru"

/ref/timezone/{name:path}

Timezone: current offset, DST state, next transition, countries

name: IANA name, e.g. America/New_York

curl "https://agent-helper.org/ref/timezone/America/New_York"

/ref/timezones?[country=]

IANA timezone names, optionally for one country

country (optional): alpha-2 country code

curl "https://agent-helper.org/ref/timezones?country=us"

/ref/tld/{tld}

Whether a top-level domain exists in the IANA root zone

tld: TLD with or without dot, Unicode or xn--

curl "https://agent-helper.org/ref/tld/dev"

/ref/port/{port}

IANA service names registered for a port number

port: 0-65535

curl "https://agent-helper.org/ref/port/5432"

/ref/service/{name}

Ports registered for a service name

name: service name, e.g. postgresql

curl "https://agent-helper.org/ref/service/postgresql"

/ref/media-type/{type}/{subtype}

Whether a media type is registered with IANA, and its reference

type: top-level type; subtype: subtype

curl "https://agent-helper.org/ref/media-type/application/json"

/ref/http-status/{code}

HTTP status code meaning and defining document

code: 100-599

curl "https://agent-helper.org/ref/http-status/422"

/ref/http-header/{name}

HTTP field (header) name: registration status and specification

name: field name

curl "https://agent-helper.org/ref/http-header/cache-control"

/ref/constant/{name}

Physical constant (CODATA via NIST): value, uncertainty, unit

name: name or symbol: c, h, hbar, G, k, e, NA, me, alpha, or words like 'electron mass'

curl "https://agent-helper.org/ref/constant/G"

/ref/airport/{code}

Airport by IATA (3 letters) or ICAO (4 letters) code

code: IATA or ICAO code

curl "https://agent-helper.org/ref/airport/svo"