v1

latestOpenAPI 3.1.02026-07-261770816.7 KB
Candidate Educations

Create candidate education

Add a new education entry to a candidate's profile. candidate_id is required; school, degree, and discipline are optional but must reference existing custom-field option ids (look these up via GET /v3/custom_field_options for the org's school_name, degree, and discipline custom fields, or create new options via POST /v3/custom_field_options first). Provide either start_date/end_date as ISO 8601 dates, or the month/year component pairs when only that granularity is known — the Greenhouse UI displays month-and-year regardless. Greenhouse recomputes latest automatically.

post/v3/candidate_educations

Request body

candidate_idinteger required
school_name_custom_field_option_idinteger
degree_custom_field_option_idinteger
discipline_custom_field_option_idinteger
start_datestring date
end_datestring date
start_date_monthinteger
start_date_yearinteger
end_date_monthinteger
end_date_yearinteger

Response

Successful

idinteger
created_atstring date-time
updated_atstring date-time
candidate_idinteger

Id of the candidate (person) this education entry belongs to.

school_name_custom_field_option_idinteger nullable

Id of the custom-field option representing the school. Resolve the display name via GET /v3/custom_field_options?ids=<id>; the school dictionary lives under the org's school_name custom field.

degree_custom_field_option_idinteger nullable

Id of the custom-field option representing the degree (e.g. Bachelor's, Master's). Resolve the display name via GET /v3/custom_field_options?ids=<id>; the degree dictionary lives under the org's degree custom field.

discipline_custom_field_option_idinteger nullable

Id of the custom-field option representing the field of study (e.g. Computer Science). Resolve the display name via GET /v3/custom_field_options?ids=<id>; the discipline dictionary lives under the org's discipline custom field.

start_atstring date-time nullable

Start date the education entry covers, in ISO 8601. Only the month and year are surfaced on the candidate profile; any day/time component is stored but ignored by the Greenhouse UI.

end_atstring date-time nullable

End date the education entry covers, in ISO 8601. null for in-progress education. Only the month and year are surfaced on the candidate profile.

latestboolean

true when this is the candidate's most recent education (by end_at). Greenhouse maintains this flag automatically — at most one education per candidate has latest: true.

start_date_monthinteger nullable

Month component (1-12) of the education's start, when only month/year granularity is known.

start_date_yearinteger nullable

Year component (e.g. 2014) of the education's start, when only month/year granularity is known.

end_date_monthinteger nullable

Month component (1-12) of the education's end, when only month/year granularity is known.

end_date_yearinteger nullable

Year component (e.g. 2018) of the education's end, when only month/year granularity is known.