---
title: "One Regulations.gov docket"
method: GET
path: "/api/v1/us/rulemaking/dockets/{docket_id}"
tags: ["US Rulemaking"]
---

# One Regulations.gov docket

`GET /api/v1/us/rulemaking/dockets/{docket_id}`

## Request

- Base URL: `https://api.vaquill.ai`
- URL: `https://api.vaquill.ai/api/v1/us/rulemaking/dockets/{docket_id}`
- 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/dockets/:docket_id/get.ts> (a function with typed inputs; its response is checked against the schema)

A rulemaking or non-rulemaking docket from Regulations.gov: agency, type, title, abstract, the RIN when the agency entered one, when it was last modified, how many documents we hold and of which types, and the comment count when we measured it (`null` means not measured, never zero). Current state only. Unknown docket: 404, refunded.

## Path parameters

- `docket_id` string, required: Regulations.gov docket id, for example `EPA-HQ-OAR-2021-0208`. Case is kept as printed.

## 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

- DocketResponse: Response for `GET /us/rulemaking/dockets/{docketId}`.
  - `processingTimeMs` number: Server-side time in milliseconds, not billed on.
  - `creditsConsumed` integer: Credits charged for this call. 0 when not charged or refunded.
  - `docketId` string, required: Regulations.gov docket id.
  - `agencyId` string, required: Regulations.gov agency id.
  - `docketType` string, nullable: `Rulemaking` or `Nonrulemaking`.
  - `title` string, nullable
  - `rin` string, nullable: Regulation Identifier Number, normalised. Regulations.gov's value when it has one, otherwise the single RIN our cross-link spine holds as verified for this docket (see `rinSource`). Null when neither exists, or when the spine names several RINs (no pick is made).
  - `rinSource` 'regulations_gov' | 'spine', nullable: Where `rin` came from: `regulations_gov` (the publisher) or `spine` (our verified cross-link). Null when `rin` is null.
  - `spineRin` string, nullable: Set only when the spine holds a verified RIN that DIFFERS from the publisher's `rin`. `rin` stays the publisher's value.
  - `lastModifiedAt` string, date-time, nullable: Regulations.gov `lastModifiedDate`.
  - `commentCount` integer, nullable: Comments received. Null means NOT MEASURED, never zero. See `commentCountAsOf`.
  - `commentCountAsOf` string, date-time, nullable: When we measured `commentCount`.
  - `sourceUrl` string, required: The docket page on regulations.gov.
  - `asOf` string, date-time, nullable: When we last saw this docket at the publisher.
  - `abstract` string, nullable
  - `modifyDate` string, date-time, nullable
  - `documentCount` integer: Documents of this docket that we hold.
  - `documentTypeCounts` object

## Other responses

- `401`: Missing, invalid or revoked API key. Not charged.
- `402`: Insufficient credits. Nothing was done and nothing was charged.
- `404`: No such docket. 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/dockets/:docket_id/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)
