Save customer billing address
Overview
Create or update (on the user's latest row) the billing address for user_id. The stored name comes from the user's person firstname + lastname (client-supplied names are ignored).
Prerequisites
- A bearer token in the
Authorizationheader.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/billing-address/save
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Bearer account / partner token.
-
user_idvalidated by an ownership check (must be in the caller's hierarchy).
Rate limit
- No rate limit.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
user_id | integer | Required | Must be an existing user and must belong to caller's hierarchy (an ownership check). |
company | string | Required | max:255; no angle brackets (NameNoAngleBrackets). Stored as company_name. |
billing_email | string | Required | Valid email (email:rfc,dns). Stored as email. |
mobile | string | Optional | max:20. Stored as phone. |
billing_address | string | Required | max:255; no angle brackets. Stored as address. |
zipcode | string | Required | min:3, max:10. Stored as postal_code. |
city_id | integer | Required | Must be an existing city. |
signup_business_id | integer | Optional | Must be an existing record. When set and its update_address_user_notify = 1, syncs the store's company address. |
{
"user_id": "<userId>",
"company": "Acme Corp",
"billing_email": "[email protected]",
"mobile": "5551234567",
"billing_address": "123 Main St",
"zipcode": "90210",
"city_id": "<cityId>",
"signup_business_id": null
}How it works
200—{ data: {.} }with the persistedBillingAddressmodel (fields:email,phone,postal_code,address,company_name,id, timestamps).422— validation failure (invalid email, out-of-scopeuser_id, angle brackets in text fields, etc.).
Response
200 OK · 200
200{
"data": {
"user_id": 3,
"name": "Test User",
"email": "[email protected]",
"phone": "5551234567",
"city_id": 456,
"postal_code": "90210",
"address": "123 Main St",
"company_name": "Acme Corp",
"updated_at": "2026-06-16T10:42:44.000000Z",
"created_at": "2026-06-16T10:42:44.000000Z",
"id": 1
}
}422 Validation error · 422
422{
"message": "The billing email field must be a valid email address. (and 1 more error)",
"errors": {
"billing_email": [
"The billing email field must be a valid email address."
],
"city_id": [
"The selected city id is invalid."
]
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | Validation error |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/billing-address/save" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"user_id": "<userId>", "company": "Acme Corp", "billing_email": "[email protected]", "mobile": "5551234567", "billing_address": "123 Main St", "zipcode": "90210", "city_id": "<cityId>", "signup_business_id": null}'Notes
- When you supply
signup_business_idand that signup business hasupdate_address_user_notify = 1, the linked store's location-accountcompanyaddress (phone/address/city/zip) is synced to the same values.
Updated 11 days ago
Did this page help you?
