Store and manage customer shipping and billing addresses.
Overview
Addresses store shipping and billing information for customers. Each address can be marked as default and associated with subscriptions for fulfillment.
How It Works
- Create an address - Add a shipping or billing address for a customer
- Set as default - Mark an address as the customer's default
- Use for fulfillment - Associate addresses with subscriptions for shipping
Example: A customer adds their home address for magazine delivery. Later, they add a work address and set it as default for future subscriptions.
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/core/addresses | List all addresses |
POST | /api/v1/core/addresses | Create an address |
GET | /api/v1/core/addresses/{id} | Get an address |
PUT | /api/v1/core/addresses/{id} | Update an address |
DELETE | /api/v1/core/addresses/{id} | Delete an address |
Important Behaviors
- Soft delete: Addresses are soft-deleted, not permanently removed.
- String cleansing: Address fields are automatically cleaned — patterns removed, whitespace trimmed, trailing commas stripped, empty values nullified.
- Subscription update: When an address is updated, a background job can update the default shipping address on the customer's subscriptions.
- AvaTax validation: If the AvaTax integration is enabled, address validation is available via a feature flag.
Address Types
| Type | Description |
|---|---|
shipping | Delivery address for physical products |
billing | Address used for invoicing and payments |
account_primary | Primary account address |
Address Object
| Attribute | Type | Description |
|---|---|---|
id | integer | Unique identifier for the address |
user_id | integer | ID of the customer (expandable) |
type | string | Address type: shipping, billing, or account_primary |
is_default | boolean | Whether this is the default address |
first_name | string | Recipient's first name |
last_name | string | Recipient's last name |
salutation | string | Title/salutation (Mr., Mrs., etc.) |
title | string | Professional title |
company | string | Company name |
department | string | Department within company |
line1 | string | Street address line 1 |
line2 | string | Street address line 2 (apt, suite, etc.) |
city | string | City name |
state | string | State/province/region |
postal_code | string | ZIP or postal code |
country | string | Two-letter ISO country code |
phone | string | Phone number |
vendor_id | integer | Associated vendor ID |
delivery_instructions | string | Delivery instructions |
delivery_sequence_number | integer | Delivery sequence number |
old_provider_id | string | External system reference ID |
created_at | integer | Unix timestamp of creation |
updated_at | integer | Unix timestamp of last update |

