General Services Administration Documents API

The documents API from General Services Administration — 2 operation(s) for documents.

Operations 2

GET /documents List of documents #
GET /documents/{documentId} Get detailed information for specified documentId #

Documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/general-services-administration-documents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

general-services-administration-documents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Regulations.gov Documents 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: []
tags:
- name: Documents
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`.<br/><br/> Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used. <br/> `ge` - greater than or equal <br/> `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`.<br/><br/> Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used. <br/> `ge` - greater than or equal <br/> `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`.<br/><br/> Omission of a parameter modifier will match results to the exact date provided, otherwise, one of the parameter modifiers below may be used. <br/> `ge` - greater than or equal <br/> `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`. <br/><br/> _`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. <br/><br/> 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. <br/><br/> 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. <br/><br/> 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'
      operationId: getDocuments
      x-operation-id-source: derived
  /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
        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'
      operationId: getDocumentsByDocumentId
      x-operation-id-source: derived
components:
  schemas:
    Relationship:
      description: A single relationship object
      type: object
      properties:
        data:
          $ref: '#/components/schemas/RelationshipToAttachment'
        links:
          $ref: '#/components/schemas/RelationshipLinks'
      additionalProperties: false
    Link:
      description: A string containing the link URL.
      type: string
      format: uri-reference
      uniqueItems: true
    BasicDetailModel:
      type: object
      properties:
        address1:
          type:
          - string
          - 'null'
          description: The first line of the submitter's address.
        address2:
          type:
          - string
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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
          - 'null'
          description: The submitter's e-mail address.
        fax:
          type:
          - string
          - 'null'
          description: The submitter's fax number.
        field1:
          type:
          - string
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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.<br/><br/>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
          - 'null'
          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
          - 'null'
          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
          - 'null'
          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.<br/><br/>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
          - 'null'
          format: date-time
          description: The postmark date of a document that was sent by mail.<br/><br/>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
          - 'null'
          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.<br/><br/>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
          - 'null'
          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
          - 'null'
          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.
    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
          - 'null'
          format: date-time
          description: The date that closes the period when public comments may be submitted on the document.<br/><br/>The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
        commentStartDate:
          type:
          - string
          - 'null'
          format: date-time
          description: The date that begins the period when public comments may be submitted on the document.<br/><br/>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
          - 'null'
          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.<br/><br/>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.<br/><br/>The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
        subtype:
          type:
          - string
          - 'null'
          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
    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
    JSONError:
      description: A JSON:API document
      type: object
      properties:
        errors:
          description: List of JSON:API Error
          type: array
          items:
            $ref: '#/components/schemas/Error'
    DocumentDetail:
      allOf:
      - $ref: '#/components/schemas/BasicDetailModel'
      - type: object
        required:
        - documentId
        properties:
          additionalRins:
            type:
            - array
            - 'null'
            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
            - 'null'
            format: date-time
            description: The date that the authors wrote or published the document.<br/><br/>The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
          authors:
            type:
            - array
            - 'null'
            items:
              type: string
            description: The individual, organization, or group of collaborators that contributed to the creation of the document.
          cfrPart:
            type:
            - string
            - 'null'
            description: The Code of Federal Regulations (CFR) Citation applicable to the document.
          commentEndDate:
            type:
            - string
            - 'null'
            format: date-time
            description: The date that closes the period when public comments may be submitted on the document.<br/><br/>The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
          commentStartDate:
            type:
            - string
            - 'null'
            format: date-time
            description: The date that begins the period when public comments may be submitted on the document.<br/><br/>The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
          effectiveDate:
            type:
            - string
            - 'null'
            format: date-time
            description: The date the document is put into effect.<br/><br/>The date is formatted as ISO 8601 with an offset such as `2019-01-20T13:15:45Z`.
          exhibitLocation:
            type:
            - string
            - 'null'
            description: The physical location of an exhibit to which a document refers.
          exhibitType:
            type:
            - string
            - 'null'
            description: The type of exhibit to which a document refers.
          frDocNum:
            type:
            - string
            - 'null'
            description: The unique identifier of a document originating in the [Federal Register](https://www.federalregister.gov/).
          frVolNum:
            type:
            - string
            - 'null'
            description: The [Federal Register](https://www.federalregister.gov/) volume number where the document was published.
          implementationDate:
            type:
            - string
            - 'null'
            format: date-time
            description: The date the document is to be implemented.<br/><br/>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
            - 'null'
            description: The media in which the document is stored.
          ombApproval:
            type:
            - string
            - 'null'
            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
            - 'null'
            description: Additional instructions provided by the writer of the regulation.
          sourceCitation:
            type:
            - string
            - 'null'
            description: The citation for the source that published the document.
          startEndPage:
            type:
            - string
            - 'null'
            description: The starting and ending pages where the document was published.
          subject:
            type:
            - string
            - 'null'
            description: The subject of the document.
          topics:
            type:
            - array
            - 'null'
            items:
              type: string
            description: The principal topics to which the document pertains.
    RelationshipLinks:
      description: Relationship links to other related resources (`attachments`)
      type: object
      properties:
        self:
          $ref: '#/components/schemas/Link'
        related:
          $ref: '#/components/schemas/Link'
      additionalProperties: false
    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'
    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
    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'
    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'
    Error:
      type: object
      properties:
        status:
          type: integer
        title:
          type: string
        detail:
          type: string
    DocumentType:
      type: string
      description: type of document. This field is always returned in JSON response
      enum:
      - Notice
      - Rule
      - Proposed Rule
      - Supporting & Related Material
      - Other
    SelfLink:
      description: Link to self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/Link'
    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
    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'
    RelationshipToAttachment:
      description: An array of attachment objects as relationship resources.
      type: array
      items:
        type: object
        properties:
          type:
            type: string
          id:
            type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key