Update a contact
Change a contact. Send only what changes.
PATCH
/api/v1/contacts/:idScope
contacts:writeChanges only the fields you send. Two behave specially:
listIdsreplaces the contact's lists. To add or remove one list's people without touching their other lists, use add people and remove people.customFieldschanges only the keys you send; the others keep their values. Sendnullfor a key to clear it.
Path parameters
Prop
Type
Body
Send a JSON object.
Prop
Type
Example request
curl -X PATCH "https://api.pedibee.com/api/v1/contacts/66f1c2a9e4b0a1b2c3d4e5f6" \
-H "Authorization: Bearer $PEDIBEE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"stage": "REPLIED",
"customFields": {
"seats": 40,
"plan": null
}
}'Response
The updated contact.
{
"id": "66f1c2a9e4b0a1b2c3d4e5f6",
"email": "jane@northwind.io",
"name": "Jane Cooper",
"title": "CTO",
"phone": "+1 555 0100",
"linkedIn": "https://www.linkedin.com/in/janecooper",
"notes": null,
"stage": "REPLIED",
"source": "MANUAL",
"verified": false,
"emailConfidence": 0,
"customFields": {
"seats": 40
},
"leadId": "66f1c2a9e4b0a1b2c3d4e001",
"listIds": [
"66f1c2a9e4b0a1b2c3d4e101"
],
"createdAt": "2026-10-05T09:30:00.000Z",
"updatedAt": "2026-10-05T09:30:00.000Z"
}Errors
Every error is { "error": "…" } with a message you can show. See Errors and limits.
| Status | When |
|---|---|
400 | A value is invalid, or a custom field is unknown or has the wrong kind of value. |
403 | The key doesn’t have contacts:write, or its creator’s role no longer allows it. |
404 | No contact with this id in your workspace. |
409 | Another contact already has the new email. |
401 | The API key is missing, invalid, revoked or expired. |
429 | Too many requests. Wait for the seconds in Retry-After. |