# ------------------
# Disclaimer:
# ------------------
# This Open API specification document is work in progress. This document will continue
# to be updated until our Public API v4 is finalized.
#--------------------
openapi: 3.0.0
info:
title: Regulations.gov API
description: >-
Public API for Regulations.gov
version: "4.0"
servers:
- url: 'https://api.regulations.gov/v4'
description: Production endpoint for Regulations.gov API
security:
- ApiKeyAuth: []
paths:
/documents:
get:
summary: List of documents
description: This endpoint returns list of documents
tags:
- documents
parameters:
- name: filter[agencyId]
in: query
description: >-
'Filters results for the agency acronym specified in the value. Example: ''EPA'''
required: false
schema:
type: string
- name: filter[commentEndDate]
in: query
description: >-
Filters results relative to the comment end date. The value must be formatted as `yyyy-MM-dd`.
Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used.
`ge` - greater than or equal
`le` - less than or equal
required: false
schema:
type: string
format: date
- name: filter[docketId]
in: query
description: >-
Filters results on the specified docket ID.
required: false
schema:
type: string
- name: filter[documentType]
in: query
description: >-
Filters results on the specified document type.
required: false
schema:
$ref: '#/components/schemas/DocumentType'
- name: filter[frDocNum]
in: query
description: >-
Filters results on the specified frDocNum.
required: false
schema:
type: string
- name: filter[searchTerm]
in: query
description: >-
Filters results on the given term.
required: false
schema:
type: string
- name: filter[postedDate]
in: query
description: >-
Filters results relative to the posted date. The value must be formatted as `yyyy-MM-dd`.
Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used.
`ge` - greater than or equal
`le` - less than or equal
required: false
schema:
type: string
format: date
- name: filter[lastModifiedDate]
in: query
description: >-
Filters results relative to the last modified date. The value must be formatted as `yyyy-MM-dd HH:mm:ss`.
Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used.
`ge` - greater than or equal
`le` - less than or equal
required: false
schema:
type: string
format: date
- name: filter[subtype]
in: query
description: >-
Filters results on the supplied document subtype
required: false
schema:
type: string
- name: filter[withinCommentPeriod]
in: query
description: >-
Filters results for documents that are open for comment by setting the value to `true`.
_`False` is not an acceptable value for this parameter, hence it should be removed when not being used._
required: false
schema:
type: boolean
- name: sort
in: query
description: >-
Sorts the results on the field specified in the value. The default behavior will sort the results in ascending order; to sort in descending order, prepend a minus sign to the value.
Supported values are `commentEndDate`, `postedDate`, `lastModifiedDate`, `documentId` and `title`. Multiple sort options can be passed in as a comma separated list to sort results by multiple fields.
required: false
schema:
type: string
- name: page[number]
in: query
description: >-
Specifies the number for the page of results that will be returned from the query.
Acceptable values are numerical between, and including, 1 and 20.
required: false
schema:
type: integer
- name: page[size]
in: query
description: >-
Specifies the size per page of results that will be returned from the query.
Acceptable values are numerical between, and including, 5 and 250.
required: false
schema:
type: integer
responses:
'200':
description: A JSON\:API document with the a list of documents
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/DocumentFindAllResponse'
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/documents/{documentId}:
get:
tags:
- documents
summary: Get detailed information for specified documentId
description: Gets the detailed information of a specific document with the passed documentId.
parameters:
- name: documentId
in: path
description: ID of document to return
required: true
schema:
type: string
- name: include #Only supported value for include is attachments.
in: query
description: resources to include
required: false
schema:
type: string
example: attachments
responses:
'200':
description: successful operation
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/DocumentFindOneResponse'
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'404':
description: Document not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/comments:
get:
summary: List of comments
description: This endpoint returns list of comments
tags:
- comments
parameters:
- name: filter[agencyId]
in: query
description: >-
'Filters results for the agency acronym specified in the value. Example: ''EPA'''
required: false
schema:
type: string
- name: filter[searchTerm]
in: query
description: >-
Filters results on the given term.
required: false
schema:
type: string
- name: filter[postedDate]
in: query
description: >-
Filters results relative to the posted date. The value must be formatted as `yyyy-MM-dd`.
Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used.
`ge` - greater than or equal
`le` - less than or equal
required: false
schema:
type: string
format: date
- name: filter[lastModifiedDate]
in: query
description: >-
Filters results relative to the last modified date. The value must be formatted as `yyyy-MM-dd HH:mm:ss`.
Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used.
`ge` - greater than or equal
`le` - less than or equal
required: false
schema:
type: string
format: date
- name: filter[commentOnId]
in: query
description: >-
Filters results on the supplied commentOnId
required: false
schema:
type: string
- name: sort
in: query
description: >-
Sorts the results on the field specified in the value. The default behavior will sort the results in ascending order; to sort in descending order, prepend a minus sign to the value.
The only supported values are `postedDate`, `lastModifiedDate` and `documentId`. Multiple sort options can be passed in as a comma separated list to sort results by multiple fields.
required: false
schema:
type: string
- name: page[number]
in: query
description: >-
Specifies the number for the page of results that will be returned from the query.
Acceptable values are numerical between, and including, 1 and 20.
required: false
schema:
type: integer
- name: page[size]
in: query
description: >-
Specifies the size per page of results that will be returned from the query.
Acceptable values are numerical between, and including, 5 and 250.
required: false
schema:
type: integer
responses:
'200':
description: A JSON\:API document with the a list of comments
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/CommentFindAllResponse'
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
post:
summary: Creates a new comment.
tags:
- comments
requestBody:
description: A JSON object containing comment information
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONResourcePostRequestObject'
responses:
'201':
description: Created
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONResourcePostResponseObject'
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'404':
description: Document not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/comments/{commentId}:
get:
summary: Get detailed information for specified commentId
description: Gets the detailed information of a specific comment with the passed commentId.
tags:
- comments
parameters:
- name: commentId
in: path
description: ID of comment to return
required: true
schema:
type: string
- name: include #Only supported value for include is attachments.
in: query
description: resources to include
example: attachments
schema:
type: string
responses:
'200':
description: successful operation
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/CommentFindOneResponse'
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'404':
description: Document not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/dockets:
get:
summary: List of dockets
description: This endpoint returns list of dockets
tags:
- dockets
parameters:
- name: filter[agencyId]
in: query
description: >-
'Filters results for the agency acronym specified in the value. Example: ''EPA'''
required: false
schema:
type: string
- name: filter[searchTerm]
in: query
description: >-
Filters results on the given term.
required: false
schema:
type: string
- name: filter[lastModifiedDate]
in: query
description: >-
Filters results relative to the last modified date. The value must be formatted as `yyyy-MM-dd HH:mm:ss`.
Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used.
`ge` - greater than or equal
`le` - less than or equal
required: false
schema:
type: string
format: date
- name: filter[docketType]
in: query
description: >-
Filters results on the specified docket type.
required: false
schema:
$ref: '#/components/schemas/DocketType'
- name: sort
in: query
description: >-
Sorts the results on the field specified in the value. The default behavior will sort the results in ascending order; to sort in descending order, prepend a minus sign to the value.
The only supported values are `title`, `docketId` and `lastModifiedDate`. Multiple sort options can be passed in as a comma separated list to sort results by multiple fields.
required: false
schema:
type: string
- name: page[number]
in: query
description: >-
Specifies the number for the page of results that will be returned from the query.
Acceptable values are numerical between, and including, 1 and 20.
required: false
schema:
type: integer
- name: page[size]
in: query
description: >-
Specifies the size per page of results that will be returned from the query.
Acceptable values are numerical between, and including, 5 and 250.
required: false
schema:
type: integer
responses:
'200':
description: A JSON\:API document with the a list of dockets
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/DocketFindAllResponse'
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/dockets/{docketId}:
get:
tags:
- dockets
summary: Get detailed information for specified docketId
description: Gets the detailed information of a specific docket with the passed docketId.
parameters:
- name: docketId
in: path
description: ID of docket to return
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/DocketFindOneResponse'
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'404':
description: Document not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/agency-categories:
get:
summary: Returns a list of categories
description: This endpoint returns list of categories
tags:
- comment submission utilities
parameters:
- name: filter[acronym]
in: query
description: >-
'Filters results for the agency acronym specified in the value. Example: ''EPA'''
required: true
schema:
type: string
responses:
'200':
description: List of agency categories
content:
application/vnd.api+json:
schema: # TODO: Pull this object out into a component
type: object
properties:
data:
type: array
items:
type: object
properties:
default:
type: boolean
description: Defines if its the default category value
acronym:
type: string
description: Agency acronym
categories:
type: string
description: The name of the category
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/submission-keys:
post:
summary: Creates the unique submission key
operationId: GetSubmitterKey
tags:
- comment submission utilities
requestBody:
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: object
properties:
type:
type: string
example: 'submissionKeys'
responses:
'201':
description: Created
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: object
properties:
id:
type: string
description: the newly created submission key
type:
type: string
example: 'submission-keys'
links:
$ref: '#/components/schemas/SelfLink'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
/file-upload-urls:
post:
summary: Creates a presigned url to upload file
tags:
- comment submission utilities
description: 'Returns a pre-signed URL to upload a file to the S3 bucket'
requestBody:
required: true
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: object
properties:
type:
type: string
example: 'file-upload-urls'
attributes:
type: object
properties:
submissionKey:
type: string
description: submission key for the submission
fileName:
type: string
description: name of the file to upload
contentType:
type: string
description: content type of the file
responses:
'201':
description: Created
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: object
properties:
id:
type: string
format: uri
description: The pre-signed url to upload the file
type:
type: string
example: 'file-upload-urls'
attributes:
type: object
properties:
submissionKey:
type: string
description: submission key for the submission
fileName:
type: string
description: name of the file to upload
contentType:
type: string
description: content type of the file
'400':
description: Validation error
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
'403':
description: API key is missing or invalid
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/JSONError'
components:
securitySchemes:
ApiKeyAuth: # arbitrary name for the security scheme
type: apiKey
in: header # can be "header", "query" or "cookie"
name: X-Api-Key # name of the header, query parameter or cookie
schemas:
#JSON:API Specific documentation
DocumentFindAllResponse:
description: A JSON:API document with a list of resources
properties:
data:
description: The list of documents where each document is a JSON:API document
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/DocumentFindAllItem'
meta:
$ref: '#/components/schemas/FindAllResponseMetadata'
CommentFindAllResponse:
description: A JSON:API document with a list of resources
properties:
data:
description: The list of comments where each comment is a JSON:API document
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/CommentFindAllItem'
meta:
$ref: '#/components/schemas/FindAllResponseMetadata'
DocketFindAllResponse:
description: A JSON:API document with a list of resources
properties:
data:
description: The list of dockets where each docket is a JSON:API document
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/DocketFindAllItem'
meta:
$ref: '#/components/schemas/FindAllResponseMetadata'
DocumentFindAllItem:
description: A JSON:API document which represents a single document in the list
properties:
id:
description: The JSON:API resource ID `documentId`
type: string
type:
description: The JSON:API resource type `documents`
type: string
attributes:
$ref: '#/components/schemas/Document'
links:
type: array
items:
$ref: '#/components/schemas/SelfLink'
CommentFindAllItem:
description: A JSON:API document which represents a single document in the list
properties:
id:
description: The JSON:API resource ID `documentId`
type: string
type:
description: The JSON:API resource type `comments`
type: string
attributes:
$ref: '#/components/schemas/Comment'
links:
type: array
items:
$ref: '#/components/schemas/SelfLink'
DocketFindAllItem:
description: A JSON:API document which represents a single document in the list
properties:
id:
description: The JSON:API resource ID `docketId`
type: string
type:
description: The JSON:API resource type `dockets`
type: string
attributes:
$ref: '#/components/schemas/Docket'
links:
type: array
items:
$ref: '#/components/schemas/SelfLink'
AttachmentFindAllItem:
description: A JSON:API document which represents a single document in the list
properties:
id:
description: The JSON:API resource ID `attachmentId`
type: string
type:
description: The JSON:API resource type `attachments`
type: string
attributes:
$ref: '#/components/schemas/Attachment'
links:
type: array
items:
$ref: '#/components/schemas/SelfLink'
FindAllResponseMetadata:
description: A JSON:API document
properties:
hasNextPage:
type: boolean
hasPreviousPage:
type: boolean
numberOfElements:
type: integer
pageNumber:
type: integer
pageSize:
type: integer
totalElements:
type: integer
totalPages:
type: integer
firstPage:
type: boolean
lastPage:
type: boolean
DocumentFindOneResponse:
description: A JSON:API document which represents a single document
type: object
properties:
id:
description: The JSON:API resource ID (documentId of the document)
type: string
type:
description: The JSON:API resource type `documents`
type: string
attributes:
$ref: "#/components/schemas/DocumentDetail"
relationships:
$ref: "#/components/schemas/Relationship"
links:
type: array
items:
$ref: '#/components/schemas/SelfLink'
included:
description: The list of documents where each document is a JSON:API document
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/AttachmentFindAllItem'
CommentFindOneResponse:
description: A JSON:API document which represents a single document
type: object
properties:
id:
description: The JSON:API resource ID (documentId of the comment). DocumentId field is always returned in JSON response. This is an agency configurable field. Each agency has option to configure the format of the field.
type: string
type:
description: The JSON:API resource type `comments`
type: string
attributes:
$ref: "#/components/schemas/CommentDetail"
relationships:
type: array
items:
$ref: "#/components/schemas/Relationship"
links:
type: array
items:
$ref: '#/components/schemas/SelfLink'
included:
description: The list of documents where each document is a JSON:API document
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/AttachmentFindAllItem'
DocketFindOneResponse:
description: A JSON:API document which represents a single document
type: object
properties:
id:
description: The JSON:API resource ID (docketId of the docket)
type: string
type:
description: The JSON:API resource type `dockets`
type: string
attributes:
$ref: "#/components/schemas/DocketDetail"
links:
type: array
items:
$ref: '#/components/schemas/SelfLink'
Relationship:
description: A single relationship object
type: object
properties:
data:
$ref: "#/components/schemas/RelationshipToAttachment"
links:
$ref: "#/components/schemas/RelationshipLinks"
additionalProperties: false
RelationshipToAttachment:
description: >-
An array of attachment objects as relationship resources.
type: array
items:
type: object
properties:
type:
type: string
id:
type: string
RelationshipLinks:
description: >-
Relationship links to other related resources (`attachments`)
type: object
properties:
self:
$ref: "#/components/schemas/Link"
related:
$ref: "#/components/schemas/Link"
additionalProperties: false
SelfLink:
description: Link to self
type: object
properties:
self:
$ref: "#/components/schemas/Link"
Link:
description: A string containing the link URL.
type: string
format: uri-reference
uniqueItems: true
JSONResourcePostRequestObject:
description: A JSON:API document which represents a single document being posted
type: object
properties:
type:
description: The JSON:API resource type `comments`
type: string
attributes:
type: object
oneOf:
- $ref: "#/components/schemas/IndividualComment"
- $ref: "#/components/schemas/OrganizationComment"
- $ref: "#/components/schemas/AnonymousComment"
JSONResourcePostResponseObject:
description: A JSON:API document which represents the response from post
type: object
properties:
id:
description: The comment tracking number
type: string
type:
description: The JSON:API resource type `comments`
type: string
attributes:
$ref: "#/components/schemas/CommentPostResponse"
JSONError:
description: A JSON:API document
type: object
properties:
errors:
description: List of JSON:API Error
type: array
items:
$ref: "#/components/schemas/Error"
#Regulations.gov documentation
DocumentType:
type: string
description: type of document. This field is always returned in JSON response
enum:
- Notice
- Rule
- Proposed Rule
- Supporting & Related Material
- Other
DocketType:
type: string
description: the type of docket
enum:
- Rulemaking
- Nonrulemaking
SubmitterType:
type: string
description: the submitter type
enum:
- Anonymous
- Individual
- Organization
FileFormat:
type: object
properties:
fileUrl:
type: string
description: URL of the file on S3
format:
type: string
description: The format of the file such as `pdf`
size:
type: integer
description: The file size
#Relationship model for attachments
Attachment:
type: object
properties:
agencyNote:
type: string
description: The note by agency
authors:
type: array
items:
type: string
description: The individual, organization, or group of collaborators that contributed to the creation of the attachment.
docAbstract:
type: string
description: The detailed description of the attachment.
docOrder:
type: integer
description: The order of the attachment
fileFormats:
type: array
description: list of file formats
items:
$ref: '#/components/schemas/FileFormat'
modifyDate:
type: string
format: date-time
description: The date when the attachment was last modified.
publication:
type: string
description: The publication date
restrictReason:
type: string
description: If the attachment is restricted, this field will state the reason.
restrictReasonType:
type: string
description: If the attachment is restricted, this field will state the type of restriction.
title:
type: string
description: The formal title of the attachment
#Search components
Document:
type: object
properties:
agencyId:
type: string
description: The acronym used to abbreviate the name of the agency associated with the document.
commentEndDate:
type: string
nullable: true
format: date-time
description: The date that closes the period when public comments may be submitted on the document.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
commentStartDate:
type: string
nullable: true
format: date-time
description: The date that begins the period when public comments may be submitted on the document.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
docketId:
type: string
description: The ID of the docket to which the document corresponds.
documentType:
$ref: '#/components/schemas/DocumentType'
frDocNum:
type: string
description: The federal register document number of the document.
highlightedContent:
type: string
nullable: true
description: Content highlighted by search engine for the searchTerm. Only returned for searches with searchTerm.
lastModifiedDate:
type: string
format: date-time
description: The date document was last modified in the system.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
objectId:
type: string
description: The internal ID of the document in our system.
openForComment:
type: boolean
description: Conveys if the document is open for comment
postedDate:
type: string
description: The date that the document was posted by the agency to the system.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
subtype:
type: string
nullable: true
description: An agency-specific attribute to further categorize a document beyond the type (`documentType`).
title:
type: string
description: The formal title of the document.
withdrawn:
type: boolean
description: Conveys if the document is withdrawn
Comment:
type: object
properties:
agencyId:
type: string
description: The acronym used to abbreviate the name of the agency associated with the document.
documentType:
$ref: '#/components/schemas/DocumentType'
highlightedContent:
type: string
nullable: true
description: Content highlighted by search engine for the searchTerm. Only returned for searches with searchTerm.
lastModifiedDate:
type: string
format: date-time
description: The date comment was last modified in the system.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
objectId:
type: string
description: The internal ID of the comment in our system.
postedDate:
type: string
description: The date that the document was posted by the agency to the system.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
title:
type: string
description: The formal title of the document.
withdrawn:
type: boolean
description: Conveys if the document is withdrawn
Docket:
type: object
properties:
agencyId:
type: string
description: The acronym used to abbreviate the name of the agency associated with the docket.
docketType:
$ref: '#/components/schemas/DocketType'
highlightedContent:
type: string
nullable: true
description: Content highlighted by search engine for the searchTerm. Only returned for searches with searchTerm.
lastModifiedDate:
type: string
format: date-time
description: The date docket was last modified in the system.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
objectId:
type: string
description: The internal ID of the docket in our system.
title:
type: string
description: The formal title of the docket.
#Detail components
BasicDetailModel:
type: object
properties:
address1:
type: string
nullable: true
description: The first line of the submitter's address.
address2:
type: string
nullable: true
description: The second line of the submitter's address.
agencyId:
type: string
description: The acronym used to abbreviate the name of the agency associated with the document. This field is always returned in JSON response.
city:
type: string
nullable: true
description: The city associated with the submitter's address. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
category:
type: string
nullable: true
description: An agency-specific category allowing agencies to group comments according to their type.
comment:
type: string
description: The comment text associated with the comment submission. This field is always returned in JSON response.
country:
type: string
nullable: true
description: The country associated with the submitter's address. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
docAbstract:
type: string
description: The detailed description of the document. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
docketId:
type: string
description: The ID of the docket to which the document corresponds. This field is always returned in JSON response.
documentType:
$ref: '#/components/schemas/DocumentType'
email:
type: string
nullable: true
description: The submitter's e-mail address.
fax:
type: string
nullable: true
description: The submitter's fax number.
field1:
type: string
nullable: true
description: An agency-specific field used for storing additional data with the document. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
field2:
type: string
nullable: true
description: An agency-specific field used for storing additional data with the document. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
fileFormats:
type: array
description: list of file formats
items:
$ref: '#/components/schemas/FileFormat'
firstName:
type: string
nullable: true
description: The submitter's first name. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
govAgency:
type: string
nullable: true
description: The name of the government agency that the submitter represents. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
govAgencyType:
type: string
nullable: true
description: The type of government agency that the submitter represents. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
lastName:
type: string
nullable: true
description: The submitter's last name. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
legacyId:
type: string
nullable: true
description: An agency-specific identifier that was given to the document in the legacy system. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
modifyDate:
type: string
format: date-time
description: The date when the document was last modified.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
objectId:
type: string
description: The internal ID of the document in our system.
openForComment:
type: boolean
description: Conveys if the document is open for commenting.
organization:
type: string
nullable: true
description: The organization that the submitter represents. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
originalDocumentId:
type: string
description: The document ID that was assigned when first entered into the system should a change occur that requires a new document ID to be assigned.
pageCount:
type: string
nullable: true
description: Conveys the number of pages contained in the document. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
phone:
type: string
nullable: true
description: The submitter's phone number.
postedDate:
type: string
format: date-time
description: The date that the document was posted by the agency to the system.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`. This field is always returned in JSON response.
postmarkDate:
type: string
nullable: true
format: date-time
description: The postmark date of a document that was sent by mail.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
reasonWithdrawn:
type: string
nullable: true
description: If the document is withdrawn, this field will state the reason. If data exists, it is always returned in JSON response.
receiveDate:
type: string
format: date-time
description: The date that the document was received by the agency to the system.
The date is formatted as ISO 8601 with an offset such as `2018-06-29T04:00:00Z`. This field is always returned in JSON response.
restrictReason:
type: string
description: If the document is restricted, this field will state the reason. If data exists, it is always returned in JSON response.
restrictReasonType:
type: string
description: If the document is restricted, this field will state the type of restriction. If data exists, it is always returned in JSON response.
stateProvinceRegion:
type: string
nullable: true
description: The submitter's state,province or region. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
subtype:
type: string
nullable: true
description: An agency-specific attribute to further categorize a document beyond the documentType. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
title:
type: string
description: The formal title of the document. This field is always returned in JSON response.
trackingNbr:
type: string
description: The tracking number of the submission. This field is always returned in JSON response.
withdrawn:
type: boolean
description: Conveys if the document is withdrawn. This field is always returned in JSON response.
zip:
type: string
description: The zip associated with the submitter's address. This is an agency configurable field. An agency can configure this field to make it not publicly accessible.
DocumentDetail:
allOf: # Combines the BasicDetailModel and the inline model
- $ref: '#/components/schemas/BasicDetailModel'
- type: object
required:
- documentId
properties:
additionalRins:
type: array
nullable: true
items:
type: string
description: One or more Regulatory Information Numbers (RINs) to which the document relates.
allowLateComments:
type: boolean
description: Indicates whether the owning agency will accept comments on the document after the due date.
authorDate:
type: string
nullable: true
format: date-time
description: The date that the authors wrote or published the document.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
authors:
type: array
nullable: true
items:
type: string
description: The individual, organization, or group of collaborators that contributed to the creation of the document.
cfrPart:
type: string
nullable: true
description: The Code of Federal Regulations (CFR) Citation applicable to the document.
commentEndDate:
type: string
nullable: true
format: date-time
description: The date that closes the period when public comments may be submitted on the document.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
commentStartDate:
type: string
nullable: true
format: date-time
description: The date that begins the period when public comments may be submitted on the document.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
effectiveDate:
type: string
nullable: true
format: date-time
description: The date the document is put into effect.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
exhibitLocation:
type: string
nullable: true
description: The physical location of an exhibit to which a document refers.
exhibitType:
type: string
nullable: true
description: The type of exhibit to which a document refers.
frDocNum:
type: string
nullable: true
description: The unique identifier of a document originating in the [Federal Register](https://www.federalregister.gov/).
frVolNum:
type: string
nullable: true
description: The [Federal Register](https://www.federalregister.gov/) volume number where the document was published.
implementationDate:
type: string
nullable: true
format: date-time
description: The date the document is to be implemented.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
openForComment:
type: boolean
description: Conveys if a document is open for comment.
media:
type: string
nullable: true
description: The media in which the document is stored.
ombApproval:
type: string
nullable: true
description: The control number assigned when approval is given by the Office of Management and Budget (OMB) in accordance with the Paperwork Reduction Act (PRA).
paperLength:
type: integer
description: When the document is in paper format, indicates the length of the paper.
paperWidth:
type: integer
description: When the document is in paper format, indicates the width of the paper.
regWriterInstruction:
type: string
nullable: true
description: Additional instructions provided by the writer of the regulation.
sourceCitation:
type: string
nullable: true
description: The citation for the source that published the document.
startEndPage:
type: string
nullable: true
description: The starting and ending pages where the document was published.
subject:
type: string
nullable: true
description: The subject of the document.
topics:
type: array
nullable: true
items:
type: string
description: The principal topics to which the document pertains.
CommentDetail:
allOf: # Combines the BasicDetailModel and the inline model
- $ref: '#/components/schemas/BasicDetailModel'
- type: object
required:
- documentId
properties:
commentOnDocumentId:
type: string
description: documentId of the parent document. This field is always returned in JSON response.
duplicateComments:
type: integer
description: Number of duplicate comments
DocketDetail:
type: object
properties:
agencyId:
type: string
description: The acronym used to abbreviate the name of the agency associated with the docket.
category:
type: string
nullable: true
description: Agency specific docket category providing regulatory action details, status, and the agency program and or office.
dkAbstract:
type: string
description: The detailed description of the docket.
docketType:
$ref: '#/components/schemas/DocketType'
effectiveDate:
type: string
format: date-time
description: The date the docket is put into effect.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
field1:
type: string
nullable: true
description: An agency-specific field used for storing additional data with the docket.
field2:
type: string
nullable: true
description: An agency-specific field used for storing additional data with the docket.
generic:
type: string
nullable: true
description: An agency-specific field used for storing additional data with the docket.
keywords:
type: array
nullable: true
items:
type: string
description: Agency selected keywords associated with a docket to improve its searchability by the public.
legacyId:
type: string
nullable: true
description: An agency-specific identifier that was given to the docket in the legacy system.
modifyDate:
type: string
format: date-time
description: The date when the docket was last modified.
The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
objectId:
type: string
description: The internal ID of the document in our system.
organization:
type: string
nullable: true
description: Identifies docket's (a regulatory action) orginating agency and/or department.
petitionNbr:
type: string
nullable: true
description: Agency specific identifier associated with a docket.
program:
type: string
nullable: true
description: The agency specific program associated with the docket.
rin:
type: string
nullable: true
description: OMB issued Regulation Identifier Number (RIN) uniquely identifies a docket and its documents.
shortTitle:
type: string
nullable: true
description: A combination of letters and or numbers assigned to an agency's regulatory action for purposes of brevity.
subType:
type: string
nullable: true
description: This agency specific attribute characterizes a docket (regulatory action) beyond its assigned docket type, e.g., Rulemaking.
subType2:
type: string
nullable: true
description: This agency specific attribute characterizes a docket (regulatory action) beyond the designated docket subtype.
title:
type: string
description: A name or descriptive heading given to an agency's docket.
#Comment Submission Related components
BaseCommentPayload:
type: object
required:
- comment
- commentOnDocumentId
- submissionType #user should set submission Type to API
properties:
category:
type: string
description: An agency-specific category allowing agencies to group comments according to their type.
comment:
type: string
maxLength: 5000
description: The comment text
commentOnDocumentId:
type: string
description: documentId of the parent document
email:
type: string
maxLength: 100
description: The email address to receive email receipt for the commenrt
files:
type: array
items:
type: string
description: The names of the files submitted with the submission
numItemsReceived:
type: integer
description: The number of items included in the submission
sendEmailReceipt:
type: boolean
description: Conveys if the user would like to receive an email receipt for the comment
submissionKey:
type: string
description: The unique identifier associated with the submission
submissionType:
type: string
description: The submitter type - Its always going to be `API` for comments submitted via API
IndividualComment:
allOf: # Combines the BasicCommentPayLoad and the inline model
- $ref: '#/components/schemas/BaseCommentPayload'
- type: object
required:
- submitterType
- firstName
- lastName
properties:
city:
type: string
maxLength: 50
description: The city associated with the submitter's address.
country:
type: string
maxLength: 50
description: The country associated with the submitter's address.
firstName:
type: string
maxLength: 25
description: The submitter's first name.
lastName:
type: string
maxLength: 25
description: The submitter's last name.
phone:
type: string
maxLength: 50
description: The submitter's phone number.
stateProvinceRegion:
type: string
maxLength: 50
description: The email associated with the submitter's address.
submitterType: #submitter type should be set to Individual
$ref: '#/components/schemas/SubmitterType'
zip:
type: string
maxLength: 10
description: The zip associated with the submitter's address.
OrganizationComment:
allOf: # Combines the BasicCommentPayLoad and the inline model
- $ref: '#/components/schemas/BaseCommentPayload'
- type: object
required:
- submitterType
- organization
- organizationType
properties:
organization:
type: string
maxLength: 120
description: The organization that the submitter represents.
organizationType:
type: string
description: The agency specific organization type that the submitter represents.
submitterType: #submitter type should be set to Organization
$ref: '#/components/schemas/SubmitterType'
AnonymousComment:
allOf: # Combines the BasicCommentPayLoad and the inline model
- $ref: '#/components/schemas/BaseCommentPayload'
- type: object
required:
- submitterType
properties:
submitterType: #submitter type should be set to Anonymous
$ref: '#/components/schemas/SubmitterType'
CommentPostResponse:
allOf:
- oneOf: # Returns the created comment
- $ref: '#/components/schemas/IndividualComment'
- $ref: '#/components/schemas/OrganizationComment'
- $ref: '#/components/schemas/AnonymousComment'
- type: object
properties:
numItemsReceived:
type: integer
description: The number of items included in the submission
receiveDate:
type: string
description: The date comment was received.
Error:
type: object
properties:
status:
type: integer #http status code
title:
type: string
detail:
type: string