API at a glance
Description:
This API merges two customer profiles or updates the customer_id of an existing customer in Blueshift.
It helps consolidate duplicate profiles and maintain a single, unified customer record.
Authentication & testing
Testing the API on this page
How to try it here
- Use your User API Key as the Username (leave Password blank).
- Select the appropriate API endpoint based on your Blueshift region.
- Enter the necessary parameters and click Try It to run the request.


Authentication using Base64 encoding
Note for developers
API requests require authentication using HTTP Basic Authentication with an API key.
The API key serves as the username, while the password field should be left empty.
The format to encode is: your_api_key: (note the trailing colon).
This string must be Base64-encoded and included in the request's Authorization header as follows:
Authorization: Basic encoded_valueYou can generate the encoded value using a trusted Base64 encoder.
Postman collection
Try it with Postman: Explore the API using Blueshift's Postman collection.
Things to know before you start
-
Supported actions:
You can use this API to:- Merge two customers with different
customer_ids - Update the
customer_idof an existing customer in Blueshift
- Merge two customers with different
-
Required identifiers:
You must provide:emailorcustomer_id(or both) to identify the existing customer andbsft_new_customer_idas the targetcustomer_id
-
New customer creation:
If no customers exist with either the providedemail/customer_idorbsft_new_customer_id, a new customer is created withbsft_new_customer_id. -
Merge behavior:
If both customers exist, profile data from the old customer is merged into the target customer (bsft_new_customer_id). -
Multiple profile matches:
If multiple profiles match (for example, multiple customers with the same email), only the most recent profile is updated.
Recommendation: If you have duplicate profiles, usecustomer_idinstead ofemailto avoid ambiguity. -
Customer ID update:
If a customer exists withemail/customer_id, but no customer exists withbsft_new_customer_id, the existing customer’scustomer_idis updated tobsft_new_customer_id. -
Rate limit:
This endpoint is throttled at 1500 requests per minute.
Contact [email protected] if you need a higher limit. -
Use case:
Best for deduplicating customer profiles, fixing incorrect customer IDs, and consolidating customer data after migrations or integrations.
Request parameters
Check out the request parameters
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | ❌ No | Email address of the existing customer. |
customer_id | string | ❌ No | Current customer ID of the existing customer. |
bsft_new_customer_id | string | ✅ Yes | Target customer_id to merge into or update to. |
Note: You must provide at least one of
customer_id, along withbsft_new_customer_id.
Example requests & responses
Merge two customers
{
"email": "[email protected]",
"bsft_new_customer_id": "CUST-99999"
}{
"status": "ok"
}Update customer ID
{
"customer_id": "CUST-12345",
"bsft_new_customer_id": "CUST-67890"
}{
"status": "ok"
} 200OK
400The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
404Resource not found. This can happen due to resource conflicts. Retry with exponential backoff. If the issue persists, contact Blueshift.
409Conflict error, please retry. The request could not be completed due to a conflict with the current state of the target resource. Re-try with exponential backoff.
413You can upload up to 50 users in an API call.
429Rate limit exceeded. Too many requests. Contact us on [email protected] for recommended throughput.
500Internal server error. Contact Blueshift for more information.
502Service unavailable, please retry. Bad gateway. Retry with exponential backoff.
503Service unavailable, please retry. Service unavailable. Retry with exponential backoff.
504Service unavailable, please retry. Gateway timeout. Retry with exponential backoff.