curl -X PATCH "https://api.usegately.com/api/v1/contacts/CONTACT_ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Project-ID: YOUR_PROJECT_ID" \
-H "Content-Type: application/json" \
-d '{
"status": "inactive",
"notes": "Churned after trial"
}'
const res = await fetch('https://api.usegately.com/api/v1/contacts/CONTACT_ID', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'X-Project-ID': 'YOUR_PROJECT_ID',
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 'inactive', notes: 'Churned after trial' }),
})
const contact = await res.json()
import { GatelyContacts } from '@gately/sdk'
const crm = new GatelyContacts({ projectId: 'YOUR_PROJECT_ID' })
const updated = await crm.update('CONTACT_ID', {
status: 'inactive',
notes: 'Churned after trial',
})
{
"id": "a1b2c3d4-e5f6-4789-abcd-ef1234567890",
"name": "Jane Smith",
"email": "jane@example.com",
"status": "inactive",
"notes": "Churned after trial",
"last_contacted_at": "2025-06-15T14:30:00.000Z",
"updated_at": "2025-06-15T14:30:00.000Z"
}
Contacts
Update Contact
Partially update a contact — only the fields you send are changed
PATCH
/
api
/
v1
/
contacts
/
{contactId}
curl -X PATCH "https://api.usegately.com/api/v1/contacts/CONTACT_ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Project-ID: YOUR_PROJECT_ID" \
-H "Content-Type: application/json" \
-d '{
"status": "inactive",
"notes": "Churned after trial"
}'
const res = await fetch('https://api.usegately.com/api/v1/contacts/CONTACT_ID', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'X-Project-ID': 'YOUR_PROJECT_ID',
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 'inactive', notes: 'Churned after trial' }),
})
const contact = await res.json()
import { GatelyContacts } from '@gately/sdk'
const crm = new GatelyContacts({ projectId: 'YOUR_PROJECT_ID' })
const updated = await crm.update('CONTACT_ID', {
status: 'inactive',
notes: 'Churned after trial',
})
{
"id": "a1b2c3d4-e5f6-4789-abcd-ef1234567890",
"name": "Jane Smith",
"email": "jane@example.com",
"status": "inactive",
"notes": "Churned after trial",
"last_contacted_at": "2025-06-15T14:30:00.000Z",
"updated_at": "2025-06-15T14:30:00.000Z"
}
Headers
string
required
Bearer YOUR_API_KEYstring
Your project UUID. Not required if the API key already encodes the project.
Path Parameters
string
required
The contact UUID
Request Body
All fields are optional. Only the fields you include will be updated.string
Full name
string
Email address
string
Phone number
string
Mobile number
string
Company name
string
new · active · inactive · archivedstring
Internal notes
string
First name
string
Last name
string
City
string
State or province
string
Postal / ZIP code
string
Country
object
Replaces the entire
custom_fields object. Use the custom fields endpoint for a merge-patch instead.string[]
Replaces all existing tags on the contact when provided.
boolean
Set to
true to mark as unsubscribed. Prefer the dedicated unsubscribe endpoint for a full audit trail.Response
Returns the updated contact object.curl -X PATCH "https://api.usegately.com/api/v1/contacts/CONTACT_ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Project-ID: YOUR_PROJECT_ID" \
-H "Content-Type: application/json" \
-d '{
"status": "inactive",
"notes": "Churned after trial"
}'
const res = await fetch('https://api.usegately.com/api/v1/contacts/CONTACT_ID', {
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'X-Project-ID': 'YOUR_PROJECT_ID',
'Content-Type': 'application/json',
},
body: JSON.stringify({ status: 'inactive', notes: 'Churned after trial' }),
})
const contact = await res.json()
import { GatelyContacts } from '@gately/sdk'
const crm = new GatelyContacts({ projectId: 'YOUR_PROJECT_ID' })
const updated = await crm.update('CONTACT_ID', {
status: 'inactive',
notes: 'Churned after trial',
})
{
"id": "a1b2c3d4-e5f6-4789-abcd-ef1234567890",
"name": "Jane Smith",
"email": "jane@example.com",
"status": "inactive",
"notes": "Churned after trial",
"last_contacted_at": "2025-06-15T14:30:00.000Z",
"updated_at": "2025-06-15T14:30:00.000Z"
}
Was this page helpful?