HHS (US Department of Health and Human Services) Application Alpha API

The Application Alpha API from HHS (US Department of Health and Human Services) — 11 operation(s) for application alpha.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

hhs-application-alpha-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: '

    Back end API for simpler.grants.gov.


    This API is in active development as we build out new functionalities for Simpler.Grants.gov. It is currently stable for everyday use, and will be versioned with advance notice for any breaking changes.


    Learn more in our [API documentation](https://wiki.simpler.grants.gov/product/api).

    See [Release Phases](https://github.com/github/roadmap?tab=readme-ov-file#release-phases) for further details.

    '
  contact:
    name: Simpler Grants.gov
    url: https://simpler.grants.gov/
    email: simpler@grants.gov
  title: Simpler Grants Application Alpha API
  version: v0
servers: .
tags:
- name: Application Alpha
paths:
  /alpha/applications/start:
    post:
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationStartResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not Found
      tags:
      - Application Alpha
      summary: Create a new application for a competition
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationStartRequestSchema'
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}:
    get:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationGetResponseSchema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Get an application by ID
      security:
      - ApiJwtAuth: []
    put:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationUpdateResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Forbidden
      tags:
      - Application Alpha
      summary: Update an application
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationUpdateRequestSchema'
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}/submit:
    post:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbstractResponseSchema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Submit an application
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}/attachments:
    post:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationAttachmentCreateResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Create an attachment on an application
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ApplicationAttachmentCreateRequestSchema'
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}/submissions:
    post:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSubmissionsResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Forbidden
      tags:
      - Application Alpha
      summary: Get all application submissions for an application
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSubmissionsRequestSchema'
      security:
      - ApiJwtAuth: &id001 []
      - ApiUserKeyAuth: *id001
  /alpha/applications/{application_id}/audit_history:
    post:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationAuditResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Application Audit List
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationAuditRequestSchema'
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}/forms/{form_id}:
    put:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      - in: path
        name: form_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationFormUpdateResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Update an application form response
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationFormUpdateRequestSchema'
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}/forms/{form_id}/inclusion:
    put:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      - in: path
        name: form_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationFormInclusionUpdateResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Update whether an application form should be included in submission
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationFormInclusionUpdateRequestSchema'
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}/application_form/{app_form_id}:
    get:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      - in: path
        name: app_form_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationFormGetResponseSchema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Get an application form by ID
      security:
      - ApiJwtAuth: &id002 []
      - InternalApiJwtAuth: *id002
  /alpha/applications/{application_id}/organizations/{organization_id}:
    put:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      - in: path
        name: organization_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationAddOrganizationResponseSchema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Unprocessable Entity
      tags:
      - Application Alpha
      summary: Add an organization to an application
      security:
      - ApiJwtAuth: []
  /alpha/applications/{application_id}/attachments/{application_attachment_id}:
    get:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      - in: path
        name: application_attachment_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationAttachmentGetResponseSchema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Unprocessable Entity
      tags:
      - Application Alpha
      summary: Fetch an application attachment
      security:
      - ApiJwtAuth: []
    put:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      - in: path
        name: application_attachment_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationAttachmentUpdateResponseSchema'
          description: Successful response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Validation error
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Update an attachment on an application
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ApplicationAttachmentUpdateRequestSchema'
      security:
      - ApiJwtAuth: []
    delete:
      parameters:
      - in: path
        name: application_id
        schema:
          type: string
        required: true
      - in: path
        name: application_attachment_id
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationAttachmentDeleteResponseSchema'
          description: Successful response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Authentication error
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseSchema'
          description: Not found
      tags:
      - Application Alpha
      summary: Delete an application attachment
      security:
      - ApiJwtAuth: []
components:
  schemas:
    SimpleUserSchema:
      type: object
      properties:
        user_id:
          type: string
          format: uuid
          description: ID of the user
          example: 123e4567-e89b-12d3-a456-426614174000
        email:
          type: string
          description: Email address of the user
          example: example@example.com
        first_name:
          type:
          - string
          - 'null'
          description: Users first name
          example: John
        last_name:
          type:
          - string
          - 'null'
          description: Users last name
          example: Smith
    ApplicationAuditRequestPaginationSchema:
      type: object
      properties:
        sort_order:
          type: array
          default:
          - order_by: created_at
            sort_direction: descending
          minItems: 1
          maxItems: 5
          description: The list of sorting rules
          items:
            type:
            - object
            $ref: '#/components/schemas/SortOrderApplicationAuditRequestPaginationSchema'
        page_size:
          type: integer
          minimum: 1
          maximum: 5000
          description: The size of the page to fetch
          example: 25
        page_offset:
          type: integer
          minimum: 1
          description: The page number to fetch, starts counting from 1
          example: 1
      required:
      - page_offset
      - page_size
    FormAlphaSchema:
      type: object
      properties:
        form_id:
          type: string
          format: uuid
          description: The primary key ID of the form
          example: 123e4567-e89b-12d3-a456-426614174000
        form_name:
          type: string
          description: The name of the form
          example: ABC Project Form
        short_form_name:
          type: string
          description: The short name of the form used for making files
          example: abc_project
        form_version:
          type: string
          description: The version of the form
          example: '1.0'
        agency_code:
          type: string
          description: The agency code for the form
          example: SGG
        omb_number:
          type:
          - string
          - 'null'
          description: The OMB number for the form
          example: 4040-0001
        legacy_form_id:
          type:
          - integer
          - 'null'
          description: The legacy form ID
          example: 123
        form_json_schema:
          type: object
          description: The JSON Schema representation of the form
          example:
            type: object
            title: Test form for testing
            properties:
              Title:
                title: Title
                type: string
                minLength: 1
                maxLength: 60
              Description:
                title: Description for application
                type: string
                minLength: 0
                maxLength: 15
              ApplicationNumber:
                title: Application number
                type: number
                minLength: 1
                maxLength: 120
              Date:
                title: 'Date of application '
                type: string
                format: date
          additionalProperties: {}
        form_ui_schema:
          description: The UI Schema of the form for front-end rendering
          example:
          - type: field
            definition: /properties/Title
          - type: field
            definition: /properties/Description
          - type: field
            definition: /properties/ApplicationNumber
          - type: field
            definition: /properties/Date
        form_instruction:
          description: The instruction file for the form, if available
          type:
          - object
          - 'null'
          anyOf:
          - $ref: '#/components/schemas/FormInstructionSchema'
          - type: 'null'
        form_rule_schema:
          type:
          - object
          - 'null'
          description: The rule schema for the form
          additionalProperties: {}
        json_to_xml_schema:
          type:
          - object
          - 'null'
          description: The JSON to XML schema mapping configuration for the form
          additionalProperties: {}
        form_type:
          description: The type of the form
          example:
          - SF424
          enum:
          - SF424
          - SF424A
          - SF424B
          - SF424D
          - SFLLL
          - ProjectNarrativeAttachment
          - BudgetNarrativeAttachment
          - OtherNarrativeAttachment
          - ProjectAbstractSummary
          - ProjectAbstract
          - CD511
          - SupplementaryNEHCoverSheet
          - GGLobbyingForm
          - EPAForm4700-4
          - EPAKeyContacts
          - AttachmentForm
          - ProjectPerformanceSiteLocation
          type:
          - string
          - 'null'
          - 'null'
        sgg_version:
          type:
          - string
          - 'null'
          description: The SGG version of the form
          example: '1.0'
        is_deprecated:
          type:
          - boolean
          - 'null'
          description: Whether the form is deprecated
          example: false
        created_at:
          type: string
          format: date-time
          description: The timestamp when the form was created
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the form was last updated
    ApplicationSubmissionsRequestSchema:
      type: object
      properties:
        pagination:
          type:
          - object
          $ref: '#/components/schemas/ApplicationSubmissionsRequestPaginationSchema'
      required:
      - pagination
    ApplicationAttachmentGetResponseSchema:
      type: object
      properties:
        message:
          type: string
          description: The message to return
          example: Success
        data:
          type:
          - object
          $ref: '#/components/schemas/ApplicationAttachmentGetSchema'
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
    ApplicationAuditAppFormSchema:
      type: object
      properties:
        application_form_id:
          type: string
          format: uuid
          description: The ID of the application form
          example: 123e4567-e89b-12d3-a456-426614174000
        competition_form_id:
          type: string
          format: uuid
          description: The ID of the competition form
          example: 123e4567-e89b-12d3-a456-426614174000
        form_id:
          type: string
          format: uuid
          description: The ID of the form
          example: 123e4567-e89b-12d3-a456-426614174000
        form_name:
          type: string
          description: The name of the form
    CompetitionFormAlphaSchema:
      type: object
      properties:
        is_required:
          type: boolean
          description: Whether the form is required for all applications to the competition
        form:
          description: The form template information for this competition
          type:
          - object
          $ref: '#/components/schemas/FormAlphaSchema'
    ApplicationFormGetResponseSchema:
      type: object
      properties:
        warnings:
          type: array
          description: A list of warnings - indicating something you may want to be aware of, but did not prevent handling of the request
          items:
            type:
            - object
            $ref: '#/components/schemas/ValidationIssueSchema'
        message:
          type: string
          description: The message to return
          example: Success
        data:
          type:
          - object
          $ref: '#/components/schemas/ApplicationFormGetResponseDataSchema'
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
    FormInstructionSchema:
      type: object
      properties:
        form_instruction_id:
          type: string
          format: uuid
          description: The UUID of the form instruction
          example: 123e4567-e89b-12d3-a456-426614174000
        file_name:
          type: string
          description: The name of the form instruction file
          example: instructions.pdf
        download_path:
          type: string
          description: The download URL for the form instruction file
        created_at:
          type: string
          format: date-time
          description: The timestamp when the form instruction was created
        updated_at:
          type: string
          format: date-time
          description: The timestamp when the form instruction was last updated
    ApplicationAuditFilterSchema:
      type: object
      properties:
        application_audit_event:
          type:
          - object
          $ref: '#/components/schemas/ApplicationAuditEventFieldFilterSchema'
    ApplicationAttachmentCreateResponseSchema:
      type: object
      properties:
        message:
          type: string
          description: The message to return
          example: Success
        data:
          type:
          - object
          $ref: '#/components/schemas/ApplicationAttachmentCreateSchema'
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
    ApplicationAttachmentUpdateRequestSchema:
      type: object
      properties:
        file_attachment:
          description: The file to attach to an application
          type: string
          format: binary
      required:
      - file_attachment
    ValidationIssueSchema:
      type: object
      properties:
        type:
          type: string
          description: The type of error
          example: invalid
        message:
          type: string
          description: The message to return
          example: Not a valid string.
        field:
          type: string
          description: The field that failed
          example: summary.summary_description
        value:
          type: string
          description: The value that failed
          example: invalid string
    AbstractResponseSchema:
      type: object
      properties:
        message:
          type: string
          description: The message to return
          example: Success
        data:
          description: The REST resource object
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
    PaginationInfoSchema:
      type: object
      properties:
        page_offset:
          type: integer
          description: The page number that was fetched
          example: 1
        page_size:
          type: integer
          description: The size of the page fetched
          example: 25
        total_records:
          type: integer
          description: The total number of records fetchable
          example: 42
        total_pages:
          type: integer
          description: The total number of pages that can be fetched
          example: 2
        sort_order:
          type: array
          description: The sort order passed in originally
          items:
            type:
            - object
            $ref: '#/components/schemas/SortOrderSchema'
    ApplicationUpdateResponseSchema:
      type: object
      properties:
        message:
          type: string
          description: The message to return
          example: Success
        data:
          type:
          - object
          $ref: '#/components/schemas/ApplicationUpdateResponseDataSchema'
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
        application_form_status:
          description: Status indicating how much of a form has been filled out
          enum:
          - in_progress
          - complete
          type:
          - string
    ApplicationSubmissionsResponseSchema:
      type: object
      properties:
        pagination_info:
          description: The pagination information for paginated endpoints
          type:
          - object
          $ref: '#/components/schemas/PaginationInfoSchema'
        message:
          type: string
          description: The message to return
          example: Success
        data:
          type: array
          items:
            type:
            - object
            $ref: '#/components/schemas/ApplicationSubmissionDataSchema'
        status_code:
          type: integer
          description: The HTTP status code
          example: 200
    ApplicationUserSchema:
      type: object
      properties:
        user_id:
          type: string
          format: uuid
          description: The unique identifier of the user
          example: 123e4567-e89b-12d3-a456-426614174000
        email:
          type: string
          description: The email address of the user
          example: user@example.com
    ApplicationFormGetResponseDataSchema:
      type: object
      properties:
        application_form_id:
          type: string
          format: uuid
          description: The unique identifier of the application form
          example: 123e4567-e89b-12d3-a456-426614174000
        application_id:
          type: string
          format: uuid
          description: The unique identifier of the application this form belongs to
          example: 789f0123-f45g-67h8-i901-234567890123
        form_id:
          type: string
          format: uuid
          description: The unique identifier of the form template
          example: 456e7890-e12c-34f5-b678-901234567890
        form:
          description: The form template information
          type:
          - object
          $ref: '#/components/schemas/FormAlphaSchema'
        application_response:
          type: object
          description: The user's responses to the form fields
          example:
            project_title: Advanced AI Research
            budget_amount: 150000
            project_duration: 24 months
          additionalProperties: {}
        application_form_status:
          description: Status indicating how much of a form has been filled out
          enum:
          - in_progress
          - complete
          type:
          - string
        created_at:
          type: string
          format: date-time
          description: When the application form was created
        updated_at:
          type: string
          format: date-time
          description: When the application form was last updat

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hhs/refs/heads/main/openapi/hhs-application-alpha-api-openapi.yml