Skip to content

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."
}