Skip to content

Get Checkout Addresses

Retrieve guest / the authenticated customer's checkout saved addresses so they can select one as their shipping or billing address during checkout. This endpoint returns previously saved addresses — it does not create new ones.

Endpoint

GET /api/shop/checkout-addresses

Request Headers

HeaderRequiredDescription
AcceptYesapplication/json
X-STOREFRONT-KEYYesYour storefront API key
AuthorizationYesThe cart's own token as a Bearer token, or a logged-in customer's token.

Response Fields (200 OK)

A bare array of the addresses saved on this cart — typically two entries, the billing one and the shipping one, told apart by addressType. This is not the customer's address book; that is Get Customer Addresses.

FieldTypeDescription
idintegerAddress record ID.
addressTypestringcart_billing or cart_shipping.
firstName / lastName / namestringRecipient. name is the two joined.
addressstringStreet address. Note the read returns address, while the save call takes billingAddress / shippingAddress.
city / state / country / postcodestringLocation.
email / phonestringContact details.
companyName / vatId / genderstringOptional details, null when not supplied.
defaultAddress / useForShippingbooleanFlags carried on the row; both read false on a cart address regardless of the useForShipping sent when saving.
parentAddressIdintegerThe address-book entry this was copied from, null when typed in at checkout.
orderIdintegernull until the cart becomes an order.
additionalobjectExtra stored data, usually null.
createdAt / updatedAtstringISO 8601 timestamps.

Before the address step runs, the response is [].

Use Cases

  • Re-render the checkout review step — read both addresses back after a page reload without re-asking the shopper.
  • Confirm "ship to billing" took effect — with useForShipping sent as true, two rows come back holding the same details.

Best Practices

  • Split the array by addressType — both rows live in one list, so a page rendering [0] as billing will be wrong whenever the order differs.
  • Do not read useForShipping from this payload — it reflects the stored row, not the flag you sent, and is false on both rows.
  • Treat [] as "step not done" — it is a normal state before the address is saved, not an error.

This endpoint returns only the addresses attached to the current checkout, one row per type. It is not the customer's address book — read that with Get Customer Addresses.

Released under the MIT License.