Create Contact
Add a new contact to your Splashify Pro address book. Useful for pushing sign-ups, leads, or CRM records into Splashify so you can message and segment them.
Endpoint
POST
https://api.splashifypro.com/api/v1/public/contacts
Headers
Request body
json
{
"phone_number": "919876543210",
"display_name": "John Doe",
"email": "[email protected]",
"website_url": "https://example.com",
"tags": ["lead", "website"],
"custom_fields": {
"company": "Acme Inc",
"plan": "pro"
},
"notes": "Imported from CRM on signup"
}Example
bash
curl -X POST https://api.splashifypro.com/api/v1/public/contacts \
-H "Authorization: Basic YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "919876543210",
"display_name": "John Doe",
"email": "[email protected]",
"tags": ["lead", "website"]
}'Successful response — 201 Created
json
{
"result": true,
"message": "Contact created successfully",
"contact": {
"id": "a537a43e-49b7-4306-9763-6a97417de0bb",
"whatsapp_id": "919876543210",
"phone_number": "919876543210",
"display_name": "John Doe",
"email": "[email protected]",
"website_url": "",
"tags": ["lead", "website"],
"custom_fields": { },
"notes": "",
"created_at": "2026-06-20T08:48:02Z"
}
}Keep the returned contact.id — you can pass it as contact_id to the tag, note, and delete endpoints instead of phone_number.
Error response — contact already exists — 409 Conflict
json
{
"result": false,
"message": "A contact with this phone number already exists",
"id": "a537a43e-49b7-4306-9763-6a97417de0bb"
}The id field carries the existing contact's UUID so you can update it instead.
Status codes
Implementation tips
- Normalize phone numbers at the boundary — strip
+, spaces, dashes, parentheses before sending. Only digits are accepted. - Treat
409as "already imported" — fetch the returnedidand use the tag / note endpoints to enrich it. - Pair with Get Users to read contacts back, and the tag / note endpoints to enrich them.