This release introduces a new read-only isPrivate boolean field on candidate notes, which determines the visibility of the note thread.

Data Model Changes

  • isPrivate is included only on parent notes.
  • The value applies to the entire note thread, including replies.

Affected Endpoints

  • GET /candidates/{id}/notes
    • Returns the isPrivate field on parent notes.
  • POST /candidates/{id}/notes
    • Returns isPrivate: false for newly created notes.
    • Private notes cannot be created via the API.
  • PATCH /candidates/{id}/notes/{noteId}
    • Returns the current value of the isPrivate field.
    • The field cannot be updated via the API.

Notes

  • isPrivate is a read-only, informational field.
  • Visibility settings can only be changed from the join app and cannot be changed through public APIs.

This release introduces new replies field for candidate notes.

  • Added replies array to the note object in GET /candidates/{id}/notes. If there are no note replies the array is empty [].

  • Updated the DELETE/candidates/{id}/notes/{noteId} to also delete all note replies associated with that note.


This release introduces new candidate fields and improved application status tracking.

  • Added professionalLinks to the candidate object in GET /applications and GET /applications/{id}.
    Includes type (e.g. 'LINKEDIN') and url. Sorted alphabetically by type. Only non-null URLs are returned.

  • Added state and currentStage fields in GET /applications and GET /applications/{id} responses.

    • state (enum): SCREENING, QUALIFIED, OFFER, HIRED, REJECTED
    • currentStage (object): contains id, name, index.
      • name (enum): SCREENING, INTERVIEW, CASE_STUDY, PHONE_CALL, ASSESSMENT, OFFER, HIRED
  • Added state (enum) as a query parameter in GET /applications.

  • Deprecated qualified (query parameter and response field) in GET /applications and GET /applications/{id}. Still supported for backward compatibility.