Skip to Content
API ReferenceCustomersCreate customer

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/customers

Request body

{ "full_name": "Acme Corporation", "email": "[email protected]", "phone": "+919876543210" }
FieldTypeRequiredNotes
full_namestringyesCustomer name; minimum 2 characters
emailstringyesRFC-shape email; stored lowercased + trimmed for the uniqueness check
phonestringyes7–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

StatusReasonResponse
400Missing or invalid field{ "success": false, "message": "valid email required" }
401Missing or invalid partner auth{ "success": false, "message": "unauthorized" }
409Email already on the roster{ "success": false, "message": "a customer with this email already exists", "field": "email" }
409Phone already on the roster{ "success": false, "message": "a customer with this phone already exists", "field": "phone" }
500Database 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 409 on 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.