Configuration
Some of what you send is checked against a list your own staff maintain in the management portal, rather than against something fixed in Advance. There is nothing for you to call here. It is documented because it decides whether a value you send is accepted.
The settings
Each setting declares what kind of value it holds — a string, a number, a boolean, or a list of either — and both the editing screen and the API work from that declaration rather than from a hard-coded shape. Adding a fourth setting does not mean a code change.
Only one of them is enforced here
applicantType is validated by this API. stream and sourceName are not.
A value outside the configured applicant types is a 400. A stream or sourceName that
nobody configured is stored exactly as you sent it, including a typo.
That is worth planning around, because stream is not decorative — your assessment workflows
are selected by it. An application carrying a misspelt stream is not rejected; it simply
matches no workflow.
The stream and reference-system lists exist to drive the portal’s own pickers, so an officer creating an application by hand chooses from a list instead of typing. Extending that to this API would mean refusing values you may be sending today, so it has not been done without asking.
Values are retired, never deleted
Once anything carries a value, removing it would leave records holding a code with nothing to label it. Retiring one instead takes it out of the pickers and leaves history readable.
A retired value still describes the applications that already carry it. Whether this API
continues to accept it depends on the setting — for applicantType, a retired value is no
longer offered and no longer accepted.
