Documentation menu
GETPUBLIC

/catalog

Returns the live coverage matrix: every data vertical and the jurisdictions currently available for each. No API key required.

Base URL

https://api.threshmoor.com

Query parameters

This endpoint accepts no query parameters.

Response shape

Every successful response is wrapped in a CatalogResponse object:

{
  "verticals": Vertical[]
}

Vertical object

FieldTypeDescription
slugstringURL-safe identifier for the vertical (e.g. "permits", "violations").
namestringHuman-readable display name (e.g. "Building Permits").
descriptionstringShort description of the data vertical.
jurisdictionsJurisdiction[]Array of jurisdictions currently available for this vertical.

Jurisdiction object

FieldTypeDescription
keystringLookup key used for filtering in other endpoints (e.g. "austin").
labelstringHuman-readable label (e.g. "Austin, TX").

Example

Request

GET /catalog HTTP/1.1
Host: api.threshmoor.com

Response — 200 OK

{
  "verticals": [
    {
      "slug": "permits",
      "name": "Building Permits",
      "description": "Building and construction permit records.",
      "jurisdictions": [
        { "key": "austin", "label": "Austin, TX" }
      ]
    },
    {
      "slug": "violations",
      "name": "Code Violations",
      "description": "Code enforcement violation and complaint records.",
      "jurisdictions": [
        { "key": "austin", "label": "Austin, TX" }
      ]
    },
    {
      "slug": "landuse",
      "name": "Land Development",
      "description": "Land-use and zoning application records.",
      "jurisdictions": [
        { "key": "austin", "label": "Austin, TX" }
      ]
    }
  ]
}

Error responses

StatusMeaning
502The 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 catalog data source: ..."
}