Update a contact
Update an existing contact’s information. All fields are optional, allowing partial updates.
Update Behavior
- No fields are required - you can update just one field or multiple fields
- Only fields provided in the request will be updated; all other fields remain unchanged
company_idis optional - if not provided, the existing company association will be preserved- If
company_idis provided, it must be a valid, non-empty integer that exists in the system - Changing the
company_idwill move the contact to the new company
B2B Portal Login
Include password (min 8 characters) to create or update the B2B client portal login.
The contact must have an email set (either existing or provided in the same request).
Changing email without password on a contact that already has a portal login will
update the linked login’s email to match (422 if that email is already used by another login).
Examples
# Update only email
POST /contacts/123
{
"email": "newemail@example.com"
}
# Update multiple fields
POST /contacts/123
{
"first_name": "Updated",
"last_name": "Name",
"phone_1": "555-1234"
}
# Change company association
POST /contacts/123
{
"company_id": 456
}
# Update without changing company (company_id omitted)
POST /contacts/123
{
"email": "updated@example.com",
"is_primary": true
}
Authorizations
Authenticate using a bearer token. To create a token, navigate to /settings/api-tokens and click Create API Token.
Path Parameters
The unique identifier of the contact
Body
Contact's first name
255"John"
Contact's last name
255"Smith"
ID of the company this contact belongs to.
For updates:
- Optional - if not provided, the existing company association will be preserved
- If provided, must be a valid, non-empty integer that exists in the system
- Cannot be an empty string or null if included in the request
- Changing the
company_idwill move the contact to the new company
123
Contact's email address
255"john.smith@acmecorp.com"
Contact's primary phone number
255"555-987-6543"
Contact's secondary phone number
255"555-555-5555"
Bank name for receiving payments
255Bank address for receiving payments
255Whether this is the primary contact for the company
false
Whether the contact should receive quotation PDFs
false
Whether the contact should receive purchase order PDFs
false
Whether the contact should receive purchase order invoice PDFs
false
Tags to associate with the contact
255Multiple company associations (alternative to company_id)
1Optional. Creates or updates the B2B client portal login for this contact.
The contact must have an email set (either existing or provided in the same request).
Changing email without password on a contact that already has a portal login
will update the linked login's email to match.
8 - 255Response
Contact successfully updated