v1

latestOpenAPI 3.1.02026-07-261770816.7 KB
Notes

Create note

Create a candidate note, log an email, or record an activity-feed entry on a candidate. note_type selects which: NOTE posts to the Notes tab, EMAIL logs an email into the activity feed (and requires the email_* fields), and ACTIVITY writes a free-form activity-feed entry. Other note types (interview, feedback, touchpoint, LinkedIn, etc.) are produced by Greenhouse features and cannot be created through this endpoint. The note is always attached to candidate_id; pass application_id as well to anchor it to a specific application — that application must belong to the same candidate.

post/v3/notes

Request body

candidate_idinteger

Id of the candidate the note is attached to. Required for every note. When application_id is also supplied, the application must belong to this candidate.

{"stackTrail":"paths:/v3/notes:post:requestBody:content:application/json:schema:properties:body","oasType":"schema","type":"unknown","description":"Free-text body of the note. Newline characters (`\\n`) are stored verbatim and rendered as line breaks in the Greenhouse UI."}
{"stackTrail":"paths:/v3/notes:post:requestBody:content:application/json:schema:properties:subject","oasType":"schema","type":"unknown","description":"Subject line on the note. Required when `note_type` is `EMAIL`; optional for `NOTE` and `ACTIVITY`."}
note_type'EMAIL' | 'ACTIVITY' | 'NOTE' required

Classification of the note being created. NOTE posts a candidate note in the Notes tab; EMAIL logs an email into the activity feed and requires the email_* fields; ACTIVITY logs a free-form entry into the activity feed. Other note types (interview, feedback, touchpoint, etc.) are produced by Greenhouse features and cannot be created through this endpoint.

user_idinteger

Id of the Greenhouse user to record as the note's author. Defaults to the authenticated user when omitted.

email_fromstring[]

From addresses on the email being logged. Required when note_type is EMAIL and forbidden for other types.

email_tostring[]

To addresses on the email being logged. Required when note_type is EMAIL and forbidden for other types.

email_ccstring[]

Cc addresses on the email being logged. Required (may be an empty array) when note_type is EMAIL and forbidden for other types.

visibility'admin_only' | 'private' | 'public' required

Who will be able to see this note. public is visible to anyone with access to the candidate, private requires the "see private notes" permission, and admin_only is restricted to Job Admins and Site Admins.

application_idinteger

Id of the application to anchor this note to. The application must belong to candidate_id. Omit for candidate-level notes that are not tied to any single application.

Response

Successful

idinteger
created_atstring date-time
updated_atstring date-time
candidate_idinteger nullable

Id of the candidate this note is attached to. Notes are always anchored to a candidate; application_id is an optional second anchor for application-scoped notes.

application_idinteger nullable

Id of the application this note is attached to, when the note was authored against a specific application (for example a stage transition or a feedback note). null for candidate-level notes that are not tied to any single application.

bodystring nullable

Free-text body of the note. @-mentions are rendered as plain user names; use body_with_tags for the version that preserves mention markup. Newline characters are stored verbatim and rendered as line breaks in the Greenhouse UI.

subjectstring nullable

Subject line on the note. Always populated for EMAIL notes; usually null for other types.

type'NOTE' | 'ACTIVITY' | 'INTERVIEW' | 'EMAIL' | 'FOLLOW_UP' | 'TAKE_HOME_TEST' | 'LINKEDIN_NOTE' | 'LINKEDIN_INMAIL' | 'AVAILABILITY_REQUEST' | 'MIGRATION_ERROR' | 'TOUCHPOINT' | 'FORM' | 'FEEDBACK'

Note classification. NOTE and EMAIL are user-authored candidate notes and logged emails; ACTIVITY covers system-generated activity feed entries plus partner-logged activities. Other values (INTERVIEW, FEEDBACK, TOUCHPOINT, FOLLOW_UP, TAKE_HOME_TEST, LINKEDIN_NOTE, LINKEDIN_INMAIL, AVAILABILITY_REQUEST, FORM, MIGRATION_ERROR) identify notes produced by specific Greenhouse features and are read-only via this API.

user_idinteger nullable

Id of the Greenhouse user who authored the note. null for notes generated by the system rather than a specific user.

email_fromstring nullable

Comma-separated list of From addresses on the logged email. Only populated when type is EMAIL.

email_tostring nullable

Comma-separated list of To addresses on the logged email. Only populated when type is EMAIL.

email_ccstring[] nullable

Cc addresses on the logged email, one entry per recipient. Only populated when type is EMAIL.

import_hashstring nullable

Stable de-duplication key set when the note was created by a bulk import or migration. null for notes authored through the UI or Harvest. Use it to detect re-runs of the same import.

body_with_tagsstring nullable

body with @-mentions rendered as embedded user tags (e.g. @[User Name](user:123)) instead of plain user names, for partners that need to resolve mentioned users.

visibility'admin_only_visible' | 'privately_visible' | 'publicly_visible' | 'null' nullable

Who can see this note. publicly_visible is visible to anyone with access to the candidate, privately_visible is restricted to users with the "see private notes" permission, and admin_only_visible is restricted to Job Admins and Site Admins. Defaults to admin_only_visible on create.

email_attachment_file_namesstring nullable

File names of attachments on the logged email, when the source captured them. Only populated when type is EMAIL.