GET
/violations
Returns code enforcement violation and complaint records for a jurisdiction.
Base URL
https://api.threshmoor.comQuery parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
jurisdiction | string | — | No | Filter to a single jurisdiction (e.g. "austin"). Case-insensitive. Omit to query all jurisdictions. |
limit | integer | 25 | No | How many violations to return. Accepted range: 1–100. |
violation_type | string | — | No | Keyword filter by violation type (e.g. "Graffiti", "Building Maintenance"). Case-insensitive. |
Response shape
Every successful response is wrapped in a ViolationResponse object:
{
"jurisdiction": string,
"count": number,
"violations": Violation[]
}Violation object
| Field | Type | Description |
|---|---|---|
case_number | string | null | The case or complaint number. |
violation_type | string | null | Category of violation (e.g. "Building Maintenance", "Nuisance"). |
description | string | null | Free-text description of the violation. |
status | string | null | Current status (e.g. "Open", "Closed"). |
opened_date | string | null | Date the case was opened (ISO 8601 format). |
closed_date | string | null | Date the case was closed (ISO 8601 format). |
address | string | null | Street address. |
city | string | null | City name. |
zip | string | null | ZIP / postal code. |
latitude | string | null | Latitude coordinate. |
longitude | string | null | Longitude coordinate. |
jurisdiction | string | The jurisdiction this record belongs to (always present, e.g. "Austin, TX"). |
Example
Request
GET /violations?jurisdiction=austin&limit=2 HTTP/1.1
Host: api.threshmoor.com
X-API-Key: thresh_live_...Response — 200 OK
{
"jurisdiction": "Austin, TX",
"count": 2,
"violations": [
{
"case_number": "2026-043718 CE",
"violation_type": "Building Maintenance",
"description": "Reported structural damage to front porch and handrail",
"status": "Open",
"opened_date": "2026-06-10T00:00:00.000",
"closed_date": null,
"address": "1405 E 12TH ST",
"city": "AUSTIN",
"zip": "78702",
"latitude": "30.27118200",
"longitude": "-97.72294300",
"jurisdiction": "Austin, TX"
},
{
"case_number": "2026-041290 CE",
"violation_type": "Graffiti",
"description": "Graffiti on east-facing retaining wall along alley",
"status": "Closed",
"opened_date": "2026-05-22T00:00:00.000",
"closed_date": "2026-06-03T00:00:00.000",
"address": "600 W CESAR CHAVEZ ST",
"city": "AUSTIN",
"zip": "78701",
"latitude": "30.26401500",
"longitude": "-97.74802100",
"jurisdiction": "Austin, TX"
}
]
}Error responses
| Status | Meaning |
|---|---|
502 | The upstream data source is unreachable or returned an unexpected response. The API never leaks raw errors; you will receive a short, human-readable message. |
{
"detail": "Could not reach the Austin violation data source: ..."
}