API
Partial updates
By default a PUT replaces every field on a record. Pass partial=true to send only the fields you want to change.
Last updated Jul 11, 2026
By default, a PUT request replaces the whole record β any field you
leave out is treated as empty. Pass partial=true and only the fields in
your request body are changed; everything else is left as-is.
| Parameter | Type | Description |
|---|---|---|
partial | boolean | When true, update only the fields sent in the body |
Example
Change just a contactβs job title, leaving name, emails, and everything else untouched:
curl -X PUT -u "USER_ID:API_KEY" \
-H "Content-Type: application/json" \
"https://app.onepagecrm.com/api/v3/contacts/CONTACT_ID.json?partial=true" \
-d '{"job_title": "Head of Partnerships"}'
Without partial=true, the same request would blank out every field you
didnβt include.
Tips
- Reach for
partial=truewhenever youβre changing a subset of fields. It avoids having to fetch the record, merge your change, and send the whole thing back β and avoids accidentally clearing a field. - Full replacement is still the default. If you want to overwrite the whole record, omit the flag and send every field.
- Arrays replace, they donβt merge. Even with
partial=true, sendingemailsreplaces the whole emails array β include the ones you want to keep.
What to read next
- API reference β the writable fields for each resource.
- Errors β what a rejected update looks like and how to fix it.