Add or Update a Contact's Address

How can I add or update a contact’s address with code?

Wix Velo

I am trying to create a custom Request Quote page similar to the default Checkout page. Since most users will not be registered members, I am working with contacts/CRM rather than member APIs. I want to give users the option to save any collected addresses to choose from for future use.

Using Wix Velo documentation, I was able to successfully create new contacts and update contacts’ phone numbers and update custom fields. However, I can not figure out how to add or update addresses when creating a new contact or updating an existing one.
I have ensured that the data I’m passing in matches the format of the contact’s object, but the address isn’t saving to the contact.

I can not find anything in the API specifically about CRM addresses. Does that mean that it’s not possible?

Hi ayalayvonne30,
Please check my solution if that works..

Why addresses aren’t working

While the Wix Contacts object (as seen in Dashboard or REST API docs) appears to include fields for address, the Velo CRM APIs (wix-crm-backend and wix-crm) do not expose a dedicated address field for programmatic use. This means:

You can’t update contact.addresses via createContact(), updateContact(), or updateContactPartial().

Attempting to include address fields like addresses: [{…}] is ignored or silently fails — as you’ve observed.

This is not well-documented, unfortunately, and leads to confusion.

Recommended Workarounds

Use Custom Fields to Store Address Info
Since Velo supports custom fields, you can create custom fields like:

streetAddress

city

state

postalCode

country

Then, store address info that way.

How to implement:

Go to your Wix Dashboard → Contacts → Custom Fields.

Add fields for address parts (e.g., street, city, etc.).

In your Velo code, update the contact using those custom fields.

import { updateContact } from ‘wix-crm-backend’;

await updateContact(contactId, {
info: {
customFields: {
streetAddress: “123 Main St”,
city: “Los Angeles”,
state: “CA”,
postalCode: “90001”,
country: “USA”
}
}
});
2. Store Addresses Separately in a Collection
If you want to support multiple saved addresses per contact, consider:

Creating a Wix Collection like ContactAddresses

Structure it like:

{
_id,
contactId,
label: “Home” | “Work” | etc.,
streetAddress,
city,
state,
postalCode,
country
}
Use this collection to store and retrieve addresses associated with a contact.

this should help

"addresses": {
        "items": [
          {
            "id": "3f8bba59-150f-4ee7-9c58-632cbdae222c",
            "tag": "HOME",
            "address": {
              "country": "US",
              "subdivision": "US-ME",
              "city": "Richmond",
              "postalCode": "04357",
              "addressLine": "1772  Fantages Way",
              "addressLine2": "Apt 17"
            }
          },