API reference · Meetings
Retrieve a meeting
One meeting with its agenda items, documents, recordings and motions. Billed as one records request.
bearerAuthAuthorizationBearer <token>htd_test_ (sandbox, free, fictional towns) or htd_live_ (live, billed) key.
id*string^[0-9]{1,18}$The record.
application/json- response
id*stringjurisdiction_id*stringcountry*string|nullregion*string|nulltitle*stringkind*|council, committee_of_the_whole, public_hearing, board, committee, other.
closed*boolean|nullcancelled*boolean|nullmeeting_date*stringYYYY-MM-DD.
starts_at*|ISO 8601 instant, UTC.
time_zone*string|nulllocation*string|nullplatform*|The meeting vendor it was read from.
organ_id*string|nullorgan_name*string|nullorgan_kind*string|nullagenda_seen_at*|When the agenda first appeared.
items_read_at*|ISO 8601 instant, UTC.
minutes_read_at*|ISO 8601 instant, UTC.
source_url*|The page, document, video or platform the record was read from.
read_at*|When it was read.
agenda_items*array<>documents*array<>recordings*array<>motions*array<>environment*string"sandbox""live"curl -X GET 'https://data.heytownhall.com/v1/meetings/string'{ "id": "string", "jurisdiction_id": "string", "country": "string", "region": "string", "title": "string", "kind": "string", "closed": true, "cancelled": true, "meeting_date": "string", "starts_at": "string", "time_zone": "string", "location": "string", "platform": "string", "organ_id": "string", "organ_name": "string", "organ_kind": "string", "agenda_seen_at": "string", "items_read_at": "string", "minutes_read_at": "string", "source_url": "string", "read_at": "string", "agenda_items": [ { "id": "string", "position": 0, "depth": 0, "number": "string", "title": "string", "recommendation": "string", "video_seconds": 0, "plain_summary": "string", "why_it_matters": "string", "report_url": "string", "source_url": "string", "read_at": "string" } ], "documents": [ { "id": "string", "item_position": 0, "kind": "string", "title": "string", "format": "string", "source_url": "string", "read_at": "string" } ], "recordings": [ { "id": "string", "provider": "string", "title": "string", "published_at": "string", "duration_seconds": 0, "has_transcript": true, "source_url": "string", "read_at": "string" } ], "motions": [ { "id": "string", "position": 0, "item_position": 0, "number": "string", "text": "string", "mover": "string", "seconder": "string", "outcome": "string", "unanimous": true, "votes_for": 0, "votes_against": 0, "kinds": [ "string" ], "topics": [ "string" ], "actions": [ "string" ], "source_url": "string", "read_at": "string" } ], "environment": "sandbox"}A meeting's transcript GET
The meeting's recordings' transcript lines in order, without speaker labels. Billed as one transcripts request a page. An empty page means no transcript is held yet, never that nothing was said.
List meetings GET
Meetings of councils, boards and committees, newest first. `topic` keeps meetings with an agenda item, motion, document or recording tagged with it. Billed as one records request a page. Filters: jurisdiction, region, country, kind, topic, from, to, since.