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.

ParameterTypeDescription
partialbooleanWhen 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=true whenever 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, sending emails replaces the whole emails array β€” include the ones you want to keep.
  • API reference β€” the writable fields for each resource.
  • Errors β€” what a rejected update looks like and how to fix it.