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.
Maintained by the OnePageCRM engineering team · 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.