Submission validation
What information an application needs depends on the agency's configuration. POST /applications/{id}/validation checks a saved application against the current configuration without changing it:
| Response | Meaning |
|---|---|
204 No Content | The application is complete and ready to submit. |
400 Bad Request | Something is missing or invalid. The validation errors say what. |
Call it before you let a recruit submit, and use the error field names to send the recruit back to the right step.
Configurable requirements
GET /app-configuration returns the flags that control which sections are required. When a flag is on, validation requires:
| Flag | Required for submission |
|---|---|
CollectTaxId | governmentIdentifier |
CollectBirthDate | birthDate |
CollectMaritalInfo | Marital status (and spouse details where applicable) |
CollectHomeAddress | homeAddress |
CollectCorrespondenceAddress | businessAddress |
CollectPrimaryPhone | homePhone |
CollectCellPhone | cellPhone |
CollectLicenseInfo | License information |
CollectEmploymentInfo | Employment information |
CollectTaxInfo | A w9 |
CollectContract | A signed contract (with versionId, agreementDate and signature), with every published covenant affirmed |
CollectPersonalHistory | An answer to every published background question, and if background.requiresApproval is true, the approval |
The required fields (recruiterAgentCode, firstName, lastName, emailAddress) and format rules such as maximum lengths and the jurisdiction pattern are always checked.
Configuration and published content can change while a recruit is partway through. Re-read GET /app-configuration, GET /contract-covenants and GET /background-questions when a session resumes, and always validate right before submission.