Skip to main content
PATCH
Update a saved vCard

Authorizations

Authorization
string
header
required

Your workspace API key, sent as Authorization: Bearer blu_.... Workspace admins can find it in the Blujay app under API.

An API key has full access to your workspace and works on every endpoint. There is no test mode: every key sends real messages and changes real data, so keep it secret and use it only from your server.

Each API key can make 600 read requests and 120 write requests per minute, plus 60 attachment requests per minute. Over a limit you get 429 RATE_LIMIT_EXCEEDED with Retry-After.

Path Parameters

vcard_id
string
required
Pattern: ^vcard_[A-Za-z0-9_-]+$
Example:

"vcard_abc123"

Body

application/json

Only the fields sent are changed. Unknown fields are rejected.

first_name
string
Required string length: 1 - 80
Example:

"Sam"

last_name
string | null
Maximum string length: 80
Example:

"Lee"

company
string | null
Maximum string length: 120
Example:

"Northwind"

title
string | null
Maximum string length: 120
Example:

"Support Lead"

phones
object[]

Phone numbers with the label recipients see. The first is the card's preferred number.

Maximum array length: 5
emails
object[]

Email addresses with the label recipients see.

Maximum array length: 5
website
string<uri> | null

An http or https URL.

Maximum string length: 2048
Example:

"https://example.com"

Response

The updated vCard.

Wraps every successful response. The result is in data.

status
enum<string>
required
Available options:
success
trace_id
string
required
Pattern: ^trc_[A-Za-z0-9_-]+$
Example:

"trc_8f2a1c0e4b7d"

timestamp
string<date-time>
required
Example:

"2026-10-14T17:01:00.000Z"

data
object
required
client_request_id
string

Your X-Request-ID header value, echoed back when you send one. Not included on the send responses (POST /v1/chats, POST /v1/chats/{chat_id}/messages, POST /v1/messages/{message_id}/retry); keep your own mapping from your request ID to the returned message ID there.