Skip to main content

Update Customer Address

Updates an existing customer address.

HTTP Request

PATCH/api/customers/:customer_pk/addresses/:id

Authorization

Authorization

  • Required: Yes
  • Permission: Staff with CustomerAddressPermission or Admin
  • Permission Code: 1423
  • Authentication: Token-based (Authorization: Token <your_api_key>)

Path Parameters

ParameterTypeRequiredDescription
customer_pkIntegerYesUnique ID of the customer
idIntegerYesUnique ID of the address

Request Body

FieldTypeRequiredDescription
defaultBooleanNoWhether this should be the default address (default: false)
countryIntegerNoCountry ID
stateIntegerNoState ID (must belong to the specified country)
cityIntegerNoCity ID (must belong to the specified state)
addressStringNoStreet address
postal_codeStringNoPostal/ZIP code
first_nameStringNoFirst name on the address
last_nameStringNoLast name on the address
national_codeStringNoNational identification code
mobile_numberStringNoMobile phone number for this address

Example Requests

1import requests
2
3# Partial update (PATCH)
4response = requests.patch('http://www.example.com/api/customers/123/addresses/456', 
5  json={
6      'address': '789 New Street',
7      'postal_code': '8654589915',
8      'default': True
9  },
10  headers={'Authorization': 'Token <your_api_key>'}
11)
12print(response.json())
13
14# Update location
15response = requests.patch('http://www.example.com/api/customers/123/addresses/456', 
16  json={
17      'country': 2,
18      'state': 10,
19      'city': 50
20  },
21  headers={'Authorization': 'Token <your_api_key>'}
22)
23print(response.json())

Response Fields

FieldTypeDescription
idIntegerUnique ID of the address
defaultBooleanWhether this is the customer's default address
country_dataObjectCountry information with id, name, etc.
state_dataObjectState information with id, name, etc.
city_dataObjectCity information with id, name, etc.
addressStringthe text of the address
postal_codeStringPostal/ZIP code (valid iranian postal code)
first_nameStringFirst name on the address
last_nameStringLast name on the address
national_codeStringNational identification code (nullable)
mobile_numberStringMobile phone number for this address (valid iraninan mobile number)
textStringAddress full text (computed value from country, state, city and address)
created_atString (ISO 8601)Timestamp when address was created
updated_atString (ISO 8601)Timestamp when address was last updated

Country Data Structure

FieldTypeDescription
idIntegerUnique ID of the country
nameStringName of the country
codeStringISO country code (e.g., US, CA)

State Data Structure

FieldTypeDescription
idIntegerUnique ID of the state
nameStringName of the state
codeStringState code (if applicable)

City Data Structure

FieldTypeDescription
idIntegerUnique ID of the city
nameStringName of the city

Example Response

{
"id": 6,
"default": true,
"country_data": {
"id": 1,
"name": "ایران",
"code": "IR"
},
"state_data": {
"id": 1,
"name": "آذربایجان شرقی",
"code": "EA"
},
"city_data": {
"id": 1,
"name": "اسکو"
},
"address": "میدان مرکزی خیابان شماره ده",
"postal_code": "8651989917",
"first_name": "بهداد",
"last_name": "پورعباس",
"national_code": "120",
"mobile_number": "09158600352",
"text": "ایران-آذربایجان شرقی-اسکو-میدان مرکزی خیابان شماره ده",
"created_at": "2025-12-22T12:42:22.131324Z",
"updated_at": "2025-12-22T12:51:53.577625Z"
}

Notes

  • text is a computed field comprised of country, state, city and address fields (country name-state name- citry name-address)
  • The chosen country, state and city should be valid together, so the city should exist in the state and the state should exist in the country
  • postal_code must be a valid iraninan postal code
  • mobile_number must be a valid iraninan mobile number (eg 09121236545)