Skip to main content
PATCH
/
contacts
/
{contact_id}
Update Contact
curl --request PATCH \
  --url https://api.callaidan.com/contacts/{contact_id}/ \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "full_name": "<string>",
  "first_name": "<string>",
  "last_name": "<string>",
  "email": "<string>",
  "phone_number": "<string>",
  "business_name": "<string>",
  "notes": "<string>",
  "tags": [
    "<string>"
  ],
  "is_dnd": true,
  "lead_source": "<string>",
  "custom_fields": {}
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "email": "<string>",
  "phone": "<string>",
  "business_name": "<string>",
  "notes": "<string>",
  "tags": [
    "<string>"
  ],
  "lead_source": "<string>",
  "is_dnd": true,
  "profile_picture_url": "<string>",
  "last_activity": "2023-11-07T05:31:56Z",
  "created_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Company API Key

Path Parameters

contact_id
string<uuid>
required

The ID of the contact

Body

application/json

Fields to update (all optional; only sent keys are applied)

full_name
string

Also updates first_name and last_name via parse_name_fields

first_name
string
last_name
string
email
string

Empty string is stored as null

phone_number
string

Assigned as provided (no normalization in this handler)

business_name
string
notes
string
tags
string[]

Replaces the entire tags array

is_dnd
boolean
lead_source
string

Should be one of: manual, api, webhook, facebook, instagram, import. Invalid values are stored as manual

custom_fields
object

Same semantics as POST: only keys matching company CustomField names are stored

Response

Contact updated successfully

id
string<uuid>
name
string | null
email
string | null
phone
string | null
business_name
string | null
notes
string | null
tags
string[]
lead_source
string
is_dnd
boolean
profile_picture_url
string | null
last_activity
string<date-time> | null
created_at
string<date-time> | null