Skip to main content
PUT
/
v1
/
contacts
Update multiple contacts
curl --request PUT \
  --url https://api.prod.getdex.com/v1/contacts/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "contactId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "data": {
      "full_name": "<string>",
      "first_name": "<string>",
      "last_name": "<string>",
      "description": "<string>",
      "job_title": "<string>",
      "legacy_location": "<string>",
      "company": "<string>",
      "education": "<string>",
      "starred": true,
      "source": "linkedin_sync",
      "coordinates": {
        "operation": "set",
        "data": {
          "latitude": 123,
          "longitude": 123
        }
      },
      "image_url": "<string>",
      "image_source": "<string>",
      "business_card_url": "<string>",
      "website": "<string>",
      "birthday": "2023-12-25",
      "birthday_year": 2000,
      "frequency": "<string>",
      "last_seen_at": "2023-11-07T05:31:56Z",
      "never_keep_in_touch": true,
      "next_reminder_at": "2023-11-07T05:31:56Z",
      "linkedin": "<string>",
      "twitter": "<string>",
      "facebook": "<string>",
      "instagram": "<string>",
      "telegram": "<string>",
      "tiktok": "<string>",
      "youtube": "<string>",
      "whatsapp_message_link": "<string>",
      "whatsapp_message_snippet": "<string>",
      "whatsapp_last_message_at": "2023-11-07T05:31:56Z",
      "imessage_message_link": "<string>",
      "imessage_message_snippet": "<string>",
      "imessage_last_message_at": "2023-11-07T05:31:56Z",
      "linkedin_message_link": "<string>",
      "linkedin_last_message_snippet": "<string>",
      "linkedin_last_message_at": "2023-11-07T05:31:56Z",
      "linkedin_data": {},
      "instagram_message_link": "<string>",
      "instagram_message_snippet": "<string>",
      "instagram_last_message_at": "2023-11-07T05:31:56Z",
      "gmail_last_interaction_at": "2023-11-07T05:31:56Z",
      "gmail_last_interaction_provider_id": "<string>",
      "gmail_last_interaction_subject": "<string>",
      "gmail_last_interaction_provider": "GOOGLE",
      "gcal_last_interaction_at": "2023-11-07T05:31:56Z",
      "gcal_last_interaction_provider_id": "<string>",
      "gcal_last_interaction_title": "<string>",
      "gcal_last_interaction_provider": "GOOGLE",
      "phone_call_last_interaction_at": "2023-11-07T05:31:56Z",
      "phone_call_interaction_snippet": "<string>",
      "web_search_summary": {},
      "legacy_contact_addresses": [
        {
          "formatted": "<string>"
        }
      ],
      "contact_emails": [
        {
          "email": "<string>",
          "label": "<string>",
          "ranking": 123
        }
      ],
      "contact_phone_numbers": [
        {
          "phone_number": "<string>",
          "country_code": "<string>",
          "phone_number_sanitized": "<string>",
          "label": "<string>",
          "ranking": 123
        }
      ],
      "groups_contacts": [
        {
          "group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        }
      ],
      "tags_contacts": {
        "append": [
          {
            "tag_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          }
        ],
        "remove": [
          {
            "tag_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          }
        ],
        "replace": "<unknown>"
      },
      "custom_fields": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "type": "input",
          "text_value": "<string>",
          "custom_field": "<unknown>"
        }
      ],
      "contact_birthdays": {
        "contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "last_dismissal_year": 2000
      },
      "is_archived": true,
      "ignore_merge": true,
      "related_contacts": {
        "append": [
          {
            "destination": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "source_contact": "<unknown>",
            "destination_contact": "<unknown>"
          }
        ],
        "remove": [
          {
            "source": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "destination": "<unknown>"
          }
        ],
        "replace": "<unknown>"
      }
    }
  }
]
'
{
  "error": true,
  "data": {
    "count": 123
  }
}

Use cases

  • Bulk-update a field across many contacts (e.g., set company name after a merger)
  • Archive or star multiple contacts at once
  • Sync batch changes from an external system
Only the fields you include in each contact object will be updated. Omitted fields remain unchanged.

Authorizations

Authorization
string
header
required

Use your Dex API key (e.g. dex_abc123...) as the Bearer token.

Body

application/json
contactId
string<uuid>
required
data
object
required

Response

Successful response

error
boolean
required
data
object
required