CSB — Clean School Bus Rebate Forms
Internal-facing API for the Clean School Bus rebate program — eligibility, applications, and award tracking.
Internal-facing API for the Clean School Bus rebate program — eligibility, applications, and award tracking.
{
"openapi": "3.0.0",
"info": {
"title": "epa-csb-server",
"version": "8.1.0",
"license": {
"name": "CC0-1.0"
},
"description": "U.S. EPA CSB Rebate Forms Application"
},
"paths": {
"/login": {
"get": {
"summary": "/login",
"responses": {
"302": {
"description": "Found"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/login/assert": {
"post": {
"summary": "/login/assert",
"parameters": [],
"responses": {
"302": {
"description": "Found",
"content": {
"text/html": {
"schema": {
"type": "string",
"example": "<p>Found. Redirecting to <a href=\"http://localhost:3000/\">http://localhost:3000/</a></p>"
},
"examples": {
"post_login_assert302Example": {
"summary": "Default post_login_assert 302 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/login/fail": {
"get": {
"summary": "/login/fail",
"parameters": [],
"responses": {
"200": {
"description": "OK"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/logout": {
"get": {
"summary": "/logout",
"parameters": [],
"responses": {
"200": {
"description": "OK"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/logout/callback": {
"get": {
"summary": "/logout/callback",
"parameters": [],
"responses": {
"200": {
"description": "OK"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
},
"post": {
"summary": "/logout/callback",
"responses": {
"200": {
"description": "OK"
}
},
"tags": [],
"parameters": [],
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/metadata": {
"get": {
"summary": "/metadata",
"parameters": [],
"responses": {
"200": {
"description": "OK",
"content": {
"application/xml": {
"schema": {
"type": "string"
},
"examples": {
"get_metadata200Example": {
"summary": "Default get_metadata 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/user": {
"get": {
"summary": "Get user data from EPA Gateway/Login.gov.",
"parameters": [],
"responses": {
"200": {
"description": "An object with a user's data from EPA Gateway/Login.gov.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"mail": {
"type": "string",
"example": "last.first@epa.gov"
},
"memberof": {
"type": "string",
"example": "csb_admin,csb_helpdesk"
},
"exp": {
"type": "number",
"example": 1661376902
}
}
},
"examples": {
"get_api_user200Example": {
"summary": "Default get_api_user 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/config/public": {
"get": {
"summary": "Get CSB App Specific Public Configuration (csb App Login Status and Static Content)",
"parameters": [],
"responses": {
"200": {
"description": "CSB app login status and static content from S3.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"loginEnabled": {
"type": "boolean",
"example": true
},
"staticContent": {
"type": "object"
}
}
},
"examples": {
"get_api_config_public200Example": {
"summary": "Default get_api_config_public 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/config/private": {
"get": {
"summary": "Get CSB App Specific Private Configuration (form Open Enrollment Status, Etc.)",
"parameters": [],
"responses": {
"200": {
"description": "Formio base URL and project name, CSB rebate year and open enrollment status.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"formioBaseUrl": {
"type": "string",
"example": "https://api.form.io"
},
"formioProjectName": {
"type": "string",
"example": "forms"
},
"formioPremiumKey": {
"type": "string",
"example": "secret"
},
"rebateYear": {
"type": "string",
"example": "2024"
},
"submissionPeriodOpen": {
"type": "object",
"properties": {
"2022": {
"type": "object",
"properties": {
"frf": {
"type": "boolean",
"example": true
},
"prf": {
"type": "boolean",
"example": true
},
"crf": {
"type": "boolean",
"example": true
}
}
},
"2023": {
"type": "object",
"properties": {
"frf": {
"type": "boolean",
"example": true
},
"prf": {
"type": "boolean",
"example": true
},
"crf": {
"type": "boolean",
"example": true
}
}
},
"2024": {
"type": "object",
"properties": {
"frf": {
"type": "boolean",
"example": true
},
"prf": {
"type": "boolean",
"example": true
},
"crf": {
"type": "boolean",
"example": true
}
}
}
}
}
}
},
"examples": {
"get_api_config_private200Example": {
"summary": "Default get_api_config_private 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/bap/sam": {
"get": {
"summary": "Get User's SAM.gov Data from the BAP.",
"parameters": [],
"responses": {
"200": {
"description": "A boolean indicating whether any SAM.gov results were returned (to support helpdesk users without SAM.gov entities), along with an array of SAM.gov entities.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "boolean",
"example": true
},
"entities": {
"type": "array",
"items": {
"type": "object"
}
}
}
},
"examples": {
"get_api_bap_sam200Example": {
"summary": "Default get_api_bap_sam 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/bap/submissions": {
"get": {
"summary": "Get User's Form Submissions Statuses from the BAP.",
"parameters": [],
"responses": {
"200": {
"description": "An array of form submission statuses, and other relevant fields.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object"
}
},
"examples": {
"get_api_bap_submissions200Example": {
"summary": "Default get_api_bap_submissions 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/district/{rebateId}": {
"get": {
"summary": "Get the School District Info Associated with a Provided CSB Rebate ID",
"parameters": [
{
"$ref": "#/components/parameters/rebateId"
}
],
"responses": {
"200": {
"description": "An object containing school district info associated with the CSB Rebate ID.",
"content": {
"application/json": {
"schema": {
"type": "object"
},
"examples": {
"get_api_formio_2022_district_{rebateId}200Example": {
"summary": "Default get_api_formio_2022_district_{rebateId} 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/s3/{formType}/{mongoId}/{comboKey}/storage/s3": {
"get": {
"summary": "Download Formio File Attachment from S3 for a 2022 Submission.",
"parameters": [
{
"$ref": "#/components/parameters/formType"
},
{
"$ref": "#/components/parameters/mongoId"
},
{
"$ref": "#/components/parameters/comboKey"
},
{
"$ref": "#/components/parameters/bucket"
},
{
"$ref": "#/components/parameters/key"
}
],
"responses": {
"200": {
"description": "OK"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
},
"post": {
"summary": "Upload Formio File Attachment to S3 for a 2022 Submission.",
"parameters": [
{
"$ref": "#/components/parameters/formType"
},
{
"$ref": "#/components/parameters/mongoId"
},
{
"$ref": "#/components/parameters/comboKey"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "OK"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
},
"delete": {
"summary": "Delete Formio File Attachment from S3 for a 2022 Submission.",
"parameters": [
{
"$ref": "#/components/parameters/formType"
},
{
"$ref": "#/components/parameters/mongoId"
},
{
"$ref": "#/components/parameters/comboKey"
}
],
"responses": {
"200": {
"description": "OK"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/pdf/{formType}/{mongoId}": {
"get": {
"summary": "Download a PDF of a 2022 Form Submission.",
"parameters": [
{
"$ref": "#/components/parameters/formType"
},
{
"$ref": "#/components/parameters/mongoId"
}
],
"responses": {
"200": {
"description": "OK"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/frf-submissions": {
"get": {
"summary": "Get User's 2022 FRF Submissions from Formio.",
"parameters": [],
"responses": {
"200": {
"description": "An array of 2022 FRF submissions.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object"
}
},
"examples": {
"get_api_formio_2022_frf-submissions200Example": {
"summary": "Default get_api_formio_2022_frf-submissions 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/frf-submission": {
"post": {
"summary": "Post a New 2022 FRF Submission to Formio.",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "The newly created 2022 FRF submission.",
"content": {
"application/json": {
"schema": {
"type": "object"
},
"examples": {
"post_api_formio_2022_frf-submission200Example": {
"summary": "Default post_api_formio_2022_frf-submission 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/frf-submission/{mongoId}": {
"get": {
"summary": "Get an Existing 2022 FRF's Schema and Submission Data from Formio.",
"parameters": [
{
"$ref": "#/components/parameters/mongoId"
}
],
"responses": {
"200": {
"description": "The 2022 FRF schema, form submission, and user access status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FormioSchemaAndSubmission"
},
"examples": {
"get_api_formio_2022_frf-submission_{mongoId}200Example": {
"summary": "Default get_api_formio_2022_frf-submission_{mongoId} 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
},
"post": {
"summary": "Post an Update to an Existing Draft 2022 FRF Submission to Formio.",
"parameters": [
{
"$ref": "#/components/parameters/mongoId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "The updated 2022 FRF submission.",
"content": {
"application/json": {
"schema": {
"type": "object"
},
"examples": {
"post_api_formio_2022_frf-submission_{mongoId}200Example": {
"summary": "Default post_api_formio_2022_frf-submission_{mongoId} 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/prf-submissions": {
"get": {
"summary": "Get User's 2022 PRF Submissions from Formio.",
"parameters": [],
"responses": {
"200": {
"description": "An array of 2022 PRF submissions.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object"
}
},
"examples": {
"get_api_formio_2022_prf-submissions200Example": {
"summary": "Default get_api_formio_2022_prf-submissions 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/prf-submission": {
"post": {
"summary": "Post a New 2022 PRF Submission to Formio.",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "The newly created 2022 PRF submission.",
"content": {
"application/json": {
"schema": {
"type": "object"
},
"examples": {
"post_api_formio_2022_prf-submission200Example": {
"summary": "Default post_api_formio_2022_prf-submission 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/prf-submission/{rebateId}": {
"get": {
"summary": "Get an Existing 2022 PRF's Schema and Submission Data from Formio.",
"parameters": [
{
"$ref": "#/components/parameters/rebateId"
}
],
"responses": {
"200": {
"description": "The 2022 PRF schema, form submission, and user access status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FormioSchemaAndSubmission"
},
"examples": {
"get_api_formio_2022_prf-submission_{rebateId}200Example": {
"summary": "Default get_api_formio_2022_prf-submission_{rebateId} 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
},
"post": {
"summary": "Post an Update to an Existing Draft 2022 PRF Submission to Formio.",
"parameters": [
{
"$ref": "#/components/parameters/rebateId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "The updated 2022 PRF submission.",
"content": {
"application/json": {
"schema": {
"type": "object"
},
"examples": {
"post_api_formio_2022_prf-submission_{rebateId}200Example": {
"summary": "Default post_api_formio_2022_prf-submission_{rebateId} 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/delete-prf-submission": {
"post": {
"summary": "Delete an Existing 2022 PRF Submission from Formio.",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "OK"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/crf-submissions": {
"get": {
"summary": "Get User's 2022 CRF Submissions from Formio.",
"parameters": [],
"responses": {
"200": {
"description": "An array of 2022 CRF submissions.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object"
}
},
"examples": {
"get_api_formio_2022_crf-submissions200Example": {
"summary": "Default get_api_formio_2022_crf-submissions 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/crf-submission": {
"post": {
"summary": "Post a New 2022 CRF Submission to Formio.",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "The newly created 2022 CRF submission.",
"content": {
"application/json": {
"schema": {
"type": "object"
},
"examples": {
"post_api_formio_2022_crf-submission200Example": {
"summary": "Default post_api_formio_2022_crf-submission 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/formio/2022/crf-submission/{rebateId}": {
"get": {
"summary": "Get an Existing 2022 CRF's Schema and Submission Data from Formio.",
"parameters": [
{
"$ref": "#/components/parameters/rebateId"
}
],
"responses": {
"200": {
"description": "The 2022 CRF schema, form submission, and user access status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FormioSchemaAndSubmission"
},
"examples": {
"get_api_formio_2022_crf-submission_{rebateId}200Example": {
"summary": "Default get_api_formio_2022_crf-submission_{rebateId} 200 response",
"x-microcks-default": true,
"value": {
"status": "ok",
"message": "Example response"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
},
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
},
"post": {
"summary": "Post an Update to an Existing Draft 2022 CRF Submission to Formio.",
"parameters": [
{
"$ref": "#/components/parameters/rebateId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
},
"example": {}
}
}
},
"responses": {
"200": {
"description": "The updated 2022 CRF
# --- truncated at 32 KB (94 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/openapi/csb-rebate-openapi.json