PUT /v3/user/addresses/:id — update
PUT
/v3/user/addresses/{addressId}
const url = 'https://api-ha-prod-p8.handbid.dev/v3/user/addresses/%7B%7BaddressId%7D%7D';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': '*/*'}, body: '"{\n \"addressType\": \"Work\",\n \"street1\": \"500 S Buena Vista St\",\n \"city\": \"Burbank\",\n \"province\": \"CA\",\n \"postalCode\": \"91521\",\n \"country\": \"US\",\n \"isPrimary\": true\n}"'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api-ha-prod-p8.handbid.dev/v3/user/addresses/%7B%7BaddressId%7D%7D \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: */*' \ --data '"{\n \"addressType\": \"Work\",\n \"street1\": \"500 S Buena Vista St\",\n \"city\": \"Burbank\",\n \"province\": \"CA\",\n \"postalCode\": \"91521\",\n \"country\": \"US\",\n \"isPrimary\": true\n}"'NEW (HAN-2041, 2026-06-05). Update one of the authenticated user’s own addresses. Auth required. Ownership is enforced by an isDeleted-scoped lookup — an id the user doesn’t own (or that is missing / soft-deleted) → 404.
Same body contract as POST (addressType required). Setting isPrimary=true promotes this address (and bridge-syncs users.shippingAddress).
Response (204 No Content): empty body.
Errors:
422 validation_error— attempting to demote the current primary (isPrimary=falseon the primary). Set another address primary first.404 not_found— id not owned / missing / soft-deleted.400 validation_error— missing/unknownaddressTypeor per-field errors (fields).401anonymous.
Side-effects: drops the address-list cache; async event.address ({action:"update"}) to room:{usersGuid}.
Rate limit: userAddressWrite.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” addressId
required
string
AddressId from GET /v3/user/addresses.
Example
{{addressId}}Request Body
Section titled “Request Body ” Media type */*
string
Example
"{\n \"addressType\": \"Work\",\n \"street1\": \"500 S Buena Vista St\",\n \"city\": \"Burbank\",\n \"province\": \"CA\",\n \"postalCode\": \"91521\",\n \"country\": \"US\",\n \"isPrimary\": true\n}"Responses
Section titled “ Responses ”Successful response
Media type application/json