# ------------------ # 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[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`, and `title`. 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[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 value is `postedDate`. 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[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 value is `title`. 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) 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: id: description: The comment submission key type: string 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 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' highlightedContent: type: string nullable: true description: Content highlighted by search engine for the searchTerm. Only returned for searches with searchTerm. 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. 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. 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. city: type: string nullable: true description: The city associated with the submitter's address. 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. country: type: string nullable: true description: The country associated with the submitter's address. docAbstract: type: string description: The detailed description of the document. docketId: type: string description: The ID of the docket to which the document corresponds. 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. field2: type: string nullable: true description: An agency-specific field used for storing additional data with the document. fileFormats: type: array description: list of file formats items: $ref: '#/components/schemas/FileFormat' firstName: type: string nullable: true description: The submitter's first name. govAgency: type: string nullable: true description: The name of the government agency that the submitter represents. govAgencyType: type: string nullable: true description: The type of government agency that the submitter represents. lastName: type: string nullable: true description: The submitter's last name. legacyId: type: string nullable: true description: An agency-specific identifier that was given to the document in the legacy system. 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`. openForComment: type: boolean description: Conveys if the document is open for commenting. organization: type: string nullable: true description: The organization that the submitter represents. 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. 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`. 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`. reasonWithdrawn: type: string nullable: true description: If the document is withdrawn, this field will state the reason. 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`. restrictReason: type: string description: If the document is restricted, this field will state the reason. restrictReasonType: type: string description: If the document is restricted, this field will state the type of restriction. stateProvinceRegion: type: string nullable: true description: The submitter's state,province or region. subtype: type: string nullable: true description: An agency-specific attribute to further categorize a document beyond the documentType. title: type: string description: The formal title of the document. trackingNbr: type: string description: The tracking number of the submission. withdrawn: type: boolean description: Conveys if the document is withdrawn zip: type: string description: The zip associated with the submitter's address. 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 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`. 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 - submissionKey #only required for comments submitted with attachments - 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 description: The comment text commentOnDocumentId: type: string description: documentId of the parent document email: type: string 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 description: The city associated with the submitter's address. country: type: string description: The country associated with the submitter's address. firstName: type: string description: The submitter's first name. lastName: type: string description: The submitter's last name. phone: type: string description: The submitter's phone number. stateProvinceRegion: type: boolean description: The email associated with the submitter's address. submitterType: #submitter type should be set to Individual $ref: '#/components/schemas/SubmitterType' zip: type: string 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 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