# Zones

A Curb Zone is a designated area along a curb that includes specific rules for vehicle use, such as parking or loading. Defined by cities, each Curb Zone must maintain a consistent regulation across its entire area, be located on a single street between the same cross streets, and not overlap with other zones that have the same validity times. Every Curb Zone is assigned a unique ID that stays the same unless the zone's physical boundaries change. The goal is to ensure that no vehicle can legally occupy two different zones simultaneously, unless required by other regulations.

## Query Curb Zones

> Get all the information about zones based on a specific location or time specified.  Also specify the search radius and whether you only want information for curb zones on the same street.  This API is useful if you are looking to get a better understanding of the curb regulations in front of a given address or location.  All regulations will be provided around the location to help plan your curbside activity at your destination.  Please note that either lat/long/radius or max\_lat, max\_lng, min\_lat, min\_lon must be entered as query parameters to search by position.<br>

```json
{"openapi":"3.1.0","info":{"title":"CurbIQ API","version":"1.0.0"},"servers":[{"url":"https://v2.curbiq-curb-api.io","description":"CurbIQ's Curb API (v1)"}],"paths":{"/curbs/zones":{"get":{"operationId":"getCurbZones","summary":"Query Curb Zones","description":"Get all the information about zones based on a specific location or time specified.  Also specify the search radius and whether you only want information for curb zones on the same street.  This API is useful if you are looking to get a better understanding of the curb regulations in front of a given address or location.  All regulations will be provided around the location to help plan your curbside activity at your destination.  Please note that either lat/long/radius or max_lat, max_lng, min_lat, min_lon must be entered as query parameters to search by position.\n","parameters":[{"name":"curbiq_token","in":"query","required":true,"schema":{"type":"string"},"description":"The CurbIQ token provided to you when you registered for the API."},{"name":"area","in":"query","required":false,"schema":{"type":["string","null"],"format":"uuid"},"description":"CDS  \nThe ID of a Curb Area.  \nIf specified, only return Curb Zones contained within this area.\n"},{"name":"lat","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CDS  \nLatitude at the center of the search circle.  \nThis parameter is conditionally required if either 'lng' or 'radius' is specified.\n"},{"name":"lng","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CDS  \nLongitude at the center of the search circle.  \nThis parameter is conditionally required if either 'lat' or 'radius' is specified.\n"},{"name":"radius","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CDS  \nRadius of the search circle (in centimeters).  \nThis parameter is conditionally required if either 'lat' or 'lng' is specified.\n"},{"name":"min_lat","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"min_lng","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"max_lat","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"max_lng","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"time","in":"query","schema":{"type":"integer","format":"int64"},"required":false,"description":"CDS  \nThe Curb Zone object will only be returned if its validity period includes this time.  \nThis parameter takes a time in the [Timestamp](https://github.com/openmobilityfoundation/curb-data-specification/blob/main/general-information.md#timestamp) format\n"},{"name":"include_geometry","in":"query","schema":{"type":"boolean"},"required":false,"description":"CDS  \nIf the value is false, do not include the geometry field within the Curb Zone feature object.\n"},{"name":"city_name","in":"query","schema":{"type":"string"},"required":false,"description":"CCDS  \nName of the city that is being queried\n"},{"name":"curb_zone_id","in":"query","schema":{"type":["string","null"],"format":"uuid"},"required":false,"description":"CCDS  \nThe ID of a Curb Zone. If specified, only return the specified curb zone.\n"},{"name":"segment_id","in":"query","schema":{"type":"number","format":"float"},"required":false,"description":"CCDS  \nThe ID of the segment to be queried. If specified, only return the specified segment.\n"},{"name":"parking_angle","in":"query","schema":{"type":"string"},"required":false,"description":"CCDS  \nThe angle in which passenger vehicles in this Curb Zone are meant to park.  \nMay take one of the following values: parallel, perpendicular, angled\n"},{"name":"area_name","in":"query","schema":{"type":"string"},"required":false,"description":"CCDS  \nName of the area being queried. If specified, only return Curb Zones contained within this area.\n"},{"name":"response_size","in":"query","schema":{"type":"integer"},"description":"CCDS  \nDefault is 100. The maximum response size is 250.\n"},{"name":"page_num","in":"query","schema":{"type":"integer"},"description":"CCDS  \nPage number for paginated responses, default is 1.\n"}],"responses":{"200":{"description":"A successful response containing Curb Zones.","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"string"},"time_zone":{"type":"string"},"last_updated":{"type":"number"},"currency":{"type":"string"},"author":{"type":"string"},"licence_url":{"type":["string","null"]},"ccds_attributes":{"type":"object","properties":{"type":{"type":"string"},"request_type":{"type":"string"},"city_id":{"type":"string"},"city_name":{"type":"string"},"standard_time_offset":{"type":"string"},"dst_time_offset":{"type":"string"},"dst_start":{"type":"string"},"dst_end":{"type":"string"},"query_parameters":{"type":"object","properties":{"area":{"type":"string"},"curbiq_token":{"type":"string"}}}}},"pages":{"type":"object","properties":{"total":{"type":"integer"},"current":{"type":"integer"}}},"data":{"type":"array","items":{"type":"object","properties":{"zones":{"type":"array","items":{"type":"object","properties":{"curb_zone_id":{"type":"string"},"curb_policy_ids":{"type":"array","items":{"type":"string"}},"prev_policies":{"type":["string","null"]},"published_date":{"type":"integer"},"last_updated_date":{"type":"integer"},"prev_curb_zone_ids":{"type":["string","null"]},"start_date":{"type":"integer"},"end_date":{"type":["string","null"]},"location_references":{"type":["string","null"]},"name":{"type":"string"},"user_zone_id":{"type":"string"},"street_name":{"type":"string"},"cross_street_start_name":{"type":["string","null"]},"cross_street_end_name":{"type":["string","null"]},"length":{"type":["string","null"]},"available_space_length":{"type":["string","null"]},"availability_time":{"type":["string","null"]},"width":{"type":["string","null"]},"parking_angle":{"type":"string"},"num_spaces":{"type":"integer"},"street_side":{"type":["string","null"]},"median":{"type":["string","null"]},"entire_roadway":{"type":["string","null"]},"curb_area_ids":{"type":"array","items":{"type":["string","null"]}},"curb_space_ids":{"type":["string","null"]},"ccds_attributes":{"type":"object","properties":{"demand_monitor_id":{"type":"string"},"segment_id":{"type":"string"},"curb_area_names":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}}},"400":{"description":"Request failed."}},"tags":["curbs"]}}}}
```

## Fetch Curb Zone

> Fetch all the information about a zone using its CDS curb\_zone\_id. This API is great if you know exactly what curb zone you need information for. A quick query will return all the relevant regulation data for the curb zone specified.<br>

```json
{"openapi":"3.1.0","info":{"title":"CurbIQ API","version":"1.0.0"},"servers":[{"url":"https://v2.curbiq-curb-api.io","description":"CurbIQ's Curb API (v1)"}],"paths":{"/curbs/zones/{curb_zone_id}":{"get":{"operationId":"getCurbZonesbyID","summary":"Fetch Curb Zone","description":"Fetch all the information about a zone using its CDS curb_zone_id. This API is great if you know exactly what curb zone you need information for. A quick query will return all the relevant regulation data for the curb zone specified.\n","parameters":[{"name":"curbiq_token","in":"query","required":true,"schema":{"type":"string"},"description":"The CurbIQ token provided to you when you registered for the API."},{"name":"time","in":"query","schema":{"type":"integer","format":"int64"},"required":false,"description":"CDS  \nThe Curb Zone object will only be returned if its validity period includes this time (in milliseconds).  \nOtherwise, the server should reply with 404 Not Found. Availability data (if supplied) will be returned as of this time.\n"},{"name":"show_historic","in":"query","schema":{"type":"boolean"},"required":false,"description":"CDS  \nWhether to return historic, retired curb zone data. Default is \"false\" to reduce payload size and complexity.\n"},{"name":"area","in":"query","required":false,"schema":{"type":["string","null"],"format":"uuid"},"description":"CCDS  \nThe ID of a Curb Area.  \nIf specified, only return Curb Zones contained within this area.\n"},{"name":"lat","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CCDS  \nLatitude at the center of the search circle.  \nThis parameter is conditionally required if either 'lng' or 'radius' is specified.\n"},{"name":"lng","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CCDS  \nLongitude at the center of the search circle.  \nThis parameter is conditionally required if either 'lat' or 'radius' is specified.\n"},{"name":"radius","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CCDS  \nRadius of the search circle (in centimeters).  \nThis parameter is conditionally required if either 'lat' or 'lng' is specified.\n"},{"name":"min_lat","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CCDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"min_lng","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CCDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"max_lat","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CCDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"max_lng","in":"query","schema":{"type":["number","null"],"format":"float"},"required":false,"description":"CCDS  \nFor querying policies associated with all zones within a bounding box.  \nIf any of 'min_lat', 'min_lng', 'max_lat', or 'max_lng' are specified, all must be.\n"},{"name":"include_geometry","in":"query","schema":{"type":"boolean"},"required":false,"description":"CCDS  \nIf the value is false, do not include the geometry field within the Curb Zone feature object.\n"},{"name":"city_name","in":"query","schema":{"type":"string"},"required":false,"description":"CCDS  \nName of the city that is being queried\n"},{"name":"curb_zone_id","in":"query","schema":{"type":["string","null"],"format":"uuid"},"required":false,"description":"CCDS  \nThe ID of a Curb Zone. If specified, only return the specified curb zone.\n"},{"name":"segment_id","in":"query","schema":{"type":"number","format":"float"},"required":false,"description":"CCDS  \nThe ID of the segment to be queried. If specified, only return the specified segment.\n"},{"name":"parking_angle","in":"query","schema":{"type":"string"},"required":false,"description":"CCDS  \nThe angle in which passenger vehicles in this Curb Zone are meant to park.  \nMay take one of the following values: parallel, perpendicular, angled\n"},{"name":"area_name","in":"query","schema":{"type":"string"},"required":false,"description":"CCDS  \nName of the area being queried. If specified, only return Curb Zones contained within this area.\n"},{"name":"response_size","in":"query","schema":{"type":"integer"},"description":"CCDS  \nDefault is 100. The maximum response size is 250.\n"},{"name":"page_num","in":"query","schema":{"type":"integer"},"description":"CCDS  \nPage number for paginated responses, default is 1.\n"}],"responses":{"200":{"description":"A successful response containing Curb Zones.","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"string"},"time_zone":{"type":"string"},"last_updated":{"type":"number"},"currency":{"type":"string"},"author":{"type":"string"},"licence_url":{"type":["string","null"]},"ccds_attributes":{"type":"object","properties":{"type":{"type":"string"},"request_type":{"type":"string"},"city_id":{"type":"string"},"city_name":{"type":"string"},"standard_time_offset":{"type":"string"},"dst_time_offset":{"type":"string"},"dst_start":{"type":"string"},"dst_end":{"type":"string"},"query_parameters":{"type":"object","properties":{"curb_zone_id":{"type":"string"},"curbiq_token":{"type":"string"}}}}},"pages":{"type":"object","properties":{"total":{"type":"integer"},"current":{"type":"integer"}}},"data":{"type":"array","items":{"type":"object","properties":{"zones":{"type":"array","items":{"type":"object","properties":{"curb_zone_id":{"type":"string"},"curb_policy_ids":{"type":"array","items":{"type":"string"}},"prev_policies":{"type":["string","null"]},"published_date":{"type":"integer"},"last_updated_date":{"type":"integer"},"prev_curb_zone_ids":{"type":["string","null"]},"start_date":{"type":"integer"},"end_date":{"type":["string","null"]},"location_references":{"type":["string","null"]},"name":{"type":"string"},"user_zone_id":{"type":"string"},"street_name":{"type":"string"},"cross_street_start_name":{"type":["string","null"]},"cross_street_end_name":{"type":["string","null"]},"length":{"type":["string","null"]},"available_space_length":{"type":["string","null"]},"availability_time":{"type":["string","null"]},"width":{"type":["string","null"]},"parking_angle":{"type":"string"},"num_spaces":{"type":"integer"},"street_side":{"type":["string","null"]},"median":{"type":["string","null"]},"entire_roadway":{"type":["string","null"]},"curb_area_ids":{"type":"array","items":{"type":["string","null"]}},"curb_space_ids":{"type":["string","null"]},"ccds_attributes":{"type":"object","properties":{"demand_monitor_id":{"type":"string"},"segment_id":{"type":"string"},"curb_area_names":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}}},"400":{"description":"Request failed."}},"tags":["curbs"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://curbiq.gitbook.io/curbiq-api-documentation/curbs/curbs_zones.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
