Categories endpoint
Fetch the hierarchical list of POI categories for the country, localized into the requested language. Call this once on startup, cache forever.
GET
https://{country}.yatmo.com/categories
LicenseKey header
Request
| Name | In | Type | Description |
|---|---|---|---|
| language required | query | string | ISO 639-1 code (EN, FR, NL, DE, IT, ES, PT, CA). Falls back to EN if unsupported. |
Examples
curl -H 'LicenseKey: YOUR_KEY' \
'https://be.yatmo.com/categories?language=EN'
const res = await fetch(
'https://be.yatmo.com/categories?language=EN',
{ headers: { LicenseKey: 'YOUR_KEY' } }
);
const categories = await res.json();
$ch = curl_init('https://be.yatmo.com/categories?language=EN');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['LicenseKey: YOUR_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$categories = json_decode(curl_exec($ch), true);
curl_close($ch);
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("LicenseKey", "YOUR_KEY");
var json = await http.GetStringAsync("https://be.yatmo.com/categories?language=EN");
Response shape
Array of Category objects. Each has nested children for subcategories — usually 2 levels deep.
| Name | In | Type | Description |
|---|---|---|---|
| l | string | Localized category name. | |
| id | long |
Category ID. Use this in poiTypesIds on /points.
|
|
| c | array | Subcategories — each is itself a Category. | |
| aid | long? | Aggregate ID (parent), when applicable. | |
| i | int? | Icon index for the category icon. |
Notes
- Taxonomies differ by country. Categories on
be.yatmo.comare not identical tofr.yatmo.com— the data sources differ. Cache per (country, language). - Stable identifiers.
idvalues are stable across releases — safe to hard-code if you only care about a few categories. - Localization fallback. If you request a language that’s not in the country’s supported list, you’ll get English labels with no error.