WundertreOS

Update contact

Patch any subset of fields on an existing contact.

PATCH/api-contacts/:id
Try it
PATCH

Create an API key in your workspace under Settings → Integrations & API.

Requires the contacts:write scope. Only fields you include are updated; everything else is left untouched. Unknown fields are silently dropped.

Path parameters

Path
NameTypeDescription
idrequireduuidThe contact ID. Must belong to the caller's organization.

Updatable fields

first_name, last_name, email, phone, company, company_id, job_title, industry, address_line1, address_line2, city, state, zip, country, tags, status, stage, source, notes, linkedin_url, score.

System fields (id, org_id, created_at, updated_at, created_by, enriched_at, enrichment_status) cannot be set via this endpoint.

Example request

bash
curl -X PATCH \
  'https://api.wundertreos.com/functions/v1/api-contacts/c8b1f3a0-4d2e-4f9a-9b1c-2d4e5f6a7b8c' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "tags": ["lead", "qualified"],
    "stage": "qualified",
    "score": 82
  }'

Response

Returns the updated contact (same shape as Get contact):

json
{ "data": { "id": "c8b1f3a0-…", "tags": ["lead", "qualified"], "stage": "qualified", "score": 82, "updated_at": "2026-05-17T14:05:00Z" } }

Errors

StatuserrorWhen
400invalid_requestThe body has no updatable fields, or is not valid JSON.
403forbiddenThe credential lacks the contacts:write scope.
404not_foundNo contact with that ID in the caller's organization.