API Integration / Customer Endpoint
Customer Endpoint
Sync customer profile data into Churn Buster so emails personalize correctly and segmentation has real signal.
Use the Churn Buster API customer endpoint to fetch customer data from Churn Buster, including the customer-specific card update link (capture_url), or to push customer profile updates in. To learn more about card update links, see Capture links for specific customers.
Fetch a customer (GET)
Look up a single customer by their Churn Buster customer ID, or by source and source_id.
By Churn Buster customer ID:
curl -X "GET" "https://api.churnbuster.io/v1/customers?id=10b0c034-0605-4ee0-8e08-4016febf63dc" \
-H "Content-Type: application/json" \
-u "ACCOUNT_ID:API_KEY"
By source and source_id:
curl -X "GET" "https://api.churnbuster.io/v1/customers?source=stripe&source_id=cus_EXAMPLE" \
-H "Content-Type: application/json" \
-u "ACCOUNT_ID:API_KEY"
The response includes capture_url, the shareable link where the customer can update their payment method. If no matching customer is found, Churn Buster returns an error response.
source is the system name, such as stripe. source_id is the customer's ID in that system, such as cus_EXAMPLE.
Update a customer (POST)
Push profile updates into Churn Buster with a POST. Include source and source_id to identify the customer, plus any fields to update:
curl -X "POST" "https://api.churnbuster.io/v1/customers" \
-H 'Content-Type: application/json' \
-u 'ACCOUNT_ID:API_KEY' \
-d '{
"email": "sarah@example.com",
"properties": {
"card_update_url": "https://..."
},
"source": "stripe",
"source_id": "cus_abc1234"
}'
Backup contacts
Pass backup_contacts as an array of email addresses to set the customer's full backup contact list (the extra emails CC'd on dunning once the primary contact stops responding). Sending this field replaces the whole list — omit it to leave existing backup contacts untouched, or send [] to clear them.
curl -X "POST" "https://api.churnbuster.io/v1/customers" \
-H 'Content-Type: application/json' \
-u 'ACCOUNT_ID:API_KEY' \
-d '{
"email": "sarah@example.com",
"backup_contacts": ["backup1@example.com", "backup2@example.com"],
"source": "stripe",
"source_id": "cus_abc1234"
}'
Invalid email addresses in the array return a 400 error.