Skip to Content
Hey Town Hall Data docs
Topics

API reference · Topics

List business topic tags

View as Markdown
GET
/v1/topics

The business topics given to agenda items, motions, documents and recordings (data centres, short-term rentals, solar and storage, telecom siting, zoning, procurement, …). A record with no tag is not yet tagged. Billed as one records request a page. Filters: jurisdiction, topic, kind, from, to, since, meeting.

Authorization

bearerAuth
headerAuthorizationBearer <token>

htd_test_ (sandbox, free, fictional towns) or htd_live_ (live, billed) key.

Query Parameters

jurisdiction?string

A jurisdiction id.

Match^[a-z0-9][a-z0-9-]{0,63}$
topic?string

A business topic id (GET /v1/topics lists the tags given).

Match^[a-z][a-z0-9_]{0,60}$
kind?string

The subject kind: meeting_item, motion, meeting_document, recording.

Match^[a-z][a-z0-9_]{0,60}$
from?string

On or after this date (YYYY-MM-DD).

to?string

On or before this date (YYYY-MM-DD).

since?string

Records read at or after this instant: what is new since your last read.

meeting?string

A meeting id.

Match^[0-9]{1,18}$
limit?integer

Results a page, 1 to 100. Default 25.

cursor?string

next_cursor from the previous page.

Response Body

A page.

application/json
  1. response
query*

The filters as the API read them, defaults included.

as_of*string

ISO 8601 instant, UTC.

results*array<>
next_cursor*|

Pass as cursor for the next page; null on the last.

environment*string

sandbox answers carry fictional towns.

Value in"sandbox""live"
Example Request
curl -X GET 'https://data.heytownhall.com/v1/topics'
Example Response
{  "query": {    "property1": null,    "property2": null  },  "as_of": "string",  "results": [    {      "id": "string",      "subject_kind": "string",      "subject_id": "string",      "meeting_id": "string",      "jurisdiction_id": "string",      "topic": "string",      "taxonomy_version": "string",      "confidence": 0,      "source_url": "string",      "read_at": "string"    }  ],  "next_cursor": "string",  "environment": "sandbox"}