Skip to main content
Use this endpoint to update the profile fields of an existing contact. All body fields are optional — only the fields you include will be modified, leaving the rest unchanged. You can identify the contact by their Shilo UUID or by your external contact ID. This endpoint requires a write-enabled API key.

Endpoint

Authentication

Include your write-enabled API key in the request header:

Path Parameters

string
required
The identifier used to look up the contact. Three formats are supported:

Request Body

All fields are optional. Submit only the fields you want to update.
string
Updated full display name for the contact.
string
Updated first name.
string
Updated last name.
string
Updated primary phone number. Any standard formatting is accepted.
string[]
Updated list of email addresses. This replaces the existing emails array in full.
string
Updated human-readable pipeline stage label.
string
Updated pipeline stage ID from your system.
string
Updated human-readable lead source label.
string
Updated lead source ID from your system.
string[]
Updated list of tags. This replaces the existing tags array in full.

Response

A successful request returns HTTP 200 with the full updated Contact object.

Response Fields

string
The Shilo-assigned UUID for this contact.
string
The contact ID from your external CRM or system of record.
string
Full display name of the contact.
string
Contact’s first name.
string
Contact’s last name.
string
Primary phone number.
array of strings
Email addresses associated with the contact.
string
Current pipeline stage label.
string
Pipeline stage ID from your system.
string
Lead source label.
string
Lead source ID from your system.
array of strings
Tags applied to the contact.
string
ISO-8601 timestamp indicating when this contact was created in Shilo.

Example Response

Error Codes

Example Request