Create customer
Create a customer record in your partner roster. Each customer is
identified by a customer_id and carries the basic contact info (full
name, email, phone) used by the rest of the RCS solution to address
messages and bind sender configuration.
Email and phone are unique per partner — a duplicate POST returns
409 with the field that collided.
POST /api/v1/partner/customersRequest body
{
"full_name": "Acme Corporation",
"email": "[email protected]",
"phone": "+919876543210"
}| Field | Type | Required | Notes |
|---|---|---|---|
full_name | string | yes | Customer name; minimum 2 characters |
email | string | yes | RFC-shape email; stored lowercased + trimmed for the uniqueness check |
phone | string | yes | 7–15 digits, optional leading + for E.164. Visual separators (spaces, dashes, parens, dots) are stripped before the uniqueness check, so "(98765) 432-10" and "9876543210" collide |
Response — 201
{
"success": true,
"message": "Customer created successfully",
"customer_id": "8f3b2a1e-49d8-4c2d-9e1a-b7e6d5f8a3c2",
"customer": {
"customer_id": "8f3b2a1e-49d8-4c2d-9e1a-b7e6d5f8a3c2",
"full_name": "Acme Corporation",
"email": "[email protected]",
"phone": "+919876543210",
"created_at": "2026-05-20T10:14:33Z"
}
}Pin the customer_id in your own record — every subsequent RCS call
(sender config, message sends, conversation lookups) references it.
Errors
| Status | Reason | Response |
|---|---|---|
400 | Missing or invalid field | { "success": false, "message": "valid email required" } |
401 | Missing or invalid partner auth | { "success": false, "message": "unauthorized" } |
409 | Email already on the roster | { "success": false, "message": "a customer with this email already exists", "field": "email" } |
409 | Phone already on the roster | { "success": false, "message": "a customer with this phone already exists", "field": "phone" } |
500 | Database error | { "success": false, "message": "database error" } |
cURL
curl -X POST \
https://api.splashifypro.com/api/v1/partner/customers \
-H "Authorization: Bearer $SPLASHIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"full_name": "Acme Corporation",
"email": "[email protected]",
"phone": "+919876543210"
}'Notes
- Authentication — same as the rest of the partner API: send your
partner API key as
Authorization: Bearer <key>. - Idempotency — POST is not idempotent. Calling it twice with the
same email or phone returns
409on the second call. If you need retry-safety, look up the customer by email first (a list endpoint is on the roadmap). - Normalisation — the server normalises email (
lowercase + trim) and phone (digits + optional leading+) before checking uniqueness and before storing.