Regions · API reference
Flying regions and region profiles.
GET /v1/regions
Public flying regions with simplified boundaries
Authentication: X-Api-Key header; required scope: scope table.
Responses
| Status | Description | Content |
|---|---|---|
200 | GeoJSON FeatureCollection ordered by slug; ETag and Cache-Control headers | application/geo+json → RegionCollection |
304 | If-None-Match matched the current ETag; no body | |
401 | code: auth_missing, auth_invalid, auth_revoked | application/geo+json → ErrorBody |
403 | code: auth_scope | application/geo+json → ErrorBody |
422 | Validation Error | application/json → HTTPValidationError |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Headers: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |
GET /v1/regions/{region}/profile
Profile of a public flying region
Authentication: X-Api-Key header; required scope: scope table.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
region required | path | string | Region id (uuid, lowercase) or slug (regions.slug), e.g. fethiye-oludeniz0–64 chars · ^[a-z0-9]+(-[a-z0-9]+)*$ |
Responses
| Status | Description | Content |
|---|---|---|
200 | Region profile; ETag and Cache-Control headers | application/json → RegionProfileResponse |
304 | If-None-Match matched the current ETag; no body | |
401 | code: auth_missing, auth_invalid, auth_revoked | application/json → ErrorBody |
403 | code: auth_scope | application/json → ErrorBody |
404 | code: region_not_found | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Headers: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |
GET /v1/regions/{region}/incidents
Known incidents and precautions of a public flying region
Entered by the region's moderators. Not in-flight information: use it for planning and briefing. No person, no day, no ranking.
Authentication: X-Api-Key header; required scope: scope table.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
region required | path | string | Region id (uuid, lowercase) or slug (regions.slug)0–64 chars · ^[a-z0-9]+(-[a-z0-9]+)*$ |
Responses
| Status | Description | Content |
|---|---|---|
200 | Incidents; ETag and Cache-Control headers | application/json → RegionIncidentsResponse |
304 | If-None-Match matched the current ETag; no body | |
401 | code: auth_missing, auth_invalid, auth_revoked | application/json → ErrorBody |
403 | code: auth_scope | application/json → ErrorBody |
404 | code: region_not_found | application/json → ErrorBody |
422 | code: request_invalid | application/json → ErrorBody |
429 | code: rate_limited, quota_exceeded (Retry-After seconds)Headers: Retry-After — Seconds until the exhausted window resets | application/json → ErrorBody |