Get the localized address form configuration for a specific country.
Returns the form fields, validation logic, and visual layout for building a localized address form dynamically on the client.
All human-readable strings in the response (field labels, hints and validationRules[].messages) along with the resolved meta.language are translated according to the Accept-Language request header. The server selects the best matching locale from the header's quality-ranked list. When the header is absent or none of its locales are supported, en-US is used.
This endpoint uses a Server-Driven UI pattern with a flat schema strategy to avoid complex polymorphism. Clients must adhere to the following rules when rendering:
Do not iterate through the fields object directly. Iterate through the layout array instead. The layout determines the visual order and grouping (rows/columns) of the inputs.
Because the schema is flat, the FieldDefinition object contains properties that may not apply to the current uiType:
options: ALWAYS ignore unlessuiType === "select"keyboard: Ignore unlessuiType === "text"(mobile only)validationRules: If empty or absent, no regex validation is required — only check therequiredboolean
If the user changes the countryCode selection, the client MUST discard the current form configuration and fetch this endpoint again with the new countryCode.
- Mock serverhttps://docs.ingrid.com/_mock/developer-resources/ingrid-api/openapi/v1/address/form
- Productionhttps://api.ingrid.com/v1/address/form
curl -i -X GET \
'https://docs.ingrid.com/_mock/developer-resources/ingrid-api/openapi/v1/address/form?countryCode=NO&siteId=00000000-0000-0000-0000-000000000000&postalCode=string&type=delivery' \
-H 'Accept-Language: string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'A response whose body is localized through Accept-Language.
Metadata about the form configuration including locale and text direction.
Pre-filled values for the form fields. Keys correspond to the keys in the fields object. This is often populated if a postalCode was sent in the request.
Dictionary defining the behavior of each input field. Keys are unique field identifiers (e.g., postalCode, locality).
Returns a localized Norwegian address form with pre-filled city from postal code
{ "meta": { "countryCode": "NO", "direction": "ltr", "language": "nb-NO" }, "values": { "locality": "Oslo" }, "fields": { "recipientName": { … }, "addressLines_0": { … }, "addressLines_1": { … }, "postalCode": { … }, "locality": { … } }, "layout": [ [ … ], [ … ], [ … ], [ … ] ] }