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
| Parameter | Type | Required | Description |
|---|---|---|---|
| customer_pk | Integer | Yes | Unique ID of the customer |
| id | Integer | Yes | Unique ID of the address |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| default | Boolean | No | Whether this should be the default address (default: false) |
| country | Integer | No | Country ID |
| state | Integer | No | State ID (must belong to the specified country) |
| city | Integer | No | City ID (must belong to the specified state) |
| address | String | No | Street address |
| postal_code | String | No | Postal/ZIP code |
| first_name | String | No | First name on the address |
| last_name | String | No | Last name on the address |
| national_code | String | No | National identification code |
| mobile_number | String | No | Mobile phone number for this address |
Example Requests
- 🐍 Python
- 🌐 Curl
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())1# Partial update (PATCH)
2curl -X PATCH "http://www.example.com/api/customers/123/addresses/456" \
3-H "Authorization: Token <your_api_key>" \
4-H "Content-Type: application/json" \
5-d '{
6 "address": "789 New Street",
7 "default": true
8}'
9
10# Update location
11curl -X PATCH "http://www.example.com/api/customers/123/addresses/456" \
12-H "Authorization: Token <your_api_key>" \
13-H "Content-Type: application/json" \
14-d '{
15 "country": 2,
16 "state": 10,
17 "city": 50
18}'Response Fields
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the address |
| default | Boolean | Whether this is the customer's default address |
| country_data | Object | Country information with id, name, etc. |
| state_data | Object | State information with id, name, etc. |
| city_data | Object | City information with id, name, etc. |
| address | String | the text of the address |
| postal_code | String | Postal/ZIP code (valid iranian postal code) |
| first_name | String | First name on the address |
| last_name | String | Last name on the address |
| national_code | String | National identification code (nullable) |
| mobile_number | String | Mobile phone number for this address (valid iraninan mobile number) |
| text | String | Address full text (computed value from country, state, city and address) |
| created_at | String (ISO 8601) | Timestamp when address was created |
| updated_at | String (ISO 8601) | Timestamp when address was last updated |
Country Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the country |
| name | String | Name of the country |
| code | String | ISO country code (e.g., US, CA) |
State Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the state |
| name | String | Name of the state |
| code | String | State code (if applicable) |
City Data Structure
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the city |
| name | String | Name 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
textis a computed field comprised ofcountry,state,cityandaddressfields (country name-state name- citry name-address)- The chosen
country,stateandcityshould be valid together, so the city should exist in the state and the state should exist in the country postal_codemust be a valid iraninan postal codemobile_numbermust be a valid iraninan mobile number (eg 09121236545)