Skip to content

Application

A household's submitted application against an application package.

A submission event linking a Household to one or more Programs. Carries a snapshot of the form responses submitted. Creates one Enrollment per program on submission, surfaced inline as `enrollments`.

PropertyTypeRequiredDescription
iduuidYesThe application's unique identifier.
householdIduuidYesThe household this application is for.
packageIduuidYesThe application package being submitted. The server resolves which programs the household is enrolled in based on the package's `programs` list — clients do not specify programs directly.
formResponsesRecordAppFormResponseNoForm responses keyed by form identifier.
statusAppStatusYesThe status of the application.
submittedAtstring | nullNoThe timestamp at which the application was submitted. Null while `draft`.
validationErrorsunknown[]NoNon-fatal validation errors that occurred during submission.
customFieldsRecordCustomFieldNoImplementation-defined custom fields.
enrollmentsEnrollmentRef[]NoAbbreviated enrollment records created by this application.
createdAtstringYesThe timestamp (in UTC) at which the record was created.
lastModifiedAtstringYesThe timestamp (in UTC) at which the record was last modified.
{
"id": "40a12e5e-5940-4c08-921c-17a8960fcf4b",
"householdId": "50a12e5e-5940-4c08-921c-17a8960fcf4b",
"packageId": "60a12e5e-5940-4c08-921c-17a8960fcf4b",
"formResponses": {
"joint": {
"formId": "30a12e5e-5940-4c08-921c-17a8960fcf4b",
"formVersion": "1.0.0",
"responses": {
"household_size": 3,
"monthly_earned_income": "2500",
"residential_state": "CO"
}
}
},
"status": {
"value": "submitted",
"description": ""
},
"submittedAt": "2026-05-24T10:30:00Z",
"createdAt": "2026-05-24T10:28:00Z",
"lastModifiedAt": "2026-05-24T10:30:00Z"
}

The status of an application.

PropertyTypeRequiredDescription
valueAppStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "draft",
"customValue": "string",
"description": "string"
}

Predefined set of application statuses.

ValueDescription
draftThe application is being filled out.
submittedThe application has been submitted for processing.
withdrawnThe application was withdrawn by the household.
customA caller-defined status.
"draft"

A response to a single form within an application, captured as a snapshot at submission time.

PropertyTypeRequiredDescription
formIduuidYesThe unique identifier of the form.
formVersionstringYesThe semantic version of the form.
responsesRecordUnknownYesA map of question IDs to submitted answers.
{
"formId": "30a12e5e-5940-4c08-921c-17a8960fcf4b",
"formVersion": "1.0.0",
"responses": {
"household_size": 3,
"monthly_earned_income": "2500",
"residential_state": "CO"
}
}