swagger: "2.0"
schemes:
  - https
host: api.data.gov
basePath: /regulations/v3
info:
  description: Provides public users access to federal regulatory content.
  title: Regulations.gov
  version: "3.0"
  x-logo:
    url: http://regulationsgov.github.io/developers/static/img/logo.png
  x-origin:
    - converter:
        url: https://github.com/lucybot/api-spec-converter
        version: 2.7.11
      format: swagger
      url: http://regulationsgov.github.io/developers/api-docs.json
      version: "1.2"
  x-providerName: data.gov
externalDocs:
  url: http://regulationsgov.github.io/developers/
securityDefinitions:
  api_key:
    description: API Key
    in: query
    name: api_key
    type: apiKey
security:
  - api_key: []
tags:
  - description: Operations about Dockets
    name: dockets
  - description: Operations about Documents
    name: documents
paths:
  "/docket.{response_format}":
    get:
      operationId: docket
      parameters:
        - default: json
          description: Format
          enum:
            - json
            - xml
          in: path
          name: response_format
          required: true
          type: string
        - default: EPA-HQ-OAR-2011-0028
          description: Docket ID
          in: query
          name: docketId
          required: true
          type: string
      produces:
        - application/json
        - applicaiton/xml
      responses:
        "200":
          description: No response was specified
        "400":
          description: Bad request. The content is either empty or has been withdrawn.
        "404":
          description: File not found.
      summary: Returns Docket information
      tags:
        - dockets
  "/document.{response_format}":
    get:
      operationId: document
      parameters:
        - default: json
          description: Format
          enum:
            - json
            - xml
          in: path
          name: response_format
          required: true
          type: string
        - default: EPA-HQ-OAR-2011-0028-0108
          description: FDMS Document ID
          in: query
          name: documentId
          required: false
          type: string
        - description: Federal Register Document Number
          in: query
          name: federalRegisterNumber
          required: false
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: No response was specified
        "400":
          description: Bad request. The document is only available for comment via Regulations.gov.
        "404":
          description: File not found.
      summary: Returns Document information
      tags:
        - documents
  "/documents.{response_format}":
    get:
      description: This API allows users to build a query based on any of the parameters below.  If you have trouble building queries, you may wish to try them through the <a href="http://www.regulations.gov/#!advancedSearch">Advanced Search</a> page on the Regulations.gov website.
      operationId: documents
      parameters:
        - default: json
          description: Format
          enum:
            - json
            - xml
          in: path
          name: response_format
          required: true
          type: string
        - description: "Counts Only: <ul><li>1 (will return only the document count for a search query)</li><li>0 (will return documents as well)</li></ul>"
          enum:
            - 0
            - 1
          in: query
          name: countsOnly
          required: false
          type: integer
        - description: "Encoded: <ul><li>1 (will accept Regulations.gov style encoded parameters)</li><li>0 (will not accept such encoded parameters)</li></ul>"
          enum:
            - 0
            - 1
          in: query
          name: encoded
          required: false
          type: integer
        - description: Keyword(s)
          in: query
          name: s
          required: false
          type: string
        - description: "Document Type: <ul><li>N: Notice</li><li>PR: Proposed Rule</li><li>FR: Rule</li><li>O: Other</li><li>SR: Supporting & Related Material</li><li>PS: Public Submission</li></ul>"
          enum:
            - N
            - PR
            - FR
            - O
            - SR
            - PS
          in: query
          name: dct
          required: false
          type: string
        - description: Valid Docket ID (ex. SEC-2012-0044)
          in: query
          name: dktid
          required: false
          type: string
        - description: "Docket Type: <ul><li>R: Rulemaking</li><li>N: Nonrulemaking</li></ul><p>A Docket Type is either Rulemaking or Nonrulemaking. A Rulemaking docket includes the type of regulation that establishes a rule. While a Non-Rulemaking docket does not include a rule.</p>"
          enum:
            - N
            - R
          in: query
          name: dkt
          required: false
          type: string
        - description: "Comment Period: <ul><li>O: Open</li><li>C: Closed</li></ul>"
          enum:
            - O
            - C
          in: query
          name: cp
          required: false
          type: string
        - description: "Federal Agency: List of accepted Federal Agency values. This field allows multiple values. Ex. a=FMCSA%252BEPA%252BFDA"
          in: query
          name: a
          required: false
          type: string
        - description: Results Per Page 10, 25, 100, 500, 1,000.  Results per page may not exceed 1,000.
          enum:
            - "10"
            - "25"
            - "100"
            - "500"
            - "1000"
          in: query
          name: rpp
          required: false
          type: string
        - description: "Enter the page offset (always starts with 0). This is used in conjunction with results per page to provide large data sets. For example, if a search produces 82 results and the result per page is set to 25, this will generate 4 pages. 3 pages will have 25 results and the last page will have 7 results. Page offset values for each page will be: <pre>Page 1: po=0 Page 2: po=25 Page 3: po=50 Page 4: po=75</pre> The total number of pages is [total results/results per page] and page offset for page X is [X-1 * results per page]"
          in: query
          name: po
          required: false
          type: integer
        - description: "Comment Period Closing Soon: <ul><li>0 (closing today)</li><li>3 (closing within 3 days)</li><li>15 (closing within 15 days)</li><li>30 (closing within 30 days)</li><li>90 (closing within 90 days)</li></ul>"
          enum:
            - 0
            - 3
            - 15
            - 30
            - 90
          in: query
          name: cs
          required: false
          type: integer
        - description: "Newly Posted: <ul><li>0 (posted today)</li><li>3 (posted within last 3 days)</li><li>15 (posted within last 15 days)</li><li>30 (posted within last 30 days)</li><li>90 (posted within last 90 days)</li></ul>  For periods of time beyond 90-days, please use a date range with the Posted Date parameter."
          enum:
            - 0
            - 3
            - 15
            - 30
            - 90
          in: query
          name: np
          required: false
          type: integer
        - description: "Comment Period Start Date: Enter a date in the form of MM/DD/YY. Note: If the Comment Period End Date is also provided, then ensure the Comment Period Start date is earlier."
          format: date
          in: query
          name: cmsd
          required: false
          type: string
        - description: "Comment Period End Date: Enter a date in the form of MM/DD/YY. Note: If the Comment Period Start Date is also provided, then ensure the Comment Period End date is after.<br/>* Comment Period Start and End Dates are mutually exclusive with the 'closing soon' parameter. If both are provided, 'closing soon' will be ignored."
          format: date
          in: query
          name: cmd
          required: false
          type: string
        - description: "Creation Date: Enter a date in the form of MM/DD/YY. Accepts a single date or a date range. Ex. <code>crd=11/06/13-03/06/14</code>"
          format: date
          in: query
          name: crd
          required: false
          type: string
        - description: "Received Date: Enter a date in the form of MM/DD/YY. Accepts a single date or a date range. Ex. <code>rd=11/06/13-03/06/14</code>"
          format: date
          in: query
          name: rd
          required: false
          type: string
        - description: "Posted Date: Enter a date in the form of MM/DD/YY. Accepts a single date or a date range. Ex. <code>pd=11/06/13-03/06/14</code>"
          format: date
          in: query
          name: pd
          required: false
          type: string
        - description: "Document Category: <ul><li>AD (Aerospace and Transportation)</li> <li>AEP (Agriculture, Environment, and Public Lands)</li> <li>BFS (Banking and Financial)</li> <li>CT (Commerce and International)</li> <li>LES (Defense, Law Enforcement, and Security)</li> <li>EELS (Education, Labor, Presidential, and Government Services)</li> <li>EUMM (Energy, Natural Resources, and Utilities)</li> <li>HCFP (Food Safety, Health, and Pharmaceutical)</li> <li>PRE (Housing, Development, and Real Estate)</li> <li>ITT (Technology and Telecommunications)</li></ul>"
          enum:
            - AD
            - AEP
            - BFS
            - CT
            - LES
            - EELS
            - EUMM
            - HCFP
            - PRE
            - ITT
          in: query
          name: cat
          required: false
          type: string
        - description: "Sort By: <ul><li>docketId (Docket ID)</li><li>docId (Document ID)</li><li>title (Title)</li><li>postedDate (Posted Date)</li><li>agency (Agency)</li><li>documentType (Document Type)</li><li>submitterName (Submitter Name)</li><li>organization (Organization)</li></ul> Sort Order is REQUIRED if this parameter is included."
          enum:
            - docketId
            - docId
            - title
            - postedDate
            - agency
            - documentType
            - submitterName
            - organization
          in: query
          name: sb
          required: false
          type: string
        - description: "Sort Order: <ul><li>ASC: Ascending</li><li>DESC: Descending</li></ul>"
          enum:
            - ASC
            - DESC
          in: query
          name: so
          required: false
          type: string
        - description: "Docket Subtype: Only one docket subtype at a time may be selected. One or more agency values must be part of the request. Only values valid for the selected agency will be returned."
          in: query
          name: dktst
          required: false
          type: string
        - description: "Docket Sub-subtype: Only one docket sub-subtype at a time may be selected. One or more agency values must be part of the request. Only values valid for the selected agency will be returned."
          in: query
          name: dktst2
          required: false
          type: string
        - description: "Document Subtype: Single or multiple document subtypes may be included.  Multiple values should be passed as follows: <code>docst=%20Certificate+of+Service%252BCorrespondence</code>"
          in: query
          name: docst
          required: false
          type: string
      produces:
        - "*/*"
      responses:
        "200":
          description: No response was specified
        "400":
          description: Bad request. The document is only available for comment via Regulations.gov.
        "404":
          description: File not found.
      summary: Search for Documents
      tags:
        - documents
