Replaces every updatable field of a contractor (BF-7493).
Full replace. Required, and a 400 naming each one when missing or null: firstName, lastName, emailAddress, isElectronicDelivery, is1099, isSickTimeEnabled, isVacationTimeEnabled, isHealthInsuranceEnabled. Every other updatable field that is absent or null is cleared - including socialSecurityNumber, dateOfBirth, routingNumber and accountNumber; to change only some fields use PATCH. Field names are those of GET: merge data.contractorData and data.contractorUserProfile into one object and send it back. Keys that are not updatable (isActive, userId, atsSyncId, userName, ...) are ignored; isActive is never written. customFields changes only the fields listed, as [{ customFieldName, customFieldItemName }]; an empty customFieldItemName clears one; absent or null leaves custom fields alone. Rules such as zip code, phone or SSN format apply only to values that change. A contractorId in the body must equal the route. When every value equals the stored one nothing is written. dateOfBirth must be a calendar date yyyy-MM-dd; a changed value with a time zone (Z or an offset) is a 400. Error messages never repeat personal values, except that custom-field errors name the custom field and list item.
Path parameters
Contractor to update.
Headers
Request body
Response
Success
Changes
No recorded changes to this endpoint across all 8 revisions of this API.