Address Management API
This API provides endpoints to manage user addresses, including listing, creating, updating, and deleting addresses.
1. List Addresses
Endpoint: api/v1/accounts/addresses/
Method: GET
Permissions: IsAuthenticated
Retrieves a list of addresses for the authenticated user, ordered by default status and last updated time.
Response Payload (Success)
{
"id": 21,
"user": 21,
"name": "John Doe",
"mobile": "9865365096",
"address_line_1": "kalimati",
"address_line_2": "bhaktapur",
"landmark": "Opp to ANFA ground",
"pincode": "44600",
"country": 1,
"town_city": "sahayoginar",
"is_default": true,
"created_at": "03-27-2025 05:33:47",
"updated_at": "03-27-2025 05:33:47",
"selected": 5,
"custom": null
}
2. Create Address
Endpoint: api/v1/accounts/addresses/
Method: POST
Permissions: IsAuthenticated
Creates a new address for the user. If the address is set as default, it unsets default status for all other addresses.
Request Payload
{
"name": "John Doe",
"mobile": "9865365096",
"address_line_1": "kalimati",
"address_line_2": "bhaktapur",
"landmark": "Opp to ANFA ground",
"pincode": "44600",
"country": 1,
"selected": 5,
// "custom": "adfsdf",
"town_city": "sahayoginar",
"is_default": true
}
Response Payload (Success)
{
"id": 21,
"user": 21,
"name": "John Doe",
"mobile": "9865365096",
"address_line_1": "kalimati",
"address_line_2": "bhaktapur",
"landmark": "Opp to ANFA ground",
"pincode": "44600",
"country": 1,
"town_city": "sahayoginar",
"is_default": true,
"created_at": "03-27-2025 05:33:47",
"updated_at": "03-27-2025 05:33:47",
"selected": 5,
"custom": null
}
3. Retrieve Address
Endpoint: api/v1/accounts/addresses/<pk>/
Method: GET
Permissions: IsAuthenticated
Retrieves a specific address by its ID.
Response Payload (Success)
{
"id": 21,
"user": 21,
"name": "John Doe",
"mobile": "9865365096",
"address_line_1": "kalimati",
"address_line_2": "bhaktapur",
"landmark": "Opp to ANFA ground",
"pincode": "44600",
"country": 1,
"town_city": "sahayoginar",
"is_default": true,
"created_at": "03-27-2025 05:33:47",
"updated_at": "03-27-2025 05:33:47",
"selected": 5,
"custom": null
}
4. Update Address
Endpoint: api/v1/accounts/addresses/<pk>/
Method: PATCH
Permissions: IsAuthenticated
Updates a specific address. If the updated address is set as default, it unsets default status for all other addresses.
Request Payload
{
"address_line_1": "456 Elm St",
"city": "Brooklyn",
"is_default": true
}
Response Payload (Success)
{
"id": 21,
"user": 21,
"name": "John Doe",
"mobile": "9865365096",
"address_line_1": "kalimati",
"address_line_2": "bhaktapur",
"landmark": "Opp to ANFA ground",
"pincode": "44600",
"country": 1,
"town_city": "sahayoginar",
"is_default": true,
"created_at": "03-27-2025 05:33:47",
"updated_at": "03-27-2025 05:33:47",
"selected": 5,
"custom": null
}
5. Delete Address
Endpoint: api/v1/accounts/addresses/<pk>/
Method: DELETE
Permissions: IsAuthenticated
Deletes a specific address.
Response Payload (Success)
{
"message": "Address deleted successfully."
}