changedInput schema / properties / comment_id / description
Previous value: -"Fetch one comment's full detail and attachments by its Regulations.gov comment ID (e.g. \"EPA-HQ-OAR-2025-0194-31102\"). Use to read a single comment's body after finding it in a list. Mutually exclusive with the other three targeting parameters — pass it alone, not alongside the docket it came from."New value: +"Fetch one comment's full detail and attachments by its Regulations.gov comment ID (e.g. \"EPA-HQ-OAR-2025-0194-31102\"). Use to read a single comment's body after finding it in a list. Mutually exclusive with the other three targeting parameters — pass it alone, not alongside the docket it came from — and takes none of the list filters."
changedInput schema / properties / document_object_id / description
Previous value: -"Fetch comments on one specific document by its Regulations.gov object ID (the objectId from regulations_get_docket's documents). Comments usually attach to the docket's primary (proposed-rule) document. Mutually exclusive with the other three targeting parameters."New value: +"Fetch comments on one specific Regulations.gov document, by either handle: its object ID, 16 hex characters (e.g. \"0900006485883ec6\", the objectId in regulations_get_docket's documents), or its document ID (e.g. \"EPA-HQ-OW-2022-0114-0027\", the regulationsGovDocumentId from regulations_get_document). Comments usually attach to the docket's primary (proposed-rule) document. Mutually exclusive with the other three targeting parameters."
addedInput schema / properties / fr_document_number / anyOf
Added value: +[
+ {
+ "const": "",
+ "type": "string"
+ },
+ {
+ "description": "Federal Register document number (e.g. \"2023-05471\", \"E9-25990\").",
+ "pattern": "^[A-Za-z]?[0-9]{1,4}-[0-9]{1,6}(-[0-9]{1,6})?$",
+ "type": "string"
+ }
+]
changedInput schema / properties / fr_document_number / description
Previous value: -"Convenience: fetch comments for a Federal Register document by its FR number (e.g. \"2025-14555\"). Resolves to the Regulations.gov document internally. Saves a get_document → get_docket hop. Mutually exclusive with the other three targeting parameters."New value: +"Convenience: fetch comments on the Regulations.gov document carrying a Federal Register number (e.g. \"2023-05471\"; older numbers like \"E9-25990\" too). A Regulations.gov document ID (\"EPA-HQ-OW-2022-0114-0027\") is not an FR number; pass it as document_object_id. Saves a get_document → get_docket hop. A document that is not on Regulations.gov — a presidential document, for one — answers not_found. Mutually exclusive with the other three targeting parameters."
removedInput schema / properties / fr_document_number / type
Removed value: -"string"
changedInput schema / properties / page / description
Previous value: -"Page number (1-based). Regulations.gov caps a query at 20 pages (5,000 records); for a high-volume docket this surfaces a sample — narrow by document_object_id."New value: +"Page number (1–40, default 1). Regulations.gov serves 40 pages, so a list reaches 40 × per_page comments (10,000 at per_page 250); totalPages and nextPage in the response say how far this one goes. To reach past that, take the set one posted_after/posted_before window at a time."
changedInput schema / properties / page / maximum
Previous value: -20New value: +40
addedInput schema / properties / posted_after
Added value: +{
+ "anyOf": [
+ {
+ "const": "",
+ "type": "string"
+ },
+ {
+ "description": "ISO 8601 date (YYYY-MM-DD).",
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "type": "string"
+ }
+ ],
+ "description": "List mode: earliest posted date, inclusive, ISO 8601 (YYYY-MM-DD), a real calendar day. Pair with posted_before to take a high-volume set one window at a time."
+}
addedInput schema / properties / posted_before
Added value: +{
+ "anyOf": [
+ {
+ "const": "",
+ "type": "string"
+ },
+ {
+ "description": "ISO 8601 date (YYYY-MM-DD).",
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
+ "type": "string"
+ }
+ ],
+ "description": "List mode: latest posted date, inclusive, ISO 8601 (YYYY-MM-DD), a real calendar day. The same date as posted_after selects that one day."
+}
addedInput schema / properties / search_term
Added value: +{
+ "description": "List mode: keep only comments whose text matches, as Regulations.gov full-text search reads it — stemmed, so \"flaring\" also matches \"flare\" and \"flares\". Each hit then carries highlightedContent, the passages that matched.",
+ "type": "string"
+}
addedOutput schema / properties / cap
Added value: +{
+ "description": "The most comments 40 pages reach at this per_page (40 × per_page); set with truncated (list mode).",
+ "type": "number"
+}
addedOutput schema / properties / comments / items / properties / highlightedContent
Added value: +{
+ "description": "The passages of the comment text that matched search_term, as plain text — present only when search_term was given.",
+ "type": "string"
+}
addedOutput schema / properties / duplicateComments
Added value: +{
+ "description": "Identical submissions this record stands for. 0 or 1 is an ordinary submission, depending on the agency; above 1 marks a mass-mail campaign record standing for that many identical submissions. Null when not recorded (detail mode).",
+ "type": [
+ "number",
+ "null"
+ ]
+}
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `auth_required`: REGULATIONS_GOV_API_KEY is not configured, or Regulations.gov rejected the key that is. `target_required`: None of docket_id / document_object_id / fr_document_number / comment_id was given. `multiple_targets`: More than one of docket_id / document_object_id / fr_document_number / comment_id was given. `not_found`: The target docket/document/comment has no comments or does not exist. `rate_limited`: Regulations.gov returned 429. `upstream_unavailable`: Regulations.gov returned a 5xx, timed out, or could not be reached at all. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `auth_required`: REGULATIONS_GOV_API_KEY is not configured, or Regulations.gov rejected the key that is. `target_required`: None of docket_id / document_object_id / fr_document_number / comment_id was given. `multiple_targets`: More than one of docket_id / document_object_id / fr_document_number / comment_id was given. `filter_requires_list_mode`: search_term, posted_after, or posted_before was given with comment_id, which reads one comment and takes no filters. `date_range_inverted`: The start of a date range is later than its end. `not_found`: The target docket, document, or comment does not exist on Regulations.gov, or no Regulations.gov document carries the FR number. `rate_limited`: Regulations.gov returned 429. `upstream_unavailable`: Regulations.gov returned a 5xx, timed out, or could not be reached at all. Other values are possible when a failure originates below the handler."
changedOutput schema / properties / error / properties / data / properties / reason / examples
Previous value: -[
- "auth_required",
- "target_required",
- "multiple_targets",
- "not_found",
- "rate_limited",
- "upstream_unavailable"
-]New value: +[
+ "auth_required",
+ "target_required",
+ "multiple_targets",
+ "filter_requires_list_mode",
+ "date_range_inverted",
+ "not_found",
+ "rate_limited",
+ "upstream_unavailable"
+]
addedOutput schema / properties / nextPage
Added value: +{
+ "description": "Page to request next — present only when a later page holds comments (list mode).",
+ "type": "number"
+}
changedOutput schema / properties / notice / description
Previous value: -"Guidance — empty results, or that bodies need comment_id detail mode."New value: +"Guidance — no comments matched, the page is past the end, comments lie beyond the last page, or the substance of a comment is in its attachments."
addedOutput schema / properties / postmarkDate
Added value: +{
+ "description": "Postmark on a mailed submission, or null — many agencies record none (detail mode).",
+ "type": [
+ "string",
+ "null"
+ ]
+}
changedOutput schema / properties / receivedDate / description
Previous value: -"Received date, or null (detail mode)."New value: +"Date Regulations.gov received the comment, or null when not recorded (detail mode)."
changedOutput schema / properties / target / description
Previous value: -"What was queried — docket / document / FR doc (list mode)."New value: +"What was queried — the docket, document, or FR document, with any search_term and posted-date filters (list mode)."
addedOutput schema / properties / totalPages
Added value: +{
+ "description": "Pages of comments at this per_page, at most the 40 Regulations.gov serves; 0 when none matched (list mode).",
+ "type": "number"
+}
changedOutput schema / properties / truncated / description
Previous value: -"True when comments exceed the 5,000-record ceiling (list mode)."New value: +"True when more comments matched than 40 pages reach at this per_page, so some are on no page — set on every page of such a set (list mode)."