Skip to content
ไทย
This project is under early active development. The API and schema may have breaking changes several times without prior notice before the first official public release. Read changelog

This page lists every change that affects how a client uses the API: the GraphQL schema, query limits, endpoints, visibility rules, and MCP tools.

When a client-visible field is renamed or removed, the old field is kept for a while with the GraphQL @deprecated directive wherever possible, and its removal appears as a later entry on this page. Relationship fields are the exception: they cannot coexist with their replacement, so renaming one is listed under Breaking right away.

Added

  • timestamps query, returning UTC timestamps of data freshness:
    • lastNodeUpdatedAt, the most recent data change
    • lastVoteEventScrapedAt, the last successful automated scrape of votes (VoteEvent and Vote)
    • lastBillScrapedAt, the last successful automated scrape of bills and their events
  • MCP server instructions point agents to the timestamps query to check how current the data is

Deprecated

  • lastUpdatedAt, use timestamps { lastNodeUpdatedAt } instead

Breaking

  • Organization.motions renamed to Organization.considered_motions. Its description wrongly said “proposed in the name of the organization”, while the field has always meant “considered in the organization” — use Organization.created_motions for the former
  • /graphql now responds with HTTP 400 instead of 200 when a variable does not match its declared type. The errors body is unchanged

Added

  • Organization.created_motions, motions proposed in the name of the organization (the CREATED_BY back-reference, matching Person.created_motions)
  • Organization.considered_motions, motions considered in the organization
  • /graphql accepts the optional apollographql-client-name and apollographql-client-version headers, so server-side clients can identify their application.
  • get-docs MCP tool, returning the documentation index (/llms.txt) or a single documentation page as markdown, so agents can read how the data is modeled and example queries

Deprecated

  • VoteEvent.bills, use VoteEvent.bill_vote_events.bills instead
  • Bill.requirement and Motion.requirement, never populated. Will be removed
  • BillVoteEvent.pass_condition, never populated. Use BillVoteEvent.vote_events.pass_condition instead. Will be removed

Added

  • /mcp endpoint with tools to run a query, read the schema, and list types
  • /llms.txt, /llms-full.txt, and a .md version of every documentation page

Added

  • lastUpdatedAt query, returning the UTC timestamp of the most recent data change

Breaking

  • Person and Vote queries now return at most 1,000 nodes per request. Use limit and offset to page through larger result sets

Breaking

  • Bill.bill_events renamed to Bill.events
  • Vote.voter_name renamed to Vote.voter_name_raw
  • Union MotionProposer renamed to MotionCreator
  • Bill.proposers and Bill.co_proposers renamed to Bill.creators and Bill.co_creators
  • Person.proposed_motions renamed to Person.created_motions, with Person.co_created_motions added alongside it

Added

  • Bill.creator_type and the BillCreatorType enum

Breaking

  • Bill.bill_events narrowed from Event to the new BillEvent union. DraftVoteEvent became BillVoteEvent and BillEnforceEvent became BillEnactEvent
  • BillStatus.ENFORCED removed, it duplicated BillStatus.ENACTED

Added

  • Person.death_date