/permissionAPI keyWhere a use is allowed, across jurisdictions
Every district in scope where the use is addressed, grouped by jurisdiction, cited and dated.
layer[] and the coverage rows name every jurisdiction in scope we cannot answer for, so a short list is never mistaken for a complete one. Sortable: jurisdiction.name (default), jurisdiction.population, district.code_normalized, level_rank, effective_from, coverage_tier.
Operation ID list_permission_permission_get
Parameters
query
- userequiredstring[]
- A
use_id or vocabulary slug (energy.storage.battery). Required, repeatable. - level"by_right" | "permitted_with_standards" | "administrative_approval" | "conditional_use"[]
- Only these levels. Repeatable.
- as_ofstring | null
- Valid time: the law in force then. Default now, in the jurisdiction's timezone.
2024-06-30,2024-06-30T14:00:00-04:00,from:2023-01-01 to:2024-12-31, orlast 90 days. An interval returnssegment[], never a winner. - known_as_ofstring | null
- Knowledge time: the answer we would have given then. Default now. Same grammar as
as_of. - includestring | null
- Comma-separated:
control,composition. - sortstring | null
fieldor-field, comma-separated, at most three. Sortable fields are listed per operation.- cursorstring | null
- From a previous page's
page.next_cursor. - sizeinteger | null
- Default 25.
- totalboolean
- Include
page.total. First page only. - dry_runboolean
- Price and scope the request without answering it.
- regionstring | null
- A saved
rgn_region, or a statistical area such as a CBSA (sta_id). Membership resolves atas_of. - jurisdictionstring[]
- A
jur_id or fips_key. Repeatable. - statestring | null
- Two-letter postal code or two-digit FIPS.
- countystring | null
- County FIPS, 5 digits, or a county's
jur_id. - geometrystring | null
- WKT or GeoJSON. Jurisdictions that intersect it.
- buffernumber | null
- Feet around
geometry. - filterobject map
filter[<field>][<op>]=<value>. Operators:eq ne in nin lt lte gt gte between prefix contains is_null not_null any all permits forbids. AND across fields, OR within repeated values. A row whosestatushas no comparable value is returned asfilter_outcome: indeterminate, never silently dropped;filter_indeterminate=excludeopts out. An unknown field, operator or value is a 422, never an empty result.- filter_indeterminate"include" | "exclude" | "only"
onlyis the audit query: which rows is the code silent on.
Responses
- 200
- Collection_RegionalPermission_
- Successful Response
- 401
- empty
- No usable credential.
- 402
- ErrorResponse
quota_exhausted: out of credit. Credit is prepaid and the balance cannot go below zero, so add credit rather than retrying.- 403
- ErrorResponse
entitlement_missing: the plan does not cover this operation.- 404
- ErrorResponse
- No such id. The only meaning of 404.
- 422
- ErrorResponse
- The request cannot be answered as asked. The code says why.
- 429
- ErrorResponse
rate_limited, withRetry-After.- 501
- ErrorResponse
not_available: this operation does not answer yet.
Example request
curl -X GET 'http://localhost:8000/permission?use=townhome' \
-H 'X-API-Key: $PLACESTACK_API_KEY'Example response
{
"request": {
"path": "<Path>",
"param": {},
"dry_run": false
},
"meta": {
"contract_date": "2026-09-13",
"vocabulary_version": "<Vocabulary Version>",
"request_id": "req_01h455vb4pex5vsknk084sn02q",
"api_version": "v1",
"answer_id": "ans_01h455vb4pex5vsknk084sn02q",
"answer_through": 1,
"unit": {
"key": "string"
},
"cost": "<Cost>"
},
"item": [
{
"constant": true,
"data_horizon": "2026-09-13",
"horizon_basis": "measured",
"id": "prm_01h455vb4pex5vsknk084sn02q",
"use": "<UseRef>",
"binds": true,
"segment": [
"<PermissionSegment>"
],
"jurisdiction": "<JurisdictionRef>",
"district_code": "<District Code>",
"supersession_risk": "<SupersessionRisk>",
"district": "dst_01h455vb4pex5vsknk084sn02q",
"overlay": "dst_01h455vb4pex5vsknk084sn02q",
"private_restriction": "pvr_01h455vb4pex5vsknk084sn02q",
"filter_outcome": "match"
}
],
"page": {
"size": 1,
"next_cursor": "string",
"indeterminate": 0,
"total": "<envelope__Total>"
},
"as_of": {
"resolved": "<Interval>",
"timezone": "<Timezone>",
"basis": "requested",
"known_as_of": "2026-09-13T12:00:00Z",
"known_as_of_basis": "requested",
"requested": "string",
"earliest_retained": {
"key": "2026-09-13"
},
"constant": true,
"segment_count": 1
},
"notice": [
{
"code": "as_of_interval_spans_change",
"severity": "info",
"detail": "<Detail>",
"count": 1,
"subject": [
"string"
]
}
],
"coverage": {
"jurisdiction": "jur_01h455vb4pex5vsknk084sn02q",
"layer": {
"key": "<CoverageLayer>"
},
"href": "<Href>"
}
}