# Get Address Requirements (with context) Returns the list of fields required to create a valid address, based on the provided context. Use this endpoint to dynamically discover additional required fields based on selected values. For example: - Posting {"details": {"country": "US"}} will add "state" to the list of fields. - Posting {"details": {"country": "CA"}} will add "occupations" to the list of fields. Continue calling this endpoint with field values until all fields with refreshRequirementsOnChange: true have been populated. For a step-by-step walkthrough, see the Address Requirements guide. Endpoint: POST /v1/address-requirements Security: UserToken, PersonalToken ## Request fields (application/json): - `profile` (integer) User profile ID. Example: 12345678 - `details` (object, required) Address details to provide context for requirements lookup. Additional fields beyond those listed are accepted. - `details.country` (string, required) Country code (ISO 3166-2 Country Code). Example: "US" - `details.state` (string) State code. Provide to discover state-dependent fields. Example: "AZ" ## Response 200 fields (application/json): - `type` (string) Always "address". Example: "address" - `fields` (array) List of fields required for the address. - `fields.name` (string) Display name of the field. Example: "Country" - `fields.group` (array) - `fields.group.key` (string) Key name to include in the JSON request. Example: "country" - `fields.group.type` (string) Display type of field. Enum: "text", "select" - `fields.group.refreshRequirementsOnChange` (boolean) If true, call POST address-requirements when this field value changes to discover additional required fields. Example: true - `fields.group.required` (boolean) Indicates if the field is mandatory. Example: true - `fields.group.displayFormat` (string,null) Display format pattern. - `fields.group.example` (string) Example value to help users understand what to input. Example: "Germany" - `fields.group.minLength` (integer,null) Minimum valid length of field value. - `fields.group.maxLength` (integer,null) Maximum valid length of field value. - `fields.group.validationRegexp` (string,null) Regexp validation pattern. - `fields.group.valuesAllowed` (array) List of allowed values (for select fields). Example: [{"key":"US","name":"United States"},{"key":"GB","name":"United Kingdom"}] - `fields.group.valuesAllowed.key` (string) Value key to use in the request. - `fields.group.valuesAllowed.name` (string) Display name for the value. - `fields.group.validationAsync` (string,null) Deprecated. This validation will instead be performed when submitting the request.