BetaThe V4 API is in beta — endpoints and functionality may change.
Contactsv4

Create a contact

POST/contacts

Creates a contact, optionally with one identity (phone/email on a channel type).

Headers

AuthorizationRequiredstring

Your API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.

Bearer

Body parameters

JSON
nameoptionalstring
identifieroptionalstring

Phone (E.164) or email to attach as the first identity.

channel_typeoptionalstring
"blooio""twilio""whatsapp""whatsapp_business""rcs_business""amb"
channel_idoptionalstring

Required when channel_type is amb.

Returns

dataoptionalContact
idoptionalstring

Contact id (ct_...).

nameoptionalstring | null
created_atoptionalinteger
identitiesoptionalobject[]

Array of object

idoptionalstring
channel_typeoptionalstring
"blooio""twilio""whatsapp""whatsapp_business""rcs_business""amb"
identifieroptionalstring
channel_idoptionalstring | null
created_atoptionalinteger

Response codes

201Created contact
400The request was malformed — check the path, query parameters, and body.
401Your API key is missing or invalid. Pass it as a bearer token.
422Validation failed — one or more fields in the request are invalid or missing.

Sends a live request with your values and shows the real response below. Your key is stored only in this browser.

Request
curl -X POST https://api.blooio.com/v4/contacts \  -H "Authorization: Bearer bl_live_..." \  -H "Content-Type: application/json" \  -d '{    "name": "Jane Doe",    "identifier": "+15551234567",    "channel_type": "blooio",    "channel_id": "ch_a1b2c3d4"  }'
Body object
Response objectexample
{  "data": {    "id": "ct_a1b2c3d4",    "name": "Jane Doe",    "created_at": 0,    "identities": [      {        "id": "obj_a1b2c3d4",        "channel_type": "blooio",        "identifier": "+15551234567",        "channel_id": "ch_a1b2c3d4",        "created_at": 0      }    ]  }}