{"title":"Account Address Form - Liquid Form Reference","slug":"account-address-form-reference","url":"https://support.storeconnect.com/articles/account-address-form-reference","url_markdown":"https://support.storeconnect.com/articles/account-address-form-reference.md","subtitle":null,"summary":"The `account-address` Liquid form creates or updates an entry in the signed-in customer\u0026#39;s address book.","type":"Developer_Documentation","video_url":"","keywords":"liquid, forms, account-address, address book, addresses, accounts, storeconnect, is_default_shipping, is_default_billing","last_modified":"2026-10-20T05:27:14+0000","body_markdown":"## Usage\n\n\n```liquid\n\n{% form \"account-address\", path: address.path, method: \"patch\", address: address %}\n  {% assign label = form.fields[\"label\"] %}\n  \u003cinput name=\"{{ label.name }}\" value=\"{{ label.value }}\"\u003e\n\n  {% assign country = form.fields[\"country\"] %}\n  \u003cselect name=\"{{ country.name }}\"\u003e\n    {% for c in all_countries %}\n      \u003coption value=\"{{ c.alpha2 }}\"\u003e{{ c.name }}\u003c/option\u003e\n    {% endfor %}\n  \u003c/select\u003e\n\n  \u003cbutton type=\"submit\"\u003eSave\u003c/button\u003e\n{% endform %}\n```\n\n\nThe `account-address` form creates or updates an address book entry for the signed-in customer. It backs the new and edit surfaces on the account dashboard's addresses section. The address book is scoped per contact, so the form always writes against the signed-in contact and never against a colleague on the same account.\n\n| Property | Value |\n|----------|-------|\n| **Form Name** | `account-address` |\n| **Category** | Accounts |\n\n## Parameters\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `path` | Yes | The path the form posts to. Use `address.path` with `method: \"patch\"` for an edit, or `current_store.addresses_path` to create. Do not post to `address.edit_path` or `current_store.new_address_path`, which are the pages that display the forms. |\n| `method` | No | The HTTP method. Defaults to POST. Pass `\"patch\"` for an update. |\n| `address` | No | A [CustomerAddress](customer-address-liquid-object-reference) entry whose values pre-fill the fields. Omit it when creating. |\n\nAny other tag option is passed through as an HTML attribute on the `\u003cform\u003e` element.\n\n## Fields\n\nReach each field as `form.fields[\"name\"]` inside the block:\n\n| Field | Notes |\n|-------|-------|\n| `label` | Optional. When it is left empty, the record is named after a one-line summary of the address |\n| `address_lines` | A collection of one or more lines |\n| `city` | |\n| `state` | |\n| `postal_code` | |\n| `country` | Always required |\n| `is_default_shipping` | Boolean |\n| `is_default_billing` | Boolean |\n\nWhich of `city`, `state`, `postal_code` and the street lines are required depends on the country, using the same per-country rules the checkout applies.\n\n## Form Object\n\nInside the form block, you can access the `form` object which provides:\n\n- `form.fields[\"name\"]` — Each field above, carrying its `name` and `value`\n- `form.errors` — Any validation errors after submission"}