API conventions

Rules shared by most endpoints, with the exceptions named. Skim before writing your client.

Country subdomains

The base URL is https://<country>.yatmo.com, where <country> is the lowercased ISO code of the country whose data you’re querying. Examples:

Same endpoint paths on every subdomain. The full coverage list is on Countries & languages.

Latitude / longitude order

Most endpoints take a point as two named query parameters, which removes any doubt about the order:

?latitude=50.846714&longitude=4.352514

Three exceptions, each with its own order:

Language parameter

Endpoints that return user-facing strings (place labels, travel labels, the structured summary) take a language query param: the two-letter ISO 639-1 code, uppercased: EN, FR, NL, DE, IT, ES, PT, CA, ZH, HI, AR, RU, JA, EL, HR, MT, SL, SR, TR, BS, SQ, BG. One exception: Montenegrin has no ISO 639-1 code, so it uses the three-letter ISO 639-2/3 code CNR.

Exception: /summary/text takes no language parameter. It returns every language the country supports in one response, each sentence keyed by its language code; pick the one you publish.

If you pass a language that is not supported in the country you queried, Yatmo falls back to EN. See Countries & languages for the matrix.

URL encoding

Standard query-string rules. The two things people forget:

JSON encoding

Responses are application/json; charset=utf-8. Property names use PascalCase (e.g. AvailableCategoriesAroundPosition) — matching the C# DTO field names directly. Some highly-traversed list endpoints (like /points) return short field names (n, la, ln, p) to keep payloads small — those are documented per-endpoint.

Dates and times are ISO 8601 in UTC.