Change
One entry in the feed of every endorsement added, changed or deleted, for keeping a copy up to date.
- Returned by
GET /v1/changes
How it connects
endorsement_idis the endorsement changed. The same change is in that endorsement’s history.
Good to know
- Changes are in
idorder. Keep thenext_cursorof the last page you read and pass it next time, so nothing is missed or repeated. - The endorser’s
slugandnamearenullif the endorser has since been removed.
Fields
| Field | Type | Meaning | Example |
|---|---|---|---|
id | integer | The change’s id: increasing and unique. Pages are in this order. | 512330 |
at | stringISO 8601 date and time with time zone | When the change was made. | 2026-11-02T18:04:11.902Z |
change | string | What happened to the endorsement: created, updated or deleted.created, updated, deleted meanings | updated |
changed | array of string | For updated: the fields that changed. Empty otherwise.choice_id, rank, statement, source_url, published_on meanings | ["rank"] |
endorsement_id | integer | The endorsement changed. | 90211 |
endorser | object | Who made the endorsement. | — |
endorser.id | integer | Endorser id. | 512 |
endorser.slug | stringor null | Endorser slug; null if the endorser has since been removed. | sf-labor-council |
endorser.name | stringor null | Endorser name; null if the endorser has since been removed. | San Francisco Labor Council |
endorser.category | Endorser categoryor null | The endorser’s category. | — |
contest | object | The contest. | — |
contest.id | integer | Contest id. | 4410 |
contest.title | string | Title as printed on the ballot. | Member, Board of Supervisors, District 8 |
election | object | The contest’s election. | — |
election.id | integer | Election id. | 3 |
election.slug | string | Election slug. | ca-2026-11-03-general |
election.date | stringYYYY-MM-DD | Election day. | 2026-11-03 |
before | objector null | The values before the change; null for created. | — |
before.choice_id | integer | The choice endorsed. | 20931 |
before.choice_label | stringor null | That choice’s label as printed; null if the choice has since been removed from the ballot. | Jane Doe |
before.rank | integeror null | Ranked choice: the rank; null otherwise. | 2 |
before.statement | stringor null | What the endorser said. | — |
before.source_url | stringor nullURL | Where it was published. | https://sflaborcouncil.org/endorsements |
before.published_on | stringor nullYYYY-MM-DD | When it was published. | 2026-09-18 |
after | objector null | The values after the change; null for deleted. | — |
after.choice_id | integer | The choice endorsed. | 20931 |
after.choice_label | stringor null | That choice’s label as printed; null if the choice has since been removed from the ballot. | Jane Doe |
after.rank | integeror null | Ranked choice: the rank; null otherwise. | 1 |
after.statement | stringor null | What the endorser said. | — |
after.source_url | stringor nullURL | Where it was published. | https://sflaborcouncil.org/endorsements |
after.published_on | stringor nullYYYY-MM-DD | When it was published. | 2026-09-18 |