Added candidate.setFraudStatus endpoint to set a candidate's fraud status to Fraudulent, NotFraudulent, or Unsure. Requires the candidatesWrite permission and the Fraud Detection feature to be enabled.
Added fraudStatus field to the candidate.info response. Returns the candidate's fraud review status (Fraudulent, NotFraudulent, Unsure, Unreviewed, PassedFraudCheck, or null).
customField.create now supports creating custom fields with the UUID field type.
customField.setValue and customField.setValues now accept UUID string values for UUID-type custom fields. The value must be a valid UUID string (e.g., 550e8400-e29b-41d4-a716-446655440000).
Fixed a validation bug where non-string values passed to UUID fields were incorrectly accepted instead of being rejected.
The nested field object inside formDefinition (e.g. id, type, path, humanReadablePath, title, isNullable) is now documented as required, matching the Public API response shape. selectableValues remains optional.
Added surveyFormDefinitionId field to the survey submission object returned by surveySubmission.list, surveySubmission.create, and the surveySubmit webhook payload. This field allows integrations to reliably identify which survey form definition triggered a submission without inspecting individual field IDs.
InterviewSchedule.status returned by interviewSchedule.list may now return "OnHold" for schedules that are on hold, and "Unknown" for imported schedules that have no process status.
Removed the POST /location.updateRemoteStatus endpoint. Use POST /location.updateWorkplaceType instead to set a location's remote status via the workplaceType field (Remote, Hybrid, or OnSite).
Added candidate.removeTag endpoint to remove a tag from a candidate. Accepts candidateId and tagId and returns the updated candidate. If the tag was not on the candidate, the request succeeds and returns the candidate unchanged.