contacts:write| Parameter | Type | Description |
|---|---|---|
id | integer | Required. The contact ID to update |
| Field | Type | Validation | Description |
|---|---|---|---|
firstname | string | max:255 | First name |
lastname | string | max:255 | Last name |
phone | string | max:20, unique per tenant (excludes current contact) | Phone number |
type | string | lead, customer, guest | Contact type |
source_id | integer | must exist in tenant sources | Source ID |
status_id | integer | must exist in tenant statuses | Status ID |
email | string | email, max:191, unique per tenant (excludes current contact) | Email address |
company | string | max:255 | Company name |
description | string | — | Additional notes |
city | string | max:255 | City |
state | string | max:255 | State/province |
zip | string | max:20 | ZIP/postal code |
address | string | max:500 | Street address |
country_id | integer | — | Country ID |
assigned_id | integer | — | User ID to assign contact to |
groups | array | array of integers | Array of group IDs (replaces existing groups) |
Note: When groupsis provided, it replaces the existing group assignments entirely. Omitgroupsto keep current assignments unchanged.
message: "Contact updated successfully".| Status | Code | Description |
|---|---|---|
| 404 | NOT_FOUND | Contact not found |
| 422 | VALIDATION_ERROR | Validation failed (duplicate phone/email, invalid source_id/status_id) |
| 500 | INTERNAL_ERROR | Failed to update contact |
| Field | Message |
|---|---|
phone | This phone number already exists |
email | This email address already exists |
type | Type must be either lead, customer, or guest |
source_id | The selected source does not exist or does not belong to your account |
status_id | The selected status does not exist or does not belong to your account |
curl --location --request PATCH '/contacts/1' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"firstname": "Test Edited",
"type": "customer",
"phone": "+919587422369",
"status_id": 288,
"description": "Test one contact edited",
"city": "Baroda"
}'{}