---
title: "Compare Bill Versions"
method: GET
path: "/api/v1/bills/{bill_id}/compare"
tags: ["bills"]
---

# Compare Bill Versions

`GET /api/v1/bills/{bill_id}/compare`

## Request

- Base URL: `https://api.billcommons.org`
- URL: `https://api.billcommons.org/api/v1/bills/{bill_id}/compare`
- Auth: none declared

Deterministic diff of extracted text between two versions of a bill.

Mirrors apps/mcp compare_bill_versions (difflib), reimplemented locally
per architecture: apps don't import across each other. DERIVED output,
not an official document -- see docs/SPEC.md "Version diffing".

## Path parameters

- `bill_id` string, uuid, required

## Query parameters

- `from` string, uuid, required: Bill version id to diff from
- `to` string, uuid, required: Bill version id to diff to

## Response `200`

Successful Response

- BillCompareEnvelope
  - `data` BillCompareOut, required
    - `bill_id` string, uuid, required
    - `from_version_id` string, uuid, required
    - `to_version_id` string, uuid, required
    - `diff_lines` DiffLineOut[], required
      - `type` string, required
      - `text` string, required
  - `meta` object, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/billcommons/apis/bill-commons-api.md) · [All operations](https://skmtc.dev/billcommons/apis/bill-commons-api/llms.txt) · [OpenAPI document](https://skmtc.dev/billcommons/apis/bill-commons-api/revisions/bfb8cd50a317?raw)
