Update An Address
Update an existing profile address
HTTP Request
Update Address:
PATCH/api/shop/customers/me/addresses/:id
Authorization
Authorization
- Required: Yes
- Permission: Authenticated Customer
- Authentication: Token-based (`Authorization: Token <your_api_key>`)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | Integer | Yes | Unique ID of the address |
Request Body (PATCH only)
| Field | Type | Required | Description |
|---|---|---|---|
| default | Boolean | No | Set as default address |
| country | Integer | No | Country ID |
| state | Integer | No | State ID |
| city | Integer | No | City ID |
| address | String | No | Detailed address |
| postal_code | String | No | Postal/ZIP code |
| first_name | String | No | Recipient's first name |
| last_name | String | No | Recipient's last name |
| national_code | String | No | National identification code |
| mobile_number | String | No | Recipient's mobile number |
Example Requests
- 🐍 Python
- 🌐 Curl
1import requests
2
3# Update address
4response = requests.patch('http://www.example.com/api/shop/customers/me/addresses/123',
5 json={
6 'default': True,
7 'postal_code': '54321'
8 },
9 headers={'Authorization': 'Token <your_api_key>'}
10)
11print(response.json())1# Update address
2curl -X PATCH "http://www.example.com/api/shop/customers/me/addresses/123" -H "Authorization: Token <your_api_key>" -H "Content-Type: application/json" -d '{
3 "default": true,
4 "postal_code": "54321"
5}'Response Fields
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID of the address |
| default | Boolean | Whether this is the default address |
| country_data | Object | Country details (read-only) |
| state_data | Object | State details (read-only) |
| city_data | Object | City details (read-only) |
| address | String | Detailed address |
| postal_code | String | Postal/ZIP code |
| first_name | String | Recipients first name |
| last_name | String | Recipients last name |
| national_code | String | National identification code |
| mobile_number | String | Recipients mobile number |
| text | String | Additional notes |
| created_at | String (ISO 8601) | Timestamp when address was created |
| updated_at | String (ISO 8601) | Timestamp when address was last updated |
Country/State Data Structure:
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID |
| name | String | Name of the country/state |
| code | String | Code (e.g., ISO code for country) |
City Data Structure:
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique ID |
| name | String | Name of the city |
Example Response
{
"id": 7,
"default": true,
"country_data": {
"id": 1,
"name": "ایران",
"code": "IR"
},
"state_data": {
"id": 17,
"name": "فارس",
"code": "FA"
},
"city_data": {
"id": 642,
"name": "ششده"
},
"address": "7687 Barney Burgs",
"postal_code": "6934169688",
"first_name": "آرمان",
"last_name": "علیزاده",
"national_code": "12343456",
"mobile_number": "09522101669",
"text": "ایران-فارس-ششده-7687 Barney Burgs",
"created_at": "2025-12-30T10:09:51.354368Z",
"updated_at": "2025-12-30T10:16:17.324191Z"
}
Notes
- Geographic Validation: State must belong to the specified country, and city must belong to the specified state
- Access Control: Customers can only access their own addresses
- Default Address: Only one address can be set as default per customer