Skip to content

Contact API

Every legacy endpoint in this category and its replacement in the new Oneserve API (where one exists).

Legacy Status Replacement Notes
contact Replaced POST /v1/contacts The legacy /rest/contact/contact upsert is split across three operations in the new API. Pick the right one for what you're doing:
(see the endpoint page for the full call sequence)
Site association is now an explicit operation; the legacy endpoint did this implicitly as part of the upsert payload.
getSite Replaced GET /v1/sites/{id}
getSites Replaced GET /v1/sites Legacy supported a startDate/endDate "modified-since" filter (returning sites changed in the period including contact/attribute changes). The new endpoint filters by siteRef/clientId only - there is no equivalent date-range/changed-since filter.
location Replaced POST /v1/sites Legacy /rest/contact/location was an upsert by locationRef and accepted an optional attributes section. The new API splits this into POST /v1/sites (create) and PATCH /v1/sites/{id} (update); custom site attributes are not part of the v1 sites payload.
locationContact Replaced POST /v1/sites Legacy /rest/contact/locationContact created a Site and a Contact (plus the SiteContact link) in a single call. The new API needs three:
(see the endpoint page for the full call sequence)
No atomic upsert: each step is independent. If a later call fails you'll need to compensate (delete the orphaned site/contact, or retry the link).
locationV1 Replaced POST /v1/sites Legacy /rest/contact/location was an upsert by locationRef. The new API splits this into POST /v1/sites (create) and PATCH /v1/sites/{id} (update). The ignoreUsageTypeOnUpdate legacy flag has no direct equivalent.
worklog No replacement Legacy /rest/contact/workLog (POST) created a Work Log and optionally a Location and Contact in a single call. The new API has no equivalent "create work log" endpoint - the Work Logs tag in v1 only exposes metadata key/value lookups. Sites and contacts are now created separately via POST /v1/sites and POST /v1/contacts; work-log creation as a top-level concept is not exposed by the new API.