Offender Map API enums
Every closed vocabulary the API accepts or returns, with every value and where it appears.
How to read the Offender Map API enums
Every closed vocabulary the Offender Map API accepts or returns, generated from the same reference data as the endpoint and object tables. Direction says whether a value is something you send, something you receive, or both. Treat a value you do not recognise as other and log it: values are added over time and announced on the changelog, never removed or renamed.
Fields whose values are the source's own text (for example a criminal record's currentStatus or a charge's disposition) are not enums and are not listed here; their closed twins live in the normalized object and are listed.
Offender Map API enums — every value
| Field | Where | Direction | Values | Default |
|---|---|---|---|---|
detail`full` for what to draw, `count` for numbers only. | MapAreaRequest | request | fullcount | full |
detail`full` for counts and nameless pins, `count` for counts only (no pins and no ids). The same price. | MapRouteRequest | request | fullcount | full |
format`json` for the [MapViewportResponse](/docs/map/viewport#reference-get-v1-map-viewport) shape, `geojson` for a [MapGeoJson](/docs/map/clusters-and-markers#object-mapgeojson) FeatureCollection. | MapAreaRequest | request | jsongeojson | json |
format`json` for the [MapRouteResponse](/docs/map/routes#reference-post-v1-map-route) shape, `geojson` for a [MapGeoJson](/docs/map/clusters-and-markers#object-mapgeojson) FeatureCollection. A batch answers in `json` only. | MapRouteRequest | request | jsongeojson | json |
measureWhat is counted: the corridor along the line, a radius around each stop, or both. Left out: `both` when `stopRadiusFeet` is sent (`stops` when there is no line), otherwise `corridor`. | MapRouteRequest | request | corridorstopsboth | — |
polylinePrecisionThe precision of `polyline`: `5` for Google, `6` for Mapbox, OSRM and Valhalla. Read at the wrong precision a line lands far away and is refused with `invalid_polyline`. | MapRouteRequest | request | 56 | 5 |
precision`street` keeps only people with an exact street address. `any`, or leaving it out, keeps everyone. | MapAreaRequest | request | streetany | — |
precision`street` leaves out the people counted under `approximate`. `any`, or leaving it out, keeps everyone. | MapRouteRequest | request | streetany | — |
profileSets the limits and the default stop radius. `walk`: up to 15 miles, 50 stops, 500 feet. `bus`: up to 60 miles, 150 stops, 1,000 feet. | MapRouteRequest | request | walkbus | walk |
addressTypeWhich registered address this pin is. | Pin and named pin fields: the MapMarker object | both | homeworkschoolother | — |
addressTypeWhich registered address put this person in the group. | Group member fields: the MapMember object | both | homeworkschoolother | — |
addressTypeWhich registered address this pin is. | Route pin fields: the MapRouteMarker object | both | homeworkschoolother | — |
detail`count` answers have empty `markers`, `groups` and `approximate.areas`. | MapRouteResponse | both | fullcount | — |
detail.codeThe stable code to switch on. Every code, with its status, cause and fix, is in the tables on this page. | The map error body: the MapError object | both | invalid_bboxinvalid_centerinvalid_radiusinvalid_zoominvalid_filterinvalid_formatinvalid_detailinvalid_pageinvalid_shapeinvalid_routeinvalid_pathinvalid_polylineinvalid_profileinvalid_measureinvalid_corridorinvalid_stopsroute_too_longroute_too_many_pointsroute_too_many_stopsroute_batch_too_largeroute_too_denseroute_too_many_peopleend_user_requiredmap_not_enabledmap_pausedorigin_not_allowedunknown_markerunknown_groupmarker_expiredgroup_expiredrecord_no_longer_listedmap_sweep_limitmap_end_user_limitmap_end_user_route_limitmap_open_limitmap_busyoverloadedmap_index_not_readymap_unavailablemap_not_configuredminimum_not_acceptedpayment_method_requiredpayment_failedbusiness_account_requiredadmin_required | — |
features.geometry.typeAlways `Point`. | GeoJSON response fields: the MapGeoJson object | both | Point | — |
features.typeAlways `Feature`. | GeoJSON response fields: the MapGeoJson object | both | Feature | — |
housingStatusHousing status as the registry states it. `null` when the registry does not state one; `null` does not mean housed. Present only in `markers` mode. | Pin and named pin fields: the MapMarker object | both | housedhomelessincarcerated | — |
housingStatusHousing status as the registry states it; `null` when the registry does not state one. Present only on a named group. | Group member fields: the MapMember object | both | housedhomelessincarcerated | — |
kind`address` for several people at one address (a many-people pin), `area` for an approximate-area pin. | MapGroupResponse | both | addressarea | — |
markerFieldsHow labels read on this plan: `basic` gives `J. Smith`, `named` gives `John Smith`. | MapStatus | both | basicnamed | — |
measureWhat was counted. | MapRouteResponse | both | corridorstopsboth | — |
minimumBilledOnHow the monthly minimum is collected: `card` (charged when the Map API is turned on) or `invoice` (a line on the month-end invoice, for accounts billed by invoice; nothing is charged at turn-on). | MapStatus | both | cardinvoice | — |
modeWhat this answer holds. `clusters` at zoom 3 to 12, or for a closer view holding more than 300 pins. `pins` at zoom 13 and 14. `markers` (pins with names) at zoom 15 and closer. `count` with `detail=count`: numbers only, and `clusters`, `markers` and `areas` are empty. | MapViewportResponse | both | clusterspinsmarkerscount | — |
precisionAlways `street`: an exact pin is drawn only for an exact street address. People known only to an area are in `areas[]`. | Pin and named pin fields: the MapMarker object | both | street | — |
precisionAlways `street`. | Many-people pin fields: the MapGroupPin object | both | street | — |
precisionWhat the coordinate is the middle of. | Approximate-area pin fields: the MapArea object | both | zipcitycounty | — |
precisionAlways `street`. | Route pin fields: the MapRouteMarker object | both | street | — |
precisionAlways `street`. | Route group pin fields: the MapRouteGroup object | both | street | — |
precisionWhat kind of area. | Route approximate-area fields: the MapRouteArea object | both | zipcitycounty | — |
profileThe profile the route was answered with. | MapRouteResponse | both | walkbus | — |
reasonWhy. `first_open_of_this_marker`: billed, the first open of this marker id. `marker_already_opened`: free, this marker id was opened before. `saved_reference`: billed, opened by `recordRef`. `opened_in_the_last_24_hours`: free, the reference was opened, or the record was opened from a marker, in the last 24 hours. `sandbox`: free, test mode. | Record open billing: the MapBilling object | both | first_open_of_this_markermarker_already_openedsaved_referenceopened_in_the_last_24_hourssandbox | — |
shape`polygon` or `route`: the shape that was drawn. Present only on a `POST /v1/map/area` answer. | MapViewportResponse | both | polygonroute | — |
shapeAlways `route`. | MapRouteResponse | both | route | — |
shapeAlways `routes`. | MapRoutesResponse | both | routes | — |
typeAlways `FeatureCollection`. | GeoJSON response fields: the MapGeoJson object | both | FeatureCollection | — |
unitThe billing unit: always `map_record_open`. | Record open billing: the MapBilling object | both | map_record_open | — |