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 Competition Alpha API version: v0 servers: . tags: - name: Competition Alpha paths: /alpha/competitions/{competition_id}: get: parameters: - in: path name: competition_id schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CompetitionResponseAlphaSchema' 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: - Competition Alpha summary: Competition Get security: - ApiJwtAuth: &id001 [] - ApiUserKeyAuth: *id001 /alpha/competitions/{competition_id}/flag: put: parameters: - in: path name: competition_id schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CompetitionResponseAlphaSchema' 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: - Competition Alpha summary: Update Competition Flag Route requestBody: content: application/json: schema: $ref: '#/components/schemas/CompetitionFlagUpdateSchema' security: - ApiUserKeyAuth: [] /alpha/competitions/{competition_id}/forms: put: parameters: - in: path name: competition_id schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CompetitionResponseAlphaSchema' 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: - Competition Alpha summary: Put Competition Forms requestBody: content: application/json: schema: $ref: '#/components/schemas/CompetitionFormsSetRequestSchema' security: - ApiUserKeyAuth: [] components: schemas: 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 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' CompetitionAlphaSchema: type: object properties: competition_id: type: string format: uuid description: The competition ID example: 123e4567-e89b-12d3-a456-426614174000 opportunity_id: type: string format: uuid description: The opportunity ID that the competition is associated with example: 123e4567-e89b-12d3-a456-426614174000 competition_forms: type: array description: List of forms required for this competition items: type: - object $ref: '#/components/schemas/CompetitionFormAlphaSchema' competition_instructions: type: array description: List of instruction files associated with this competition items: type: - object $ref: '#/components/schemas/CompetitionInstructionAlphaSchema' competition_title: type: - string - 'null' description: The title of the competition example: Proposal for Advanced Research opening_date: type: - string - 'null' format: date description: The opening date of the competition, the first day applications are accepted closing_date: type: - string - 'null' format: date description: The closing date of the competition, the last day applications are accepted contact_info: type: - string - 'null' description: Contact info getting assistance with the competition example: 'Bob Smith FakeMail@fake.com' opportunity_assistance_listing: description: Assistance listing information for this competition type: - object - 'null' anyOf: - $ref: '#/components/schemas/OpportunityAssistanceListingV1Schema' - type: 'null' open_to_applicants: type: array description: List of applicant types who are eligible for this competition example: - - individual - - organization items: enum: - individual - organization type: - string is_open: type: boolean description: Whether the competition is open and accepting applications is_simpler_grants_enabled: type: boolean description: Whether simpler grants are enabled for this competition 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 CompetitionFormsSetRequestSchema: type: object properties: forms: type: array minItems: 1 description: List of forms to set on the competition items: type: - object $ref: '#/components/schemas/FormReplaceSchema' required: - forms CompetitionFlagUpdateSchema: type: object properties: is_simpler_grants_enabled: type: boolean description: Whether simpler grants are enabled for this competition required: - is_simpler_grants_enabled CompetitionResponseAlphaSchema: type: object properties: message: type: string description: The message to return example: Success data: type: - object $ref: '#/components/schemas/CompetitionAlphaSchema' status_code: type: integer description: The HTTP status code example: 200 ErrorResponseSchema: type: object properties: data: description: Additional data that might be useful in resolving an error (see specific endpoints for details, this is used infrequently) example: {} message: type: string description: General description of the error example: Error status_code: type: integer description: The HTTP status code of the error errors: type: array example: [] items: type: - object $ref: '#/components/schemas/ValidationIssueSchema' internal_request_id: type: string description: An internal tracking ID example: 550e8400-e29b-41d4-a716-446655440000 FormReplaceSchema: type: object properties: form_id: type: string format: uuid description: The primary key ID of the form example: 123e4567-e89b-12d3-a456-426614174000 is_required: type: boolean description: Whether the form is required required: - form_id - is_required CompetitionInstructionAlphaSchema: type: object properties: file_name: type: string description: The name of the instruction file example: competition_instructions.pdf download_path: type: string description: The URL to download the instruction file example: https://cdn.example.com/competition-instructions/file.pdf created_at: type: string format: date-time description: The date and time when the instruction was created updated_at: type: string format: date-time description: The date and time when the instruction was last updated OpportunityAssistanceListingV1Schema: type: object properties: program_title: type: - string - 'null' description: The name of the program, see https://sam.gov/content/assistance-listings for more detail example: Space Technology assistance_listing_number: type: - string - 'null' description: The assistance listing number, see https://sam.gov/content/assistance-listings for more detail example: '43.012' 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 securitySchemes: ApiJwtAuth: type: apiKey in: header name: X-SGG-Token InternalApiJwtAuth: type: apiKey in: header name: X-SGG-Internal-Token ApiUserKeyAuth: type: apiKey in: header name: X-API-Key