# Client ## Domain Types ### Error - `Error = object { error }` Standard API error response - `error: object { code, message, details }` - `code: string` Machine-readable error code - `message: string` Human-readable error message - `details: optional unknown` Additional error details ### Feature Collection - `FeatureCollection = object { features, type }` Bare GeoJSON FeatureCollection. Pagination metadata is returned in HTTP headers (X-Limit, X-Has-More, X-Next-Cursor, X-Next-Offset, Link). - `features: array of GeoJsonFeature` - `geometry: GeoJsonGeometry` - `coordinates: array of number or array of array of number or array of array of array of number or array of array of array of array of number` GeoJSON coordinates array (nesting depth varies by geometry type) - `array of number` - `array of array of number` - `array of array of array of number` - `array of array of array of array of number` - `type: "Point" or "LineString" or "Polygon" or 3 more` - `"Point"` - `"LineString"` - `"Polygon"` - `"MultiPoint"` - `"MultiLineString"` - `"MultiPolygon"` - `properties: map[unknown]` - `type: "Feature"` - `"Feature"` - `id: optional string` Feature identifier (type/osm_id) - `osm_id: optional number` OpenStreetMap ID - `type: "FeatureCollection"` - `"FeatureCollection"` ### Geo Json Feature - `GeoJsonFeature = object { geometry, properties, type, 2 more }` - `geometry: GeoJsonGeometry` - `coordinates: array of number or array of array of number or array of array of array of number or array of array of array of array of number` GeoJSON coordinates array (nesting depth varies by geometry type) - `array of number` - `array of array of number` - `array of array of array of number` - `array of array of array of array of number` - `type: "Point" or "LineString" or "Polygon" or 3 more` - `"Point"` - `"LineString"` - `"Polygon"` - `"MultiPoint"` - `"MultiLineString"` - `"MultiPolygon"` - `properties: map[unknown]` - `type: "Feature"` - `"Feature"` - `id: optional string` Feature identifier (type/osm_id) - `osm_id: optional number` OpenStreetMap ID ### Geo Json Geometry - `GeoJsonGeometry = object { coordinates, type }` - `coordinates: array of number or array of array of number or array of array of array of number or array of array of array of array of number` GeoJSON coordinates array (nesting depth varies by geometry type) - `array of number` - `array of array of number` - `array of array of array of number` - `array of array of array of array of number` - `type: "Point" or "LineString" or "Polygon" or 3 more` - `"Point"` - `"LineString"` - `"Polygon"` - `"MultiPoint"` - `"MultiLineString"` - `"MultiPolygon"`