---
title: "Unified Agenda history of one RIN"
method: GET
path: "/api/v1/us/rulemaking/rins/{rin}/agenda"
tags: ["US Rulemaking"]
---

# Unified Agenda history of one RIN

`GET /api/v1/us/rulemaking/rins/{rin}/agenda`

## Request

- Base URL: `https://api.vaquill.ai`
- URL: `https://api.vaquill.ai/api/v1/us/rulemaking/rins/{rin}/agenda`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/vaquill/apis/vaquill-developer-api/docs/api/v1/us/rulemaking/rins/:rin/agenda/get.ts> (a function with typed inputs; its response is checked against the schema)

One entry per Unified Agenda edition that carried the RIN (Fall 1995 onward), newest first, each with the stage, priority and timetable the agency printed in that edition. Use `from` and `to` (edition ids `YYYYMM`) to narrow it.

## Path parameters

- `rin` string, required: Regulation Identifier Number `NNNN-AANN`; lower case is accepted.

## Query parameters

- `from` string, nullable
- `to` string, nullable
- `limit` integer
- `cursor` string, nullable: `nextCursor` of the previous page; same filters.

## Headers

- `Idempotency-Key` string, nullable: Optional. 16 to 255 visible ASCII characters (a UUIDv4 works). Repeating the same request with the same key replays the original 2xx response for 24 hours without charging again. The same key on a different request is rejected. With the account's `cacheQueryDerivedData` retention setting off, no body is stored and a retry answers 409 `idempotency_replay_unavailable`, still without a second charge.

## Response `200`

Successful Response

- AgendaHistoryResponse: Response for `GET /us/rulemaking/rins/{rin}/agenda`, newest edition first.
  - `processingTimeMs` number: Server-side time in milliseconds, not billed on.
  - `creditsConsumed` integer: Credits charged for this call. 0 when not charged or refunded.
  - `rin` string, required
  - `editions` AgendaEdition[], required
    - `editionId` string, required
    - `season` string, nullable
    - `year` integer, nullable
    - `runDate` string, date, nullable
    - `title` string, nullable
    - `abstract` string, nullable
    - `stage` string, nullable
    - `rinStatus` string, nullable
    - `priority` string, nullable
    - `major` string, nullable
    - `agencyCode` string, nullable
    - `agencyName` string, nullable
    - `agencyAcronym` string, nullable
    - `furtherInfoUrl` string, nullable
    - `publicCommentUrl` string, nullable
    - `sourceUrl` string, nullable
    - `timetable` TimetableAction[]
      - `action` string, nullable
      - `dateRaw` string, nullable
      - `dateValue` string, date, nullable
      - `datePrecision` string, nullable
      - `frCitation` string, nullable
      - `frVolume` integer, nullable
      - `frPage` integer, nullable
  - `nextCursor` string, nullable

## Other responses

- `401`: Missing, invalid or revoked API key. Not charged.
- `402`: Insufficient credits. Nothing was done and nothing was charged.
- `404`: We hold nothing for this RIN. Refunded.
- `409`: Idempotency conflict. `idempotency_in_progress`: the original request with this key is still running (retry after `Retry-After`). `idempotency_replay_unavailable`: it completed but its response was too large to replay; nothing is charged again, so check the credit balance instead of retrying.
- `422`: Validation error: `detail` plus one `errors` entry per rejected field. `idempotency_key_reused`: the `Idempotency-Key` was already used with a different request.
- `429`: Rate limit exceeded.
- `500`: Internal error (`internal_error`, retryable). Any credits charged for the call are refunded; retry with backoff and quote `requestId` to support if it persists.
- `503`: The rulemaking database is unavailable. Refunded.

## Changes

- **2026-11-07** `340c0d24d0b6`: 28 info
  - added the non-success response with the status `500`
  - added the optional property `candidateCount` to the response with the `409` status
  - added the optional property `candidateCount` to the response with the `422` status
  - added the optional property `candidateCount` to the response with the `429` status
  - …24 more

[Operation history](https://skmtc.dev/vaquill/apis/vaquill-developer-api/changes/api/v1/us/rulemaking/rins/:rin/agenda/get.md)

---

[API](https://skmtc.dev/vaquill/apis/vaquill-developer-api.md) - [All operations](https://skmtc.dev/vaquill/apis/vaquill-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vaquill/apis/vaquill-developer-api/revisions/340c0d24d0b6?raw)
