Skip to content

Extensible enums

Open enum used across status fields like citizenship, employment, and program status. A typed variant `ExtensibleEnumT<T>` constrains `value` to a caller-supplied type.

An open enum: an optional `value` of unspecified shape plus a free-form `description`. Use this when the value set is open-ended and a typed constraint isn't appropriate. For typed variants, see `ExtensibleEnumT`.

PropertyTypeRequiredDescription
valueunknownYesThe selected value. May be from a predefined set or a caller-defined value.
customValuestringNoCaller-defined value when `value` does not fit a predefined option.
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "us_citizen",
"description": "U.S. citizen by birth"
}