Add a customer address
/partners/customers/{uuid}/addressesAdds an address to a customer.
Every field is optional individually, but the body must carry at least one of `street`, `city`, or `zipCode` — an address with none of those is rejected. Setting `isPrimary` demotes the customer’s current primary address.
Path parameters
uuiduuidrequiredThe customer UUID.
Request body
streetstringStreet address. One of street, city, or zipCode is required.
street2stringSecond address line (suite, unit, floor).
citystringCity or locality. One of street, city, or zipCode is required.
statestringState, province, or region.
zipCodestringPostal or ZIP code. One of street, city, or zipCode is required.
countrystringCountry name or ISO code.
namestringLabel for this location (for example "Head office"). Up to 255 characters.
isPrimarybooleanMakes this the primary address, demoting the previous one. Defaults to false.
latitudenumberLatitude of the location.
longitudenumberLongitude of the location.
googleMapsUrlstringGoogle Maps link for the location.
appleMapsUrlstringApple Maps link for the location.
storeNumberstringStore or branch number, for customers with numbered locations.
Responses
201Address created.400Address must include at least a street, city, or zip code.404Customer not found.401Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. Troubleshoot403The credential does not have access to this workspace or resource. Troubleshoot429Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. Troubleshoothttps://api.getcount.com/partners/customers/{uuid}/addressesimport crypto from 'node:crypto';
const BASE_URL = 'https://api.getcount.com';
const CLIENT_ID = process.env.COUNT_CLIENT_ID;
const CLIENT_SECRET = process.env.COUNT_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.COUNT_ACCESS_TOKEN;
const method = 'POST';
const signingPath = '/customers/3fa85f64-5717-4562-b3fc-2c963f66afa6/addresses';
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
"name": "Head office",
"street": "123 Main St",
"street2": "Suite 400",
"city": "San Francisco",
"state": "CA",
"zipCode": "94102",
"country": "USA",
"isPrimary": true
};
const bodyString = JSON.stringify(body);
const bodyHash = crypto.createHash('sha256').update(bodyString).digest('hex');
const baseString = `${method}:${signingPath}:${timestamp}:${bodyHash}`;
const signature = crypto.createHmac('sha256', CLIENT_SECRET).update(baseString).digest('hex');
const response = await fetch(`${BASE_URL}/partners/customers/3fa85f64-5717-4562-b3fc-2c963f66afa6/addresses`, {
method,
headers: {
'x-client-id': CLIENT_ID,
'x-timestamp': timestamp,
'x-signature': signature,
'Content-Type': 'application/json',
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
body: bodyString,
});
console.log(await response.json());{
"status": "success",
"message": "success on adding address to customer",
"data": {
"address": {
"id": "8f1d2c3b-4a59-4e6f-8b70-1c2d3e4f5a6b",
"name": "Head office",
"isPrimary": true,
"address": {
"id": "0b2c1f5e-7a9d-4f2b-9c1e-2a4b6d8e0f12",
"street": "123 Main St",
"street2": "Suite 400",
"city": "San Francisco",
"state": "CA",
"zipCode": "94102",
"country": "USA"
},
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-28T14:22:30.000Z"
}
}
}