DEVELOPER REFERENCE
Bootstrap API
A predictable starting point for Maps Platform clients.
Base URL: https://bs.yango-maps.com. All endpoints are read-only, public and return application/json; charset=utf-8. Authentication is not required. GET and HEAD are supported; HEAD returns the same headers without a body. No request body is accepted.
GET/HEAD API responses allow public cross-origin reads. OPTIONS and write methods on existing endpoints return 405 with Allow: GET, HEAD. Simple GET requests need no CORS preflight; custom cross-origin request headers are not supported.
Every response includes X-Request-ID. Send an ID of 1–128 letters, digits, dots, underscores, colons or hyphens to preserve it. Other values are replaced with a UUID.
Status
/api/v1/statusCurrent process availability, API version and build metadata. The server timestamp is computed for each request.
- Parameters
- None
- Cache lifetime
- no-store
- Success
- 200 OK; cached metadata may return 304
- Errors
- 405 method_not_allowed; 429 rate_limit_exceeded; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/api/v1/status'
Example response
{
"service": "maps-bootstrap",
"status": "operational",
"api_version": "1.4",
"build": "2026.10.08-1842",
"environment": "production",
"server_time": "2026-10-08T15:51:00.451Z"
}Bootstrap
/api/v1/bootstrapA single startup snapshot combining configuration, regions, languages and map styles. generated_at is the time this process loaded the snapshot, not the request time.
- Parameters
- None
- Cache lifetime
- 3600 seconds
- Success
- 200 OK; cached metadata may return 304
- Errors
- 405 method_not_allowed; 429 rate_limit_exceeded; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/api/v1/bootstrap'
Example response
{
"meta": {
"revision": "2026.10.08.3",
"generated_at": "2026-10-08T15:51:00.440Z"
},
"config": {
"revision": "2026.10.08.3",
"api_version": "1.4",
"minimum_client_version": "3.8.0",
"recommended_client_version": "4.2.1",
"defaults": {
"locale": "en",
"region": "global",
"map_style": "standard",
"units": "metric"
},
"cache": {
"ttl": 3600
},
"features": {
"vector_maps": true,
"traffic_layer": true,
"public_transport": true,
"route_preview": true,
"offline_metadata": true,
"experimental_styles": false
}
},
"regions": [
{
"id": "global",
"name": "Global",
"default_locale": "en",
"units": "metric"
},
{
"id": "eu",
"name": "Europe",
"default_locale": "en",
"units": "metric"
},
{
"id": "ru",
"name": "Russia",
"default_locale": "ru",
"units": "metric"
},
{
"id": "tr",
"name": "Türkiye",
"default_locale": "tr",
"units": "metric"
},
{
"id": "me",
"name": "Middle East",
"default_locale": "ar",
"units": "metric"
},
{
"id": "az",
"name": "Azerbaijan",
"default_locale": "az",
"units": "metric"
},
{
"id": "na",
"name": "North America",
"default_locale": "en",
"units": "imperial"
},
{
"id": "af",
"name": "Africa",
"default_locale": "en",
"units": "metric"
},
{
"id": "apac",
"name": "Asia Pacific",
"default_locale": "en",
"units": "metric"
},
{
"id": "latam",
"name": "Latin America",
"default_locale": "es",
"units": "metric"
}
],
"languages": [
{
"code": "en",
"name": "English"
},
{
"code": "ru",
"name": "Russian"
},
{
"code": "tr",
"name": "Turkish"
},
{
"code": "az",
"name": "Azerbaijani"
},
{
"code": "ar",
"name": "Arabic"
},
{
"code": "fr",
"name": "French"
},
{
"code": "de",
"name": "German"
},
{
"code": "es",
"name": "Spanish"
}
],
"styles": [
{
"id": "standard",
"name": "Standard",
"version": 12,
"supports_dark_mode": false
},
{
"id": "night",
"name": "Night",
"version": 8,
"supports_dark_mode": true
},
{
"id": "navigation",
"name": "Navigation",
"version": 15,
"supports_dark_mode": true
},
{
"id": "minimal",
"name": "Minimal",
"version": 6,
"supports_dark_mode": true
}
]
}Configuration
/api/v1/configClient defaults, supported client versions, cache lifetime and feature flags. These are metadata; this service does not provide map tiles, routing or location tracking.
- Parameters
- None
- Cache lifetime
- 3600 seconds
- Success
- 200 OK; cached metadata may return 304
- Errors
- 405 method_not_allowed; 429 rate_limit_exceeded; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/api/v1/config'
Example response
{
"revision": "2026.10.08.3",
"api_version": "1.4",
"minimum_client_version": "3.8.0",
"recommended_client_version": "4.2.1",
"defaults": {
"locale": "en",
"region": "global",
"map_style": "standard",
"units": "metric"
},
"cache": {
"ttl": 3600
},
"features": {
"vector_maps": true,
"traffic_layer": true,
"public_transport": true,
"route_preview": true,
"offline_metadata": true,
"experimental_styles": false
}
}Regions
/api/v1/regionsSupported regional metadata, preferred locales and measurement units.
- Parameters
- None
- Cache lifetime
- 86400 seconds
- Success
- 200 OK; cached metadata may return 304
- Errors
- 405 method_not_allowed; 429 rate_limit_exceeded; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/api/v1/regions'
Example response
{
"regions": [
{
"id": "global",
"name": "Global",
"default_locale": "en",
"units": "metric"
},
{
"id": "eu",
"name": "Europe",
"default_locale": "en",
"units": "metric"
},
{
"id": "ru",
"name": "Russia",
"default_locale": "ru",
"units": "metric"
},
{
"id": "tr",
"name": "Türkiye",
"default_locale": "tr",
"units": "metric"
},
{
"id": "me",
"name": "Middle East",
"default_locale": "ar",
"units": "metric"
},
{
"id": "az",
"name": "Azerbaijan",
"default_locale": "az",
"units": "metric"
},
{
"id": "na",
"name": "North America",
"default_locale": "en",
"units": "imperial"
},
{
"id": "af",
"name": "Africa",
"default_locale": "en",
"units": "metric"
},
{
"id": "apac",
"name": "Asia Pacific",
"default_locale": "en",
"units": "metric"
},
{
"id": "latam",
"name": "Latin America",
"default_locale": "es",
"units": "metric"
}
]
}Languages
/api/v1/languagesAvailable interface locale codes and readable language names.
- Parameters
- None
- Cache lifetime
- 86400 seconds
- Success
- 200 OK; cached metadata may return 304
- Errors
- 405 method_not_allowed; 429 rate_limit_exceeded; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/api/v1/languages'
Example response
{
"languages": [
{
"code": "en",
"name": "English"
},
{
"code": "ru",
"name": "Russian"
},
{
"code": "tr",
"name": "Turkish"
},
{
"code": "az",
"name": "Azerbaijani"
},
{
"code": "ar",
"name": "Arabic"
},
{
"code": "fr",
"name": "French"
},
{
"code": "de",
"name": "German"
},
{
"code": "es",
"name": "Spanish"
}
]
}Styles
/api/v1/stylesMap style identifiers, metadata versions and dark mode compatibility. Style assets are not served by this endpoint.
- Parameters
- None
- Cache lifetime
- 21600 seconds
- Success
- 200 OK; cached metadata may return 304
- Errors
- 405 method_not_allowed; 429 rate_limit_exceeded; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/api/v1/styles'
Example response
{
"styles": [
{
"id": "standard",
"name": "Standard",
"version": 12,
"supports_dark_mode": false
},
{
"id": "night",
"name": "Night",
"version": 8,
"supports_dark_mode": true
},
{
"id": "navigation",
"name": "Navigation",
"version": 15,
"supports_dark_mode": true
},
{
"id": "minimal",
"name": "Minimal",
"version": 6,
"supports_dark_mode": true
}
]
}Capabilities
/api/v1/capabilities?platform=iosClient capabilities for a specific platform. platform is required and case-sensitive: ios, android, web or desktop. Missing, repeated or unknown values return 400 invalid_platform.
- Parameters
- platform · required string · ios | android | web | desktop
- Cache lifetime
- 3600 seconds
- Success
- 200 OK; cached metadata may return 304
- Errors
- 400 invalid_platform; 405 method_not_allowed; 429 rate_limit_exceeded; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/api/v1/capabilities?platform=ios'
Example response
{
"platform": "ios",
"capabilities": {
"vector_maps": true,
"traffic": true,
"offline_regions": true,
"background_location": true,
"carplay": true
}
}Health
/healthMinimal liveness check for process supervision. Exempt from rate limiting. HTTP 200 indicates that the process can respond; no external services are involved.
- Parameters
- None
- Cache lifetime
- no-store
- Success
- 200 OK; cached metadata may return 304
- Errors
- 405 method_not_allowed; 500 internal_error. Unknown paths return 404.
curl 'https://bs.yango-maps.com/health'
Example response
{
"status": "ok"
}Errors
Error responses are JSON and are never cached. A request ID is included so a response can be matched to server logs. Internal exceptions and stack traces are not exposed.
{
"error": {
"code": "not_found",
"message": "The requested resource was not found",
"request_id": "4c39da6d-fbbd-45e1-9e91-097404162c9f"
}
}| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_platform | Choose a supported platform |
| 404 | not_found | Resource does not exist |
| 405 | method_not_allowed | Use GET or HEAD |
| 429 | rate_limit_exceeded | Wait before retrying |
| 500 | internal_error | Unexpected server failure |
Rate limits
By default, 300 requests per IP address per 5 minutes, shared across API and HTML routes. Static assets, health checks and internal metrics are exempt. Limits are held in memory and reset when the process restarts. Responses include RateLimit and RateLimit-Policy; a 429 also includes Retry-After in seconds. Wait for that interval instead of retrying immediately.
Caching
Configuration, capabilities and bootstrap: 1 hour. Regions and languages: 24 hours. Styles: 6 hours. Status and health: no-store. Metadata responses include X-Configuration-Revision and an ETag. Preserve the full ETag, including quotes, in a subsequent If-None-Match request. A 304 has no body: reuse your stored response.
curl -i https://bs.yango-maps.com/api/v1/config
curl -i -H 'If-None-Match: <ETag from previous response>' \
https://bs.yango-maps.com/api/v1/configThe bootstrap snapshot is loaded from local JSON at startup. Restart the service after changing metadata. Its timestamp may change across restarts even when the revision is unchanged.
Versioning
URL version v1 denotes the API contract; api_version: "1.4" denotes its minor version. Configuration revisions identify metadata changes independently of application builds. GET /api lists supported URL versions.
{ "current_version": "v1", "versions": ["v1"], "documentation": "/docs" }