Skip to main content
POST
/
contacts
Create or upsert contact
curl --request POST \
  --url https://api.callaidan.com/contacts/ \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "full_name": "<string>",
  "email": "<string>",
  "phone_number": "<string>",
  "business_name": "<string>",
  "notes": "<string>",
  "tags": [
    "<string>"
  ],
  "is_dnd": true,
  "lead_source": "<string>",
  "custom_fields": {}
}
'

Authorizations

Authorization
string
header
required

Company API Key

Body

application/json

Contact fields (see schema for normalization and merge rules)

full_name
string

Title-cased; split into first and last name

email
string

Lowercased; optional

phone_number
string

Normalized using the company country when present

business_name
string
notes
string
tags
string[]

On existing contact, new tags are merged with existing tags (deduplicated)

is_dnd

Boolean or common string variants (e.g. truthy/falsy strings)

lead_source
string

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

custom_fields
object

Map of custom field name to value. Only keys that exist as company CustomField names are stored

Response

Upsert successful; no response body