Endpoint Reference
Every v1 endpoint, parameter, and response field.
List matters
GET /api/v1/matters
Returns Council matters — bills, resolutions, and land-use applications — newest first by last modification.
Query parameters
| Parameter | Type | Description |
|---|---|---|
q | string | Case-insensitive search over title, file number, and summary |
category | string | legislation (Int bills) or land-use (ULURP applications and call-ups) |
since | ISO date | Only matters modified on or after this date |
limit | integer | Page size, 1–100. Default 25 |
offset | integer | Rows to skip. Default 0 |
Response
{
"data": [Matter],
"pagination": {
"total": 1284,
"limit": 25,
"offset": 0,
"has_more": true
}
}
The Matter object
| Field | Type | Description |
|---|---|---|
id | integer | Stable matter id — use it for the detail endpoint |
file | string | null | Official file number, e.g. Int 0987-2026 or LU 0123-2026 |
title | string | null | Official (often long) title |
short_title | string | null | AI-generated short title |
summary | string | null | Official summary, when the Council provides one |
ai_summary | string | null | AI-generated plain-English summary |
type | string | null | Matter type, e.g. Introduction, Land Use Application |
body | string | null | Committee or body it sits with |
status | string | null | Current status, e.g. Committee, Enacted |
introduced_at | ISO timestamp | null | Introduction date |
last_modified_at | ISO timestamp | null | Last change upstream |
Get one matter
GET /api/v1/matters/{id}
Returns a single Matter plus three related collections:
| Field | Type | Description |
|---|---|---|
votes[] | array | One entry per member vote: person_name, district, value (e.g. Affirmative, Negative, Absent) |
sponsors[] | array | name, district, type (e.g. Primary), sequence (introduction order) |
translations[] | array | locale, title, summary — machine translations where available |
Returns 404 not_found for ids that don't exist and 400 invalid_parameter for non-numeric ids.