> For the complete documentation index, see [llms.txt](https://docs.spurtcommerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spurtcommerce.com/api-reference/store/customer-address/address-book.md).

# Address Book

Manage customer delivery and billing addresses.

## List customer addresses.

> List customer addresses.\
> \
> \*\*Authentication:\*\* Customer bearer token required.\
> \
> \*\*Feature area:\*\* Customer address\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CustomerAddressController.ts\`\
> \
> \*\*Request example provenance:\*\* Source annotation includes limit/offset/count pagination.\
> \
> \*\*Response example provenance:\*\* Source annotation includes limit/offset/count pagination.\
> \
> \> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Address book","description":"Manage customer delivery and billing addresses."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Paste the JWT access token returned by the corresponding login endpoint."}}},"paths":{"/api/customer-address":{"get":{"operationId":"getApiCustomerAddress","summary":"List customer addresses.","description":"List customer addresses.\n\n**Authentication:** Customer bearer token required.\n\n**Feature area:** Customer address\n\n**Implementation source:** `src/api/store/controllers/CustomerAddressController.ts`\n\n**Request example provenance:** Source annotation includes limit/offset/count pagination.\n\n**Response example provenance:** Source annotation includes limit/offset/count pagination.\n\n> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.","tags":["Address book"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Query parameter limit."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Query parameter offset."},{"name":"count","in":"query","required":false,"schema":{"type":"boolean"},"description":"Query parameter count."}],"responses":{"200":{"description":"Successful response. Source annotation includes limit/offset/count pagination.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"status":{"type":"string"},"data":{"type":"array","items":{}}},"additionalProperties":true}}}}}}}}}
```

## Create a customer address.

> Create a customer address.\
> \
> \*\*Authentication:\*\* Customer bearer token and customer permission required.\
> \
> \*\*Feature area:\*\* Customer address\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CustomerAddressController.ts\`\
> \
> \*\*Request example provenance:\*\* Request and response structure from source @api comment; postcode is shown as a string to preserve leading zeroes.\
> \
> \*\*Response example provenance:\*\* Request and response structure from source @api comment; postcode is shown as a string to preserve leading zeroes.\
> \
> \> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Address book","description":"Manage customer delivery and billing addresses."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Paste the JWT access token returned by the corresponding login endpoint."}}},"paths":{"/api/customer-address":{"post":{"operationId":"postApiCustomerAddress","summary":"Create a customer address.","description":"Create a customer address.\n\n**Authentication:** Customer bearer token and customer permission required.\n\n**Feature area:** Customer address\n\n**Implementation source:** `src/api/store/controllers/CustomerAddressController.ts`\n\n**Request example provenance:** Request and response structure from source @api comment; postcode is shown as a string to preserve leading zeroes.\n\n**Response example provenance:** Request and response structure from source @api comment; postcode is shown as a string to preserve leading zeroes.\n\n> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.","tags":["Address book"],"responses":{"200":{"description":"Successful response. Request and response structure from source @api comment; postcode is shown as a string to preserve leading zeroes.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"status":{"type":"string"},"data":{"type":"object","properties":{"addressId":{"type":"integer"},"customerId":{"type":"integer"},"countryId":{"type":"integer"},"firstName":{"type":"string"},"lastName":{"type":"string"},"address1":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postcode":{"type":"string"},"addressType":{"type":"integer"},"isActive":{"type":"integer"},"isDefault":{"type":"integer"}},"additionalProperties":true}},"additionalProperties":true}}}}},"requestBody":{"required":false,"description":"Sample request body. Request and response structure from source @api comment; postcode is shown as a string to preserve leading zeroes.","content":{"application/json":{"schema":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"address1":{"type":"string"},"address2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"countryId":{"type":"integer"},"postcode":{"type":"string"},"addressType":{"type":"integer"},"company":{"type":"string"},"landmark":{"type":"string"},"phoneNumber":{"type":"string"},"isDefault":{"type":"integer"}},"additionalProperties":true}}}}}}}}
```

## Create or search a live address mapping.

> Create or search a live address mapping.\
> \
> \*\*Authentication:\*\* Customer auth header is shown in the source comment.\
> \
> \*\*Feature area:\*\* Customer address\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CustomerAddressController.ts\`\
> \
> \*\*Request example provenance:\*\* Illustrative response; handler returns an address provider-dependent structure.\
> \
> \*\*Response example provenance:\*\* Illustrative response; handler returns an address provider-dependent structure.\
> \
> \> \*\*Example status: Illustrative.\*\* The example is included to demonstrate request/response shape in the reference UI; verify the owning controller and request DTO before using it as a contract.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Address book","description":"Manage customer delivery and billing addresses."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"paths":{"/api/customer-address/live/":{"post":{"operationId":"postApiCustomerAddressLive","summary":"Create or search a live address mapping.","description":"Create or search a live address mapping.\n\n**Authentication:** Customer auth header is shown in the source comment.\n\n**Feature area:** Customer address\n\n**Implementation source:** `src/api/store/controllers/CustomerAddressController.ts`\n\n**Request example provenance:** Illustrative response; handler returns an address provider-dependent structure.\n\n**Response example provenance:** Illustrative response; handler returns an address provider-dependent structure.\n\n> **Example status: Illustrative.** The example is included to demonstrate request/response shape in the reference UI; verify the owning controller and request DTO before using it as a contract.","tags":["Address book"],"responses":{"200":{"description":"Successful response. Illustrative response; handler returns an address provider-dependent structure. Example is illustrative and does not guarantee a stable response contract.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"},"data":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true}}}}},"requestBody":{"required":false,"description":"Sample request body. Illustrative response; handler returns an address provider-dependent structure. Treat this as an illustrative example, not a complete DTO contract.","content":{"application/json":{"schema":{"type":"object","properties":{"address1":{"type":"string"},"address2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postcode":{"type":"string"},"countryId":{"type":"integer"}},"additionalProperties":true}}}}}}}}
```

## Get the customer live address setting.

> Get the customer live address setting.\
> \
> \*\*Authentication:\*\* Customer bearer token as used by address mapping flows.\
> \
> \*\*Feature area:\*\* Customer address\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CustomerAddressController.ts\`\
> \
> \*\*Request example provenance:\*\* Source-defined status/message; data depends on configured live-address integration.\
> \
> \*\*Response example provenance:\*\* Source-defined status/message; data depends on configured live-address integration.\
> \
> \> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Address book","description":"Manage customer delivery and billing addresses."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"paths":{"/api/customer-address/live/address":{"get":{"operationId":"getApiCustomerAddressLiveAddress","summary":"Get the customer live address setting.","description":"Get the customer live address setting.\n\n**Authentication:** Customer bearer token as used by address mapping flows.\n\n**Feature area:** Customer address\n\n**Implementation source:** `src/api/store/controllers/CustomerAddressController.ts`\n\n**Request example provenance:** Source-defined status/message; data depends on configured live-address integration.\n\n**Response example provenance:** Source-defined status/message; data depends on configured live-address integration.\n\n> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.","tags":["Address book"],"responses":{"200":{"description":"Successful response. Source-defined status/message; data depends on configured live-address integration.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"status":{"type":"string"},"data":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":true}}}}}}}}}
```

## Get a customer address by ID.

> Get a customer address by ID.\
> \
> \*\*Authentication:\*\* Customer bearer token required.\
> \
> \*\*Feature area:\*\* Customer address\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CustomerAddressController.ts\`\
> \
> \*\*Request example provenance:\*\* Response fields abbreviated from source example.\
> \
> \*\*Response example provenance:\*\* Response fields abbreviated from source example.\
> \
> \> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Address book","description":"Manage customer delivery and billing addresses."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Paste the JWT access token returned by the corresponding login endpoint."}}},"paths":{"/api/customer-address/{id}":{"get":{"operationId":"getApiCustomerAddressId","summary":"Get a customer address by ID.","description":"Get a customer address by ID.\n\n**Authentication:** Customer bearer token required.\n\n**Feature area:** Customer address\n\n**Implementation source:** `src/api/store/controllers/CustomerAddressController.ts`\n\n**Request example provenance:** Response fields abbreviated from source example.\n\n**Response example provenance:** Response fields abbreviated from source example.\n\n> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.","tags":["Address book"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Value for id."}],"responses":{"200":{"description":"Successful response. Response fields abbreviated from source example.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"status":{"type":"string"},"data":{"type":"object","properties":{"addressId":{"type":"integer"},"customerId":{"type":"integer"},"firstName":{"type":"string"},"lastName":{"type":"string"},"address1":{"type":"string"},"city":{"type":"string"},"postcode":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true}}}}}}}}}
```
