---
title: "Full transaction history for a PIID — every modification row, oldest to newest"
method: GET
path: "/api/v1/contracts/{piid}/modifications"
tags: ["Contracts"]
---

# Full transaction history for a PIID — every modification row, oldest to newest

`GET /api/v1/contracts/{piid}/modifications`

## Request

- Base URL: `https://govconapi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://govconapi.com/api/v1/contracts/{piid}/modifications`
- Auth: HTTP bearer

Returns every transaction row for the given PIID, oldest action first.

Modification trail use case: amendments, options exercised, partial
terminations. Each row is a single FPDS action; mods stack on the
original award. Not date-windowed by request (no date_from/to params —
a caller asking for one PIID's history gets everything WE HOLD for it),
but `prime_awards` itself only carries FY2025 onward (CONTRACTS_DATA_FLOOR),
so an order whose PoP predates that floor silently starts mid-sequence
(e.g. first modification_number P00026, not P00001). Disclosed via the
same `window` block search_contracts/search_vehicles/search_subawards use.

## Path parameters

- `piid` string, required

## Query parameters

- `limit` integer
- `offset` integer
- `fields` string, nullable: lean | expanded | full | comma-list of columns

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/govconapi/apis/govcon-api.md) · [All operations](https://skmtc.dev/govconapi/apis/govcon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/govconapi/apis/govcon-api/revisions/32e498016218?raw)
