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

Update contact card

PUT/me/numbers/{number}/contact-card

Update the personal contact card (Name & Photo) for the specified phone number. All fields are optional — only provided fields are updated.

⚠️ Plan requirement: Setting the first_name, last_name, or avatar is only available on Dedicated Commercial and Dedicated Enterprise plans. Numbers on other plans receive a 403.

Path parameters

numberRequiredstring

E.164 phone number (URL-encoded, e.g., %2B15551234567)

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
first_nameoptionalstring

First name

last_nameoptionalstring

Last name

avataroptionalstring

Profile photo as base64-encoded JPEG/PNG

sharingoptionalobject
enabledoptionalboolean

Enable/disable Name & Photo sharing

audienceoptionalinteger

0 = Contacts Only, 1 = Always Ask

name_formatoptionalinteger

0 = First & Last, 1 = First Only

Returns

successoptionalboolean
phone_numberoptionalstring
first_nameoptionalstring | null
last_nameoptionalstring | null

Response codes

200Contact card updated
400Invalid request parameters
401Authentication required or invalid
403Phone number not accessible with this API key
404Resource not found
502Temporary communication error

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

Request
curl -X PUT https://api.blooio.com/v2/api/me/numbers/%2B15551234567/contact-card \  -H "Authorization: Bearer bl_live_..." \  -H "Content-Type: application/json" \  -d '{    "first_name": "Jane",    "last_name": "Doe",    "avatar": "https://example.com/image.jpg",    "sharing": {      "enabled": true,      "audience": 0,      "name_format": 0    }  }'
Body object
Response objectexample
{  "success": true,  "phone_number": "+15551234567",  "first_name": "Jane",  "last_name": "Doe"}