Greenhouse API Integration
These are the list of integration use cases supported by Knit for Greenhouse API as part of the ATS category
Delete Application by ID
ID
: delete_application_by_idOperation
: writeEntities
: prospect, application, candidateSummary
: This API deletes a candidate application by its ID. Only candidate applications can be deleted; prospect applications cannot be deleted. The request requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The application ID must be provided as a path parameter. Upon successful deletion, a confirmation message is returned in the response body.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Candidate by ID
ID
: delete_candidate_by_idOperation
: writeEntities
: candidateSummary
: This API deletes a candidate from the Greenhouse system using their unique ID. The request requires basic authentication and must include the 'On-Behalf-Of' header for auditing purposes. The candidate ID is specified in the path parameters. Upon successful deletion, the API returns a confirmation message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Remove Candidate Tag from Organization
ID
: delete_candidate_tag_from_organizationOperation
: writeEntities
: tag, candidate, organizationSummary
: This API endpoint is used to remove a candidate tag from an organization in Greenhouse. It requires the 'tag id' as a path parameter and the 'On-Behalf-Of' header for auditing purposes. The request is authorized using Basic Auth. Upon calling this endpoint, an asynchronous job is created to remove the tag from all candidates before deleting the tag itself. The process may take up to 24 hours to complete, and the success message indicates that the deletion job has been enqueued, not completed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Custom Field
ID
: delete_custom_fieldOperation
: writeEntities
: custom field, userSummary
: This API endpoint deletes a custom field by its ID using the DELETE method. The custom field is soft-deleted, meaning it is hidden from users but still retrievable via the API with its active flag set to false. The request requires Basic Authentication and optionally an 'On-Behalf-Of' header to specify the Greenhouse user ID. The response confirms the deletion of the custom field.Input Fields
: Input FieldsOutput Fields
: Output Fields
Destroy Custom Field Options
ID
: delete_destroy_custom_field_optionsOperation
: deleteEntities
: custom field, custom field optionSummary
: The 'Destroy Custom Field Options' API allows users to delete specific custom field options by providing their IDs. The request requires Basic Auth and an 'On-Behalf-Of' header for auditing. The endpoint is idempotent, meaning repeated requests with the same data will not change the outcome. The response includes a message indicating the number of options deleted and the number not found.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Education Record by Candidate and Education ID
ID
: delete_education_record_by_candidate_and_education_idOperation
: deleteEntities
: education record, user, candidateSummary
: This API deletes an education record for a specific candidate using the candidate's ID and the education record's ID. It requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The request does not require a body or query parameters. Upon successful deletion, it returns a JSON response indicating success and a message confirming the deletion of the specified education record.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Employment Record
ID
: delete_employment_recordOperation
: writeEntities
: user, employment record, candidateSummary
: This API deletes an employment record for a specific candidate using their candidate ID and employment ID. It requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The API returns a success status and a message indicating the result of the deletion.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Job Openings
ID
: delete_job_openingsOperation
: writeEntities
: opening, jobSummary
: The Delete Job Openings API allows users to delete closed, unfilled job openings for a specified job ID. The request requires the 'On-Behalf-Of' header for auditing and Basic Auth for authorization. The body must include an array of unique opening IDs to delete. The response will indicate success and provide lists of successfully deleted IDs and IDs that could not be deleted due to various reasons, such as non-existence or being tied to an application. If the user lacks permissions or the organization has deactivated the ability to destroy openings, a 403 error will be returned.Input Fields
: Input FieldsOutput Fields
: Output Fields
Remove Hiring Team Member
ID
: delete_remove_hiring_team_memberOperation
: writeEntities
: user, job, hiring teamSummary
: The 'Remove Hiring Team Member' API allows users to remove members from a hiring team for a specific job by providing their user IDs. The API requires basic authentication and the request must include the job ID in the path parameters. The request body can include arrays of user IDs for hiring managers, sourcers, recruiters, and coordinators to be removed. If a user ID does not exist in the hiring team, it will be ignored without raising an error. The API returns a success message upon successful removal of the specified team members.Input Fields
: Input FieldsOutput Fields
: Output Fields
Remove a tag from a candidate
ID
: delete_remove_tag_from_candidateOperation
: writeEntities
: tag, candidateSummary
: This API endpoint allows you to remove a tag from a specific candidate in the Greenhouse system. It requires the candidate's ID and the tag's ID as path parameters. The request must include the 'On-Behalf-Of' header for auditing purposes, which contains the ID of the user making the request. Upon successful deletion, the API returns a confirmation message indicating that the tag has been removed from the candidate.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete a Scheduled Interview by ID
ID
: delete_scheduled_interview_by_idOperation
: writeEntities
: interview, user, scheduled interviewSummary
: This API endpoint allows you to delete a scheduled interview by its ID. Only interviews created through harvest and in the statuses 'Scheduled' or 'Awaiting Feedback' can be deleted. The request requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The response returns a confirmation message indicating the successful deletion of the interview.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete User's Job Permission
ID
: delete_user_job_permissionOperation
: writeEntities
: user, job permissionSummary
: This API endpoint allows the removal of a user's job permission by sending a DELETE request to the specified URL. The request requires Basic Auth for authorization and must include the 'On-Behalf-Of' header for auditing purposes. The path parameter 'id' specifies the user whose job permission is to be removed. The request body must contain the 'job_permission_id' to identify which job permission to delete. Upon successful deletion, the API returns a confirmation message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete User's Future Job Permission
ID
: delete_users_future_job_permissionOperation
: writeEntities
: user, future job permissionSummary
: This API endpoint allows the removal of a user's future job permission by sending a DELETE request to the specified URL. The request requires Basic Auth for authorization and must include the 'On-Behalf-Of' header for auditing purposes. The path parameter 'id' specifies the user whose permission is being removed. The request body must contain the 'future_job_permission_id' to identify which permission to delete. Upon successful deletion, the API returns a confirmation message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve All Degree and Education Levels
ID
: get_all_degree_and_education_levelsOperation
: readEntities
: degree, education level, organizationSummary
: This API endpoint retrieves all the degree and/or education levels for the organization, sorted by priority. It requires Basic Authentication for access. The response is an array of objects, each representing a degree with its unique ID, name, and priority. The endpoint does not require any query parameters or request body.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get All Offers Made by an Organization
ID
: get_all_offers_made_by_an_organizationOperation
: readEntities
: offer, application, candidateSummary
: This API retrieves all offers made by an organization, ordered by application_id. It requires Basic Auth for authorization. The API supports various query parameters for filtering the results, such as 'per_page' for pagination, 'created_before' and 'created_after' for filtering by creation date, 'updated_before' and 'updated_after' for filtering by update date, 'resolved_before' and 'resolved_after' for filtering by resolution date, 'status' for filtering by offer status, and 'sent_before', 'sent_after', 'starts_before', and 'starts_after' for filtering by sent and start dates. The response includes details about each offer, such as the offer ID, version, application ID, job ID, candidate ID, opening details, creation and update timestamps, sent and resolved dates, start date, status, and custom fields.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Application by ID
ID
: get_application_by_idOperation
: readEntities
: application, job, candidateSummary
: This API retrieves an application by its ID from the Greenhouse Harvest API. It requires Basic Authentication and the application ID as a path parameter. The response includes detailed information about the application, such as candidate ID, application status, job details, source, credited person, and any custom fields or attachments associated with the application.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Application EEOC Data
ID
: get_application_eeoc_dataOperation
: readEntities
: eeoc, application, candidateSummary
: This API retrieves the Equal Employment Opportunity Commission (EEOC) data for a specific application identified by its ID. The request requires basic authentication and the application ID as a path parameter. The response includes details such as the application ID, candidate ID, race, gender, veteran status, disability status, and the submission timestamp.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Candidate Tags
ID
: get_candidate_tagsOperation
: readEntities
: tag, candidateSummary
: This API retrieves the list of tags applied to a specific candidate identified by their ID. The request requires basic authentication and the candidate's ID as a path parameter. The response is an array of tag objects, each containing an ID and a name.Input Fields
: Input FieldsOutput Fields
: Output Fields
Fetch Current Offer for Application
ID
: get_current_offer_for_applicationOperation
: readEntities
: offer, application, jobSummary
: This API endpoint retrieves the current offer for a specific application using the application ID. It requires Basic Auth for authorization. The request must include the application_id as a path parameter. The response includes detailed information about the offer, such as the offer ID, version, application ID, job ID, candidate ID, opening details, creation and update timestamps, status, and various custom fields related to the offer.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Custom Field by ID
ID
: get_custom_field_by_idOperation
: readEntities
: custom field, department, officeSummary
: This API retrieves a custom field by its ID from the Greenhouse Harvest API. The request requires basic authentication and the ID of the custom field as a path parameter. The response includes detailed information about the custom field, such as its name, type, priority, and options. The response also indicates whether the field is active, private, required, and if it requires approval.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Custom Field Options
ID
: get_custom_field_optionsOperation
: readEntities
: custom field, optionSummary
: This API endpoint retrieves all options for a given single select or multi select custom field in Greenhouse. The request requires the custom field ID as a path parameter and supports an optional query parameter 'type' to filter options by their status (active, inactive, or all). The 'On-Behalf-Of' header is mandatory for auditing purposes, and Basic Auth is used for authorization. The response is an array of custom field options, each containing an ID, name, priority, and an optional external ID.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Custom Fields
ID
: get_custom_fieldsOperation
: readEntities
: custom field, custom field option, field typeSummary
: The Get Custom Fields API retrieves custom fields from the Greenhouse system. It supports filtering by field type, such as offer, candidate, application, job, rejection_question, referral_question, and user_attribute. The API can also include inactive custom fields if specified. The response includes detailed information about each custom field, including its ID, name, active status, field type, priority, value type, privacy, requirement status, approval requirement, version trigger, name key, description, exposure in job board API, API-only status, associated offices and departments, template token string, and custom field options.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Custom Location Options for Job Post
ID
: get_custom_location_options_for_job_postOperation
: readEntities
: job board, custom location, job postSummary
: This API endpoint retrieves all custom location options available for a specified job post ID. The request requires Basic Authentication and the job post ID as a path parameter. The response returns an array of custom location objects, each containing details such as the location ID, name, active status, associated Greenhouse job board ID, and timestamps for creation and last update.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Demographic Answer by ID
ID
: get_demographic_answer_by_idOperation
: readEntities
: application, demographic answer, demographic questionSummary
: This API retrieves a demographic answer by its ID from the Greenhouse Harvest API. It requires basic authentication and the ID of the demographic answer as a path parameter. The response includes details such as the ID, free form text, associated application ID, demographic question ID, demographic answer option ID, and the creation timestamp of the answer.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Demographic Answer Option by ID
ID
: get_demographic_answer_option_by_idOperation
: readEntities
: translation, demographic answer option, demographic questionSummary
: This API retrieves a demographic answer option by its ID. It requires Basic Auth for authorization. The request must include the ID of the demographic answer option as a path parameter. The response includes details such as the ID, whether the option is free form, its active status, name, associated demographic question ID, and any translations available for the answer option.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Demographic Answers for an Application
ID
: get_demographic_answers_for_applicationOperation
: readEntities
: application, demographic answer option, demographic questionSummary
: This API endpoint retrieves all demographic answers for a specific application identified by the application ID. It requires Basic Auth for authorization. The endpoint supports various query parameters to filter the results, such as 'per_page' to limit the number of results per response, and timestamp filters like 'created_before', 'created_after', 'updated_before', and 'updated_after' to narrow down the answers based on their creation or update times. The response is a list of demographic answers, each containing details such as the answer ID, free form text, associated application ID, demographic question ID, demographic answer option ID, and timestamps for creation and last update.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Demographic Question by ID
ID
: get_demographic_question_by_idOperation
: readEntities
: demographic question set, demographic question, translationSummary
: This API retrieves a demographic question by its ID from the Greenhouse Harvest API. It requires Basic Authentication and the ID of the demographic question as a path parameter. The response includes details about the question such as its ID, active status, associated demographic question set ID, the question text, translations, and whether it is required.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Demographic Question Set by ID
ID
: get_demographic_question_set_by_idOperation
: readEntities
: demographic question set, candidate, questionSummary
: This API endpoint retrieves a demographic question set by its ID. It requires basic authentication and the ID of the question set as a path parameter. The response includes the ID, title, description, and active status of the demographic question set.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Demographic Questions for a Question Set
ID
: get_demographic_questions_for_question_setOperation
: readEntities
: demographic question set, demographic question, translationSummary
: This API endpoint retrieves all demographic questions for a specified demographic question set. It requires Basic Auth for authorization. The 'id' path parameter is mandatory and specifies the demographic question set ID. The optional 'per_page' query parameter allows you to specify the number of questions returned per response, with a default of 100 and a maximum of 500. The response is an array of demographic questions, each containing details such as the question ID, active status, question set ID, question text, translations, and whether the question is required.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Department by ID
ID
: get_department_by_idOperation
: readEntities
: department, sub-department, childSummary
: This API retrieves a department by its ID from the Greenhouse Harvest API. It requires basic authentication and accepts a department ID as a path parameter. Optionally, a query parameter 'render_as' can be used to specify the format of the department list, either as a flat 'list' or a hierarchical 'tree'. The response includes details of the department such as its name, parent ID, child IDs, and external IDs. If 'render_as' is set to 'tree', the response will include nested child departments.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Email Template by ID
ID
: get_email_template_by_idOperation
: readEntities
: scorecard, interviewer, email templateSummary
: This API retrieves an email template by its ID from the Greenhouse Harvest API. The request requires basic authentication and the ID of the email template as a path parameter. The response includes details about the email template such as its name, description, type, and HTML body. The email template can be used to remind interviewers to submit their scorecards.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Hiring Team for a Job
ID
: get_hiring_team_for_a_jobOperation
: readEntities
: user, job, hiring teamSummary
: This API retrieves the hiring team for a specific job using the job ID. It requires Basic Auth for authorization. The request must include the job ID as a path parameter. The response includes details about the hiring managers, recruiters, coordinators, and sourcers associated with the job. Each team member's user ID and active status are provided, and for recruiters and coordinators, a responsible flag indicates if they are responsible for future candidates.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Job Permissions for a User
ID
: get_job_permissions_for_userOperation
: readEntities
: user, permission, jobSummary
: This API endpoint retrieves the list of job permissions for a specified user. It requires Basic Auth for authorization. The user ID must be provided as a path parameter. This endpoint is intended for Job Admin and Interviewer users, as these roles are assigned on a per-job basis. Site Admin users will receive an empty array since they have permissions on all public jobs. Basic users, who cannot be assigned to any jobs, will also receive an empty array. The response includes an array of objects, each containing the permission ID, job ID, and user role ID.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Job Post by Job ID
ID
: get_job_post_by_job_idOperation
: readEntities
: job, question, job locationSummary
: This API retrieves the job post details for a given Job ID from Greenhouse. It requires Basic Auth for authorization. The endpoint accepts a job ID as a path parameter and optional query parameters such as 'content', 'questions', and 'full_content' to customize the response. The response includes details like job title, location, publication status, and associated questions. The job post content can be retrieved in full or partial form based on the query parameters provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Job Posts for a Given Job ID
ID
: get_job_posts_for_job_idOperation
: readEntities
: location, job, job postSummary
: This API endpoint retrieves all job posts for a given job ID from the Greenhouse Harvest API. It requires Basic Auth for authorization. The job ID is specified as a path parameter. Optional query parameters include 'active' to filter job posts by their active status and 'full_content' to determine the level of content detail returned. The response includes details about each job post, such as its ID, title, location, status, publication dates, and associated questions.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Job Stages by Job ID
ID
: get_job_stages_by_job_idOperation
: readEntities
: interview, job, stageSummary
: This API retrieves the stages for a specified job ID from the Greenhouse platform. It requires basic authentication and the job ID as a path parameter. Optional query parameters allow filtering of job stages based on their creation or update timestamps in ISO-8601 format. The response includes an array of job stages, each with details such as stage ID, name, creation and update timestamps, job ID, priority, and associated interviews. Each interview includes details like interview ID, name, schedulability, estimated duration, default interviewers, and interview kit content and questions.Input Fields
: Input FieldsOutput Fields
: Output Fields
List all of a job’s approval flows
ID
: get_jobs_approval_flowsOperation
: readEntities
: job, approver group, approval flowSummary
: This API endpoint retrieves all approval flows associated with a specific job. It requires Basic Authentication for access. The job ID must be provided as a path parameter. The response includes details about each approval flow, such as the flow ID, offer ID, whether the flow is sequential, version, approval type, approval status, job ID, and the user who requested the approval. Each approval flow contains approver groups with details like group ID, approvals required, creation and resolution timestamps, priority, job ID, offer ID, and a list of approvers with their ID, name, employee ID, and email addresses.Input Fields
: Input FieldsOutput Fields
: Output Fields
List all of a job’s openings
ID
: get_list_all_of_a_job_s_openingsOperation
: readEntities
: custom field, opening, jobSummary
: This API endpoint retrieves all openings for a specified job using the job ID. It requires Basic Auth for authorization. The job_id is a required path parameter, while the status is an optional query parameter that can filter openings by 'opened' or 'closed' status. The response includes details about each opening, such as its ID, status, opening and closing dates, application ID, close reason, and custom fields. The endpoint supports pagination.Input Fields
: Input FieldsOutput Fields
: Output Fields
List All Submitted Scorecards for an Application
ID
: get_list_all_submitted_scorecards_for_an_applicationOperation
: readEntities
: application, candidate, scorecardSummary
: This API retrieves all submitted scorecards for a specified application using the application ID. It requires Basic Auth for authorization. The request must include the application ID as a path parameter. The response is an array of scorecards, each containing details such as the scorecard ID, interview details, candidate and application IDs, submission timestamps, overall recommendation, attributes with ratings, and questions with answers.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Demographic Answer Options
ID
: get_list_demographic_answer_optionsOperation
: readEntities
: translation, demographic answer option, demographic questionSummary
: This API endpoint retrieves all the demographic answer options for a specific demographic question identified by its ID. It requires Basic Auth for authorization. The 'id' path parameter is mandatory and specifies the demographic question. The optional 'per_page' query parameter allows you to specify the number of answer options returned per response, with a default of 100 and a maximum of 500. The response is an array of answer options, each containing details such as ID, whether it is free form, active status, name, and translations.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Departments
ID
: get_list_organization_departmentsOperation
: readEntities
: sub-department, department, organizationSummary
: This API endpoint retrieves a list of all departments within an organization. It supports pagination and can return results in either a flat list or a tree structure, depending on the 'render_as' query parameter. The 'per_page' and 'page' query parameters control pagination, while 'external_id' can be used to filter results by a specific department's external ID. The response includes department details such as ID, name, parent and child department IDs, and external IDs.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's EEOC Data
ID
: get_list_organization_eeoc_dataOperation
: readEntities
: application, candidate, eeoc dataSummary
: This API endpoint retrieves all EEOC (Equal Employment Opportunity Commission) data for an organization. It requires Basic Authentication for access. The endpoint supports pagination and allows filtering of results based on submission timestamps. Query parameters include 'per_page' to limit the number of results per response, 'submitted_before' to filter data submitted before a certain timestamp, and 'submitted_after' to filter data submitted after a certain timestamp. The response includes details such as application ID, candidate ID, race, gender, veteran status, disability status, and the submission timestamp.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Jobs
ID
: get_list_organization_jobsOperation
: readEntities
: opening, department, jobSummary
: This API endpoint retrieves a list of all jobs for an organization from the Greenhouse platform. It requires Basic Authentication for access. The API supports various query parameters to filter the jobs, such as 'per_page' for pagination, 'created_before' and 'created_after' for filtering by creation date, 'status' to filter by job status, and more. The response includes detailed information about each job, including its ID, name, requisition ID, status, creation and update timestamps, associated departments and offices, custom fields, hiring team, and openings.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Offices
ID
: get_list_organization_officesOperation
: readEntities
: location, user, officeSummary
: This API endpoint retrieves a list of all offices within an organization. It supports pagination and can return results in either a flat list or a tree structure. The request requires Basic Auth for authorization. Query parameters include 'per_page' to limit the number of results per response, 'page' for pagination, 'render_as' to specify the format of the response (either 'list' or 'tree'), and 'external_id' to filter offices by their external ID. The response includes details such as office ID, name, location, primary contact user ID, parent and child office IDs, and external IDs.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Candidates
ID
: get_list_organizations_candidatesOperation
: readEntities
: application, candidate, attachmentSummary
: This API endpoint retrieves a list of all candidates associated with an organization. It requires Basic Auth for authorization. The API supports various query parameters for filtering the results, such as 'per_page' for the number of results per page, 'page' for pagination, and timestamps like 'created_before' and 'created_after' for filtering candidates based on creation or update times. Additional filters include 'job_id', 'email', and 'candidate_ids'. The response includes detailed information about each candidate, such as personal details, contact information, applications, education, employment history, and custom fields.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Close Reasons
ID
: get_list_organizations_close_reasonsOperation
: readEntities
: close reason, organizationSummary
: This API endpoint retrieves a list of all close reasons for an organization. It requires basic authentication via the 'Authorization' header. The response is an array of objects, each containing an 'id' and 'name' representing the unique identifier and name of the close reason, respectively.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Job Posts
ID
: get_list_organizations_job_postsOperation
: readEntities
: location, job post, questionSummary
: This API endpoint retrieves a list of all job posts for an organization. It requires Basic Auth for authorization. The API supports various query parameters for filtering the job posts, such as 'per_page' for pagination, 'created_before' and 'created_after' for filtering by creation date, 'updated_before' and 'updated_after' for filtering by update date, and boolean flags like 'live', 'active', 'full_content', and 'internal' to filter job posts based on their status and type. The response includes detailed information about each job post, including its ID, title, location, status, content, and associated questions.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Offers Associated with an Application
ID
: get_offers_associated_with_applicationOperation
: readEntities
: offer, application, candidateSummary
: This API endpoint retrieves a list of offers associated with a specific application in Greenhouse. The offers include historical updates as they are made over time. The request requires Basic Auth for authorization and the application_id as a path parameter to specify which application's offers to retrieve. Optional query parameters include 'per_page' to limit the number of offers returned per response and 'page' for pagination. The response is an array of offer objects, each containing details such as offer ID, version, application ID, job ID, candidate ID, opening details, creation and update timestamps, status, and custom fields.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Office by ID
ID
: get_office_by_idOperation
: readEntities
: location, user, officeSummary
: The 'Retrieve Office by ID' API allows users to fetch details of a specific office using its unique ID. The API requires Basic Authentication and accepts a path parameter 'id' to specify the office. An optional query parameter 'render_as' can be used to define the representation of the office list, either as a flat 'list' or a hierarchical 'tree'. The response includes details such as office ID, name, location, primary contact user ID, and optionally, parent and child office details depending on the 'render_as' parameter.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Disciplines
ID
: get_organization_disciplinesOperation
: readEntities
: discipline, organization, prioritySummary
: This API endpoint retrieves all the disciplines for an organization, sorted by priority. It requires Basic Auth for authorization. The request does not require any path parameters, query parameters, or request body. The response is an array of discipline objects, each containing an 'id', 'name', and 'priority'.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Prospect Pools
ID
: get_organization_prospect_poolsOperation
: readEntities
: prospect stage, prospect poolSummary
: This API endpoint retrieves a list of all prospect pools for an organization. It requires Basic Authentication for access. The endpoint supports pagination through the 'per_page' and 'page' query parameters, allowing users to specify the number of objects returned per response and the specific page of results to retrieve. The response includes details of each prospect pool, such as its unique ID, name, active status, and associated prospect stages.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Roles for User Assignment
ID
: get_organization_roles_for_user_assignmentOperation
: readEntities
: user, roleSummary
: This API endpoint retrieves a list of roles within the organization that can be assigned to a user. It requires Basic Authentication for access. The request does not require any path parameters, query parameters, or request body. The response is an array of role objects, each containing an 'id', 'type', and 'name'.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Sources Grouped by Strategy
ID
: get_organization_sources_grouped_by_strategyOperation
: readEntities
: strategy, source, organizationSummary
: This API endpoint retrieves a list of an organization's sources, grouped by strategy. It requires Basic Auth for authorization. The request can include optional query parameters 'per_page' to specify the number of objects per response (default is 100, with a range of 1 to 500) and 'page' to paginate through the results. The response is an array of source objects, each containing an 'id', 'name', and 'type' with its own 'id' and 'name'.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Candidate Tags
ID
: get_organizations_candidate_tagsOperation
: readEntities
: candidate tag, organizationSummary
: This API endpoint retrieves a list of all candidate tags associated with an organization. The request requires a GET method to the specified URL and must include an 'Authorization' header with a Basic authentication token. The response is an array of objects, each containing an 'id' and 'name' representing the unique identifier and name of the candidate tag, respectively.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Demographic Answer Options
ID
: get_organizations_demographic_answer_optionsOperation
: readEntities
: translation, demographic answer option, demographic questionSummary
: This API endpoint retrieves a list of all demographic answer options for an organization. It requires Basic Authentication. The endpoint supports pagination and allows specifying the number of objects returned per response using the 'per_page' query parameter, which can be an integer between 1 and 500, defaulting to 100. The response includes details such as the unique identifier, whether the option is free form, its active status, name, related demographic question ID, and translations for each answer option.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Demographic Answers
ID
: get_organizations_demographic_answersOperation
: readEntities
: application, demographic answer, demographic questionSummary
: This API endpoint retrieves a list of all demographic answers for an organization. It requires Basic Auth for authorization. The endpoint supports optional query parameters for pagination and filtering based on creation and update timestamps. The response is a list of demographic answers, each containing details such as the answer ID, free form text, application ID, demographic question ID, demographic answer option ID, and timestamps for creation and last update.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Demographic Question Sets
ID
: get_organizations_demographic_question_setsOperation
: readEntities
: question set, demographic question, organizationSummary
: This API endpoint retrieves a list of all demographic question sets for an organization. It requires Basic Auth for authorization. The endpoint supports pagination and allows specifying the number of objects returned per response using the 'per_page' query parameter, which can be an integer between 1 and 500, defaulting to 100. The response is an array of question sets, each containing an 'id', 'title', 'description', and 'active' status.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Demographic Questions
ID
: get_organizations_demographic_questionsOperation
: readEntities
: demographic question set, demographic question, translationSummary
: This API endpoint retrieves a list of all demographic questions associated with an organization. It requires Basic Authentication for access. The endpoint supports pagination and allows specifying the number of questions returned per page through the 'per_page' query parameter, which defaults to 100 and can be set between 1 and 500. The response includes details such as the question ID, active status, question set ID, question text, translations, and whether the question is required.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Email Templates
ID
: get_organizations_email_templatesOperation
: readEntities
: user, email templateSummary
: This API endpoint retrieves a list of all email templates associated with an organization. It uses Basic Authentication for authorization. The endpoint supports several query parameters for filtering the results, including 'per_page' for the number of results per response, 'page' for pagination, and timestamp filters such as 'created_before', 'created_after', 'updated_before', and 'updated_after'. The response includes details of each email template, such as its ID, name, description, type, creation and update timestamps, and associated user information.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Greenhouse Users
ID
: get_organizations_greenhouse_usersOperation
: readEntities
: department, user, officeSummary
: This API endpoint retrieves a list of all users within an organization on Greenhouse. It supports various query parameters to filter the results, such as pagination, employee ID, creation and update timestamps, and email address. The 'user_attributes' parameter can be used to include additional user attributes in the response. The response includes detailed information about each user, including their ID, name, email addresses, employee ID, linked candidate IDs, associated offices, and departments.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Job Stages
ID
: get_organizations_job_stagesOperation
: readEntities
: interview, job stage, questionSummary
: This API endpoint retrieves a list of all job stages for an organization. It requires Basic Auth for authorization. The request can include optional query parameters such as 'per_page' to limit the number of objects returned per response, 'page' for pagination, and timestamps 'created_before', 'created_after', 'updated_before', and 'updated_after' to filter job stages based on their creation or update times. The response is an array of job stages, each containing details like 'id', 'name', 'created_at', 'updated_at', 'job_id', 'priority', and associated interviews with their respective details.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Rejection Reasons
ID
: get_organizations_rejection_reasonsOperation
: readEntities
: rejection reason, type, organizationSummary
: This API endpoint retrieves a list of all rejection reasons for an organization. It requires Basic Auth for authorization. The request can include optional query parameters such as 'per_page' to specify the number of objects per response, 'page' for pagination, and 'include_defaults' to include Greenhouse's default rejection reasons. The response is an array of rejection reasons, each with an 'id', 'name', and 'type'.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Schools
ID
: get_organizations_schoolsOperation
: readEntities
: organization, schoolSummary
: This API endpoint retrieves all the schools associated with the organization, sorted by priority. It requires Basic Authentication for access. The request does not require any query parameters or request body. The response is an array of school objects, each containing an 'id', 'name', and 'priority'.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization's Scorecards
ID
: get_organizations_scorecardsOperation
: readEntities
: application, candidate, scorecardSummary
: This API endpoint retrieves a list of all scorecards for an organization. It requires Basic Auth for authorization. The API supports several query parameters for filtering the results, including 'per_page' for the number of objects per response, 'page' for pagination, and timestamps for filtering by creation or update dates. The response includes detailed information about each scorecard, such as the interview details, candidate and application IDs, submission details, overall recommendation, attributes, ratings, and questions with answers.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Pending Approvals for User
ID
: get_pending_approvals_for_userOperation
: readEntities
: user, approval, approver groupSummary
: This API retrieves all pending approvals for a specified user. Pending approvals are defined as an approval chain that is not approved or rejected, that this user has not already approved or rejected, in a group that has not yet determined approval or rejection. The API requires Basic Auth for authorization. The user ID is specified as a path parameter, and an optional query parameter 'type' can be used to filter approvals by 'job' or 'offer'. The response includes details such as the approval ID, status, timestamps for creation and reminders, approver group ID, and approval flow details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Approval Flow
ID
: get_retrieve_approval_flowOperation
: readEntities
: offer, job, approval flowSummary
: The Retrieve Approval Flow API allows users to fetch details of a specific approval flow using its ID. The request requires basic authentication and the ID of the approval flow as a path parameter. The response includes details such as the offer ID, whether the flow is sequential, its version, approval type, status, job ID, and the user who requested it. It also provides information about the approver groups, including their IDs, required approvals, creation and resolution timestamps, priority, and associated job and offer IDs, along with details of individual approvers.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Candidate by ID
ID
: get_retrieve_candidate_by_idOperation
: readEntities
: application, candidate, rejection reasonSummary
: This API retrieves a candidate's details by their ID from the Greenhouse system. It requires Basic Auth for authorization. The request must include the candidate's ID as a path parameter. The response includes comprehensive details about the candidate, such as personal information, contact details, recruiter and coordinator information, applications, education, employment history, and custom fields. The response is returned in JSON format.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Job Details
ID
: get_retrieve_job_detailsOperation
: readEntities
: department, job, hiring teamSummary
: The Retrieve Job Details API allows users to fetch detailed information about a specific job using its unique ID. The API requires Basic Authentication and the job ID as a path parameter. The response includes comprehensive details about the job such as its name, requisition ID, status, creation and update timestamps, associated departments and offices, custom fields, hiring team details, and openings. This API is useful for obtaining all relevant information about a job listing in a structured format.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Job Stage by ID
ID
: get_retrieve_job_stage_by_idOperation
: readEntities
: interview, job stage, questionSummary
: This API retrieves a job stage by its ID from the Greenhouse Harvest API. The request requires Basic Authentication and the job stage ID as a path parameter. The response includes details about the job stage such as its name, creation and update timestamps, associated job ID, priority, and a list of interviews with details like interview ID, name, schedulability, estimated duration, default interviewers, and interview kit content and questions.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Offer by ID
ID
: get_retrieve_offer_by_idOperation
: readEntities
: offer, application, candidateSummary
: The 'Retrieve Offer by ID' API allows users to fetch details of a specific offer using its unique ID. The request requires basic authentication and the offer ID as a path parameter. The response includes comprehensive details about the offer, such as its version, application ID, job ID, candidate ID, and various timestamps. Additionally, it provides information about the opening associated with the offer, its status, and custom fields that include employment type, favorite station, salary, and notes. Keyed custom fields offer structured data about these attributes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Prospect Pool
ID
: get_retrieve_prospect_poolOperation
: readEntities
: prospect stage, prospect poolSummary
: The Retrieve Prospect Pool API allows users to fetch details of a specific prospect pool using its ID. The request requires Basic Authentication and the ID of the prospect pool as a path parameter. The response includes the ID, name, active status, and a list of prospect stages associated with the prospect pool.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Scorecard
ID
: get_retrieve_scorecardOperation
: readEntities
: application, candidate, scorecardSummary
: The Retrieve Scorecard API allows you to fetch a specific scorecard by its ID from the Greenhouse Harvest API. The request requires Basic Authentication and the scorecard ID as a path parameter. The response includes detailed information about the scorecard, such as the interview details, candidate and application IDs, submission details, overall recommendation, attributes with ratings, and questions with answers.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Scheduled Interview by ID
ID
: get_scheduled_interview_by_idOperation
: readEntities
: interview, application, organizerSummary
: This API retrieves the details of a scheduled interview by its ID. It requires Basic Auth for authorization. The request must include the interview ID as a path parameter. The response includes detailed information about the interview, such as the application ID, external event ID, start and end times, location, video conferencing URL, status, creation and update timestamps, interview details, organizer information, and a list of interviewers with their respective details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Scheduled Interviews for an Application
ID
: get_scheduled_interviews_for_an_applicationOperation
: readEntities
: interview, application, interviewerSummary
: This API endpoint retrieves the scheduled interviews for a specific application using the application ID. It requires Basic Auth for authorization. The endpoint supports various query parameters for filtering the results, such as 'per_page' for pagination, 'created_before' and 'created_after' for filtering by creation date, 'updated_before' and 'updated_after' for filtering by update date, 'external_event_id' for filtering by external event ID, and 'actionable' to filter interviews that can be updated or deleted. The response includes details of each scheduled interview, such as the interview ID, application ID, start and end times, location, status, and information about the interview, organizer, and interviewers.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Scheduled Interviews for an Organization
ID
: get_scheduled_interviews_for_organizationOperation
: readEntities
: application, interviewer, scheduled interviewSummary
: This API endpoint retrieves a list of all scheduled interviews for an organization. It requires Basic Auth for authorization. The API supports various query parameters to filter the results, such as 'per_page' for pagination, 'created_before' and 'created_after' for filtering by creation date, 'updated_before' and 'updated_after' for filtering by update date, and 'starts_before' and 'starts_after' for filtering by start date. The response includes detailed information about each scheduled interview, including its ID, application ID, external event ID, start and end times, location, video conferencing URL, status, creation and update timestamps, interview details, organizer information, and a list of interviewers.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Single Job Post
ID
: get_single_job_postOperation
: readEntities
: location, job post, questionSummary
: The 'Get Single Job Post' API retrieves details of a specific job post using its ID. It requires Basic Authentication for access. The API endpoint is 'https://harvest.greenhouse.io/v1/job_posts/{id}', where '{id}' is the path parameter representing the job post ID. An optional query parameter 'full_content' can be used to retrieve additional content details. The response includes comprehensive information about the job post, such as its title, location, status, publication dates, content, and associated questions. The response body provides detailed attributes of the job post, including its location, internal and external status, and a list of questions related to the job application.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Single Opening Information
ID
: get_single_opening_informationOperation
: readEntities
: custom field, opening, jobSummary
: This API retrieves information for a single opening associated with a specific job. It requires the job ID and the unique opening ID as path parameters. The request must be authenticated using Basic Auth. The response includes details such as the opening's unique ID, user-defined ID, status, timestamps for when it was opened and closed, application ID, close reason, and any custom fields associated with the opening.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Tracking Link Data
ID
: get_tracking_link_dataOperation
: readEntities
: tracking link, source, jobSummary
: This API retrieves specific tracking link data for a given token. It requires Basic Auth for authorization. The request must include the token as a path parameter. The response includes details such as the tracking link ID, token, creation and update timestamps, related post information, job and job post IDs, job board details, source information, and details of the person credited.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve User Details
ID
: get_user_detailsOperation
: readEntities
: department, user, officeSummary
: The Retrieve User Details API allows you to fetch detailed information about a specific user from the Greenhouse system. You need to provide the user's ID as a path parameter and optionally an employee ID as a query parameter. The request requires Basic Authentication. The response includes comprehensive details about the user, such as their name, email addresses, employee ID, associated offices and departments, custom fields, and more.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get User Future Job Permissions
ID
: get_user_future_job_permissionsOperation
: readEntities
: user, permission, jobSummary
: This API retrieves the list of permissions that will be granted to a user when a job is created in a specific Department/Office combination. The request requires the user's ID as a path parameter and Basic Auth for authorization. The response is an array of permission objects, each containing details such as permission ID, office ID, external office ID, department ID, external department ID, and user role ID.Input Fields
: Input FieldsOutput Fields
: Output Fields
Advance Application
ID
: greenhouse_api_applicationsAdvanceApplicationOperation
: writeEntities
: application, candidate, stageSummary
: This API endpoint advances an application to the next stage in the hiring process. It requires the application ID and the target stage ID as inputs.Input Fields
: Input FieldsOutput Fields
: Output Fields
Change User Permission Level to Basic
ID
: patch_change_user_permission_level_to_basicOperation
: writeEntities
: user, permission level, jobSummary
: This API endpoint changes a user's permission level to 'Basic'. It only supports converting users with Job Admin or Site Admin permission levels to Basic. The request requires Basic Auth and an 'On-Behalf-Of' header for auditing. The request body must include a 'user' object with one of 'email', 'user_id', or 'employee_id', and a 'level' field set to 'basic'. The response indicates success with a boolean value. Note that this operation is not reversible through this endpoint and will remove the user from any assigned roles or approval flows.Input Fields
: Input FieldsOutput Fields
: Output Fields
Convert Prospect Application to Candidate
ID
: patch_convert_prospect_application_to_candidateOperation
: writeEntities
: prospect, application, candidateSummary
: This API converts a prospect application to a candidate on a specified job. It requires the application ID in the path, and the job ID in the request body. The 'On-Behalf-Of' header is required for auditing purposes. Optionally, an initial stage ID can be provided to place the application in a specific stage of the job. The response includes the success status and IDs of the old and new applications, job, and stage.Input Fields
: Input FieldsOutput Fields
: Output Fields
Disable a User
ID
: patch_disable_userOperation
: writeEntities
: email address, user, employee idSummary
: The 'Disable a User' API endpoint allows you to disable a user in Greenhouse using their Greenhouse user ID, internal employee ID, or any email address associated with their account. The request must be made using a PATCH method to the endpoint 'https://harvest.greenhouse.io/v2/users/disable'. The request requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The user information must be provided in the request body as a JSON object, with only one of 'user_id', 'employee_id', or 'email' specified. The response returns detailed information about the user, including their ID, name, email addresses, and other associated data. If the user is already disabled, the API call is idempotent and does not change the user's status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Edit Department's Basic Information
ID
: patch_edit_department_basic_informationOperation
: writeEntities
: id, department, userSummary
: This API allows you to edit a department's basic information in the Greenhouse system. The request requires the department ID as a path parameter and the user's ID in the 'On-Behalf-Of' header for auditing purposes. The request body must include the department's name, and optionally, an external ID that must be unique within the organization. The response returns the updated department details, including its ID, name, parent and child department IDs, and external IDs.Input Fields
: Input FieldsOutput Fields
: Output Fields
Edit Office Basic Information
ID
: patch_edit_office_basic_informationOperation
: writeEntities
: location, external id, officeSummary
: This API allows you to edit the basic information of an office in the Greenhouse system. The PATCH request requires the office ID in the URL path and uses Basic Auth for authorization. The request headers must include 'On-Behalf-Of' for auditing purposes. The request body must contain the office's name, which cannot be blank, and optionally the location and a unique external ID. The response returns the updated office details, including its ID, name, location, primary contact user ID, parent and child office IDs, and external ID.Input Fields
: Input FieldsOutput Fields
: Output Fields
Edit User's Basic Information
ID
: patch_edit_user_basic_informationOperation
: writeEntities
: department, user, officeSummary
: This API allows you to edit a user's basic information in Greenhouse. You can identify the user by their Greenhouse user ID, internal employee ID, or any of their email addresses. The request must include the user's new information in a JSON body, and you can update fields such as first name, last name, employee ID, office IDs, department IDs, and custom fields. The 'On-Behalf-Of' header is required for auditing purposes. The response will indicate whether the operation was successful.Input Fields
: Input FieldsOutput Fields
: Output Fields
Enable a User in Greenhouse
ID
: patch_enable_user_in_greenhouseOperation
: writeEntities
: department, user, officeSummary
: This API endpoint enables a user in Greenhouse using their Greenhouse user ID, internal employee ID, or any email address associated with their account. The request must be made using a JSON body containing one of these identifiers. The API requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The response includes detailed user information such as user ID, name, email addresses, associated offices and departments, and custom fields. If the user is already enabled, the API call has no effect.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Candidate Details by ID
ID
: patch_update_candidate_details_by_idOperation
: writeEntities
: coordinator, recruiter, candidateSummary
: This API endpoint allows you to update or patch a single candidate's details by their ID. The request requires Basic Auth and an 'On-Behalf-Of' header for auditing purposes. The body of the request can include various optional fields such as first name, last name, company, title, privacy status, contact information, tags, and custom fields. The response returns an array of candidate objects with updated details, including personal information, contact details, recruiter and coordinator information, and application details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Current Offer on Application
ID
: patch_update_current_offer_on_applicationOperation
: writeEntities
: custom field, offer, applicationSummary
: This API endpoint allows updating the current offer on a specified application. It requires the application ID as a path parameter and uses Basic Auth for authorization. The request headers must include 'On-Behalf-Of' for auditing purposes. The request body can include optional parameters such as 'start_date', 'sent_at', 'created_at', and 'custom_fields'. Custom fields can be updated or deleted using specific parameters. The response indicates whether the update was successful.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Custom Field
ID
: patch_update_custom_fieldOperation
: writeEntities
: custom field, department, jobSummary
: The Update Custom Field API allows users to update an existing custom field in the Greenhouse system. The API requires the ID of the custom field to be updated as a path parameter. The request can include headers such as 'On-Behalf-Of' for specifying the Greenhouse user ID and 'Authorization' for basic authentication. The request body can include parameters like 'name', 'description', 'private', and 'template_token_string' to update the respective attributes of the custom field. The response returns the updated custom field details, including its ID, name, active status, field type, priority, value type, and other attributes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Custom Field Options
ID
: patch_update_custom_field_optionsOperation
: writeEntities
: custom field, option, prioritySummary
: This API allows updating the names or priorities of existing options in a single select or multi select custom field. The request requires the ID of the custom field in the path and an array of options in the body, each with an ID and optionally a new name, priority, or external_id. The 'On-Behalf-Of' header is required for auditing purposes. The response indicates whether the update was successful.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Job Details
ID
: patch_update_job_detailsOperation
: writeEntities
: custom field, department, jobSummary
: The Update Job Details API allows users to update various details of a job posting in the Greenhouse system. The API requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The job ID is specified as a path parameter. The request body can include optional fields such as the job's name, notes, requisition ID, team and responsibilities, and custom fields, among others. Custom fields have a specific structure and can include elements like id, name_key, value, min_value, max_value, unit, and delete_value. The response includes updated job details such as the job's name, requisition ID, status, creation and update timestamps, associated departments and offices, custom fields, and hiring team information. Updates to certain fields may re-trigger approvals depending on the job's status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Job Opening Details
ID
: patch_update_job_opening_detailsOperation
: writeEntities
: custom field, opening, jobSummary
: The Update Job Opening Details API allows users to modify details of a specific job opening in the Greenhouse system. The API requires the job ID and opening ID as path parameters. It supports optional JSON body parameters such as opening_id, status, close_reason_id, and custom_fields to update the opening's details. The custom_fields parameter is an array of objects that can include id, name_key, value, min_value, max_value, unit, and delete_value. The API uses Basic Auth for authorization and requires the On-Behalf-Of header for auditing. The response indicates the success of the operation.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Job Post Properties
ID
: patch_update_job_post_propertiesOperation
: writeEntities
: location, content, job postSummary
: This API endpoint allows users to update certain properties of a job post on Greenhouse. The PATCH request is sent to the specified job post ID endpoint with optional parameters such as 'title', 'location', and 'content' in the JSON body. The 'On-Behalf-Of' header is required for auditing purposes, and Basic Auth is used for authorization. The response indicates whether the update was successful. Note that the HTML content in the 'content' field should be a single line with escaped double quotes due to JSON restrictions.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Job Post Status
ID
: patch_update_job_post_statusOperation
: writeEntities
: job postSummary
: This API endpoint allows users to update the status of a job post to either 'live' or 'offline'. It requires Basic Auth for authorization and an 'On-Behalf-Of' header for auditing purposes. The status update is handled separately from other job post properties due to different permission requirements. The request must include the job post ID in the path and the desired status in the JSON body. A successful response returns a JSON object indicating success.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Rejection Reason on Rejected Application
ID
: patch_update_rejection_reasonOperation
: writeEntities
: user, application, rejection reasonSummary
: This API endpoint updates the rejection reason on a currently rejected application using the PATCH method. It requires the application ID as a path parameter and the new rejection reason ID in the request body. The request must include the 'On-Behalf-Of' header for auditing purposes and use Basic Auth for authorization. The response includes the application ID, a confirmation message, and a success flag.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update a Scheduled Interview
ID
: patch_update_scheduled_interviewOperation
: writeEntities
: application, interviewer, scheduled interviewSummary
: The 'Update a Scheduled Interview' API allows users to update details of a scheduled interview that was created through Harvest. The API can only update interviews that are in the 'Scheduled' or 'Awaiting Feedback' status. The request requires Basic Auth and an 'On-Behalf-Of' header for auditing. The body can include optional parameters such as interviewers, start and end times, external event ID, and location. The response includes details of the updated interview, including its ID, application ID, start and end times, location, status, and information about the interviewers and organizer.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Additional Options to Custom Field
ID
: post_add_additional_options_to_custom_fieldOperation
: writeEntities
: custom field, optionSummary
: This API allows users to add additional options to a single select or multi select custom field in Greenhouse. The request requires the 'On-Behalf-Of' header for auditing purposes and a JSON body containing an array of options. Each option must include a 'name' and 'priority', and may optionally include an 'external_id'. The API returns a success message with a 201 response code if the operation is successful.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Hiring Team Members
ID
: post_add_hiring_team_membersOperation
: writeEntities
: sourcer, recruiter, hiring managerSummary
: The 'Add Hiring Team Members' API allows users to add new members to a hiring team for a specific job. The API requires basic authentication and the job ID as a path parameter. The request body must include arrays of hiring managers, sourcers, recruiters, and coordinators, each with user IDs. Recruiters and coordinators must specify their responsibility for future, active, and inactive candidates. The API is transactional, meaning if any addition fails, no changes are made. On success, a 200 response code with a success message is returned. If a Hiring Team Updated webhook is configured, multiple notifications may be sent.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add a New Candidate Tag to Organization
ID
: post_add_new_candidate_tag_to_organizationOperation
: writeEntities
: tag, candidateSummary
: This API endpoint allows users to add a new candidate tag to their organization in Greenhouse. The request requires basic authentication and must include the 'Content-Type', 'On-Behalf-Of', and 'Authorization' headers. The body of the request must contain the 'name' of the new tag. The 'name' is case insensitive, and if a tag with the same name already exists, a 200 response code is returned. If the tag is new, a 201 response code is returned. The response includes the 'id' and 'name' of the tag.Input Fields
: Input FieldsOutput Fields
: Output Fields
Post Attachment to Candidate Profile
ID
: post_attachment_to_candidate_profileOperation
: writeEntities
: user, candidate, attachmentSummary
: This API endpoint allows you to post an attachment to a candidate's profile using their candidate ID. The request requires headers for 'On-Behalf-Of' for auditing and 'Authorization' for basic authentication. The body of the request must include the filename and type of the attachment, and optionally the content or URL of the attachment. The content_type is required if the content is provided directly. The response includes the filename, URL, type, and content type of the uploaded attachment.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Office
ID
: post_create_a_new_officeOperation
: writeEntities
: location, user, officeSummary
: This API endpoint allows you to create a new office within your organization using the POST method. The request requires basic authentication and must include the 'On-Behalf-Of' header for auditing purposes. The body of the request must include the 'name' of the office, which is mandatory and must be unique within the organization. Optional parameters include 'location', 'primary_contact_user_id', 'parent_id', 'external_parent_id', and 'external_id'. The response returns the details of the newly created office, including its id, name, location, primary contact user id, parent id, and any child office ids.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Candidate Email Note
ID
: post_create_candidate_email_noteOperation
: writeEntities
: user, candidate, noteSummary
: This API endpoint allows the creation of a candidate email note in the activity feed. It requires a POST request to the specified URL with the candidate ID in the path. The request must include headers for 'On-Behalf-Of' and 'Authorization' using Basic Auth. The body of the request should contain the user ID, recipient and sender email addresses, subject, and body of the email. Optionally, CC email addresses can be included. The response returns the details of the created email note, including the ID, creation timestamp, subject, body, recipient, sender, CC addresses, and user details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Candidate Note
ID
: post_create_candidate_noteOperation
: writeEntities
: user, candidate, noteSummary
: This API endpoint allows you to create a note for a candidate in the activity feed. It requires a POST request to the specified URL with the candidate ID in the path. The request must include headers for 'On-Behalf-Of' and 'Authorization'. The body of the request should contain 'user_id', 'body', and 'visibility' parameters. The response will include the details of the created note, such as its ID, creation timestamp, body, user details, and visibility.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Custom Fields in Greenhouse
ID
: post_create_custom_fieldsOperation
: writeEntities
: custom field, application, jobSummary
: This API endpoint allows users to create custom fields in Greenhouse. The request requires a JSON body with parameters such as 'name', 'field_type', and 'value_type'. Optional parameters include 'description', 'private', 'required', and others. The response returns an array of custom field objects, each containing details like 'id', 'name', 'field_type', and 'custom_field_options'. Authentication is done via Basic Auth, and the request must include headers for 'Content-Type', 'On-Behalf-Of', and 'Authorization'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Job
ID
: post_create_jobOperation
: writeEntities
: department, job, officeSummary
: The Create Job API allows users to create a new job in the system by using a template job as a base. The API requires the 'On-Behalf-Of' header for auditing purposes and uses Basic Auth for authorization. The request body must include the 'template_job_id' and 'number_of_openings' parameters. Optional parameters include 'job_post_name', 'job_name', 'department_id', 'external_department_id', 'office_ids', 'external_office_ids', 'requisition_id', and 'opening_ids'. The response includes details about the created job, such as its ID, name, requisition ID, status, and associated departments and offices.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Job Openings in Greenhouse
ID
: post_create_job_openingsOperation
: writeEntities
: custom field, opening, jobSummary
: This API endpoint allows users to create new job openings for a specified job in Greenhouse. The request requires the job ID as a path parameter and an array of openings in the request body. Each opening can include an opening ID and custom fields. The 'On-Behalf-Of' header is required for auditing purposes. The response returns the details of the created openings, including their unique IDs and creation dates. Note that adding new openings may re-trigger approvals depending on the job's status.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Job Permission for User
ID
: post_create_job_permission_for_userOperation
: writeEntities
: user, job, user roleSummary
: This API endpoint creates a job permission with a specific user role for a given user. It requires the user ID in the path parameter and the job ID and user role ID in the request body. The 'On-Behalf-Of' header is required for auditing purposes. The API uses Basic Auth for authorization. Upon successful creation of a job permission for a regular user, it returns a status of 201 with the details of the created permission. If the user is a site admin, the request has no effect and returns a status of 204.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Candidate
ID
: post_create_new_candidateOperation
: writeEntities
: application, phone number, candidateSummary
: This API endpoint allows you to create a new candidate in the Greenhouse system. It requires a POST request to the specified URL with headers for 'On-Behalf-Of' and 'Authorization'. The request body must include the candidate's first and last names, and at least one application object. Optional fields include company, title, phone numbers, addresses, email addresses, website addresses, social media addresses, educations, employments, tags, custom fields, recruiter, coordinator, activity feed notes, and applications. The response will include the candidate's ID, name, company, title, creation and update timestamps, and other details. Note that there may be a delay in the full candidate record being available, and it is recommended to check every 30 seconds until the data is available.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Department
ID
: post_create_new_departmentOperation
: writeEntities
: departmentSummary
: This API endpoint allows users to create a new department within their organization using the POST method. The request requires a header 'On-Behalf-Of' which is the ID of the user issuing the request. The body of the request must include the 'name' of the department, and optionally 'parent_id', 'external_parent_id', and 'external_id'. The response returns the details of the newly created department including its 'id', 'name', 'parent_id', 'parent_department_external_ids', 'child_ids', 'child_department_external_ids', and 'external_id'. Note that the tiered department and external_id features are available only for customers with specific Greenhouse Recruiting packages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Education Record for a Candidate
ID
: post_create_new_education_recordOperation
: writeEntities
: education, candidate, schoolSummary
: This API endpoint allows the creation of a new education record for a candidate in the Greenhouse system. It requires the candidate's ID as a path parameter and uses Basic Auth for authorization. The request headers must include 'On-Behalf-Of' for auditing purposes. The body of the request can include optional parameters such as school_id, discipline_id, degree_id, start_date, and end_date, among others. The response returns the details of the created education record, including the school name, discipline, degree, and attendance dates.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Employment Record
ID
: post_create_new_employment_recordOperation
: writeEntities
: company name, title, start dateSummary
: This API endpoint allows the creation of a new employment record for a candidate. It requires the candidate's ID as a path parameter and uses Basic Auth for authorization. The request must include headers for 'On-Behalf-Of' and 'Authorization'. The body of the request should contain 'company_name', 'title', and 'start_date' as required fields, with 'end_date' being optional. The response returns the newly created employment record with fields such as 'id', 'company_name', 'title', 'start_date', and 'end_date'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Prospect in Greenhouse
ID
: post_create_new_prospectOperation
: writeEntities
: prospect, application, recruiterSummary
: This API endpoint allows the creation of a new prospect in Greenhouse. A prospect is an individual who can be associated with zero or multiple jobs but cannot be added to a job stage until converted to a candidate. The request requires basic authentication and an 'On-Behalf-Of' header for auditing. The body of the request must include the prospect's first and last names, and may optionally include additional information such as company, title, contact details, tags, and application details. The response returns the created prospect's details, including their ID, contact information, and associated applications. Note that there may be a delay in the availability of the full prospect record after creation.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Scheduled Interview
ID
: post_create_new_scheduled_interviewOperation
: writeEntities
: application, interviewer, scheduled interviewSummary
: This API endpoint allows users to create a new scheduled interview in the Greenhouse system. The request requires basic authentication and must include the 'On-Behalf-Of' header for auditing purposes. The body of the request must contain the application ID, interview ID, an array of interviewers with their response statuses, start and end times in ISO-8601 format, a unique external event ID, and optionally, a location description. The response returns details of the scheduled interview, including its ID, application ID, start and end times, location, video conferencing URL, status, creation and update timestamps, interview details, organizer information, and a list of interviewers with their details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New User with Basic Permissions
ID
: post_create_new_user_with_basic_permissionsOperation
: writeEntities
: department, user, officeSummary
: This API endpoint allows the creation of a new user with basic permissions in the Greenhouse system. The request requires the user's first name, last name, and email address. Optional parameters include sending an email invite, employee ID, office and department IDs, and custom fields. The response includes the user's ID, name, email, and associated offices and departments, among other details. The 'On-Behalf-Of' header is required for auditing purposes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Unverified Email Address for User
ID
: post_create_unverified_email_address_for_userOperation
: writeEntities
: email address, userSummary
: This API endpoint allows the creation of a new unverified email address for a specified user. The email address will not be considered verified until the user receives a verification email and clicks on the link to verify the address. The endpoint can also be used to resend a verification email to an unverified email address by setting the 'send_verification' parameter to true. The request requires the 'On-Behalf-Of' header for auditing purposes and uses Basic Auth for authorization. The response will vary based on the action taken: 201 for a new email address creation, 200 for resending a verification email, and 204 if no action is taken.Input Fields
: Input FieldsOutput Fields
: Output Fields
Hire Application
ID
: post_hire_applicationOperation
: writeEntities
: application, job, candidateSummary
: The 'Hire Application' API is used to hire an application in the Greenhouse system. This API requires the application to not be a prospect and all necessary approvals for the job and offer must have occurred. The API endpoint is 'https://harvest.greenhouse.io/v1/applications/{id}/hire' and it uses the POST method. The request requires Basic Auth for authorization and a header 'On-Behalf-Of' which is the ID of the user issuing the request for auditing purposes. The request body can include optional parameters such as 'start_date', 'opening_id', and 'close_reason_id'. The response includes details about the hired application, such as the candidate ID, status, location, source, and any associated jobs and attachments.Input Fields
: Input FieldsOutput Fields
: Output Fields
Move Application Between Stages
ID
: post_move_application_between_stagesOperation
: writeEntities
: application, job, stageSummary
: This API endpoint allows you to move an application from one stage to another within the same job. It requires the application ID as a path parameter and the IDs of the current and target stages in the request body. The request must include the 'On-Behalf-Of' header for auditing purposes and use Basic Auth for authorization. The response returns the updated application details, reflecting its new state, including information such as candidate ID, application status, current stage, and any custom fields or attachments associated with the application.Input Fields
: Input FieldsOutput Fields
: Output Fields
Reject Application
ID
: post_reject_applicationOperation
: writeEntities
: application, candidate, rejection reasonSummary
: The Reject Application API allows users to reject an application that is in the active state. The API endpoint is 'https://harvest.greenhouse.io/v1/applications/{id}/reject' and requires a POST request. The request must include the 'On-Behalf-Of' header for auditing purposes and Basic Auth for authorization. The body of the request can include optional parameters such as 'rejection_reason_id', 'notes', and 'rejection_email'. If 'rejection_email' is provided, 'email_template_id' is required. The response includes detailed information about the application, including its new state, rejection reason, and any associated custom fields or attachments.Input Fields
: Input FieldsOutput Fields
: Output Fields
Request Approval Flow Start
ID
: post_request_approval_flow_startOperation
: writeEntities
: user, approver group, approval flowSummary
: This API endpoint is used to start an approval flow by changing the state of the first approver group from 'waiting' to 'due'. The 'On-Behalf-Of' header is required for auditing purposes and specifies the ID of the user issuing the request. The endpoint requires Basic Auth for authorization. If the 'On-Behalf-Of' user cannot see the hiring plan or request approvals, a 403 response is returned. If the approval flow cannot be started, a 422 response is returned. No response body is sent back upon a successful request.Input Fields
: Input FieldsOutput Fields
: Output Fields
Transfer Application to Different Job Stage
ID
: post_transfer_application_to_different_job_stageOperation
: writeEntities
: application, job, stageSummary
: This API endpoint allows you to transfer an application to a different stage on a different job. The endpoint requires the application ID in the path and accepts a JSON body with the new job ID and optionally the new stage ID. The 'On-Behalf-Of' header is required for auditing purposes. The response includes detailed information about the transferred application, including candidate details, job information, current stage, and any custom fields or attachments associated with the application.Input Fields
: Input FieldsOutput Fields
: Output Fields
Unreject Application
ID
: post_unreject_applicationOperation
: writeEntities
: application, job, candidateSummary
: The 'Unreject Application' API allows users to change the status of an application from 'rejected' to 'active'. This API is only applicable to applications that are currently in the 'rejected' state. The request requires the application ID as a path parameter and the 'On-Behalf-Of' header for auditing purposes. The response includes detailed information about the application, such as candidate ID, application status, job details, and any custom fields or attachments associated with the application. If the application is not in the 'rejected' state, an error message will be returned.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Application Status
ID
: post_update_application_statusOperation
: writeEntities
: application, job, candidateSummary
: This API endpoint allows you to update the status of an application in the Greenhouse system. It supports updating applications with statuses of active, rejected, or hired. The request requires a Basic Auth for authorization and a mandatory 'On-Behalf-Of' header for auditing purposes. The request body can include optional parameters such as 'source_id', 'referrer', 'custom_fields', 'prospect_pool_id', and 'prospect_stage_id'. The response returns the updated application information, including details like candidate ID, application status, source, credited user, jobs associated, and any custom fields or attachments.Input Fields
: Input FieldsOutput Fields
: Output Fields
Anonymize Candidate Data
ID
: put_anonymize_candidate_dataOperation
: writeEntities
: application, recruiter, candidateSummary
: The Anonymize Candidate Data API allows users to anonymize specific fields of a candidate's data in the Greenhouse system. The API requires a PUT request to the endpoint with the candidate's ID and the fields to be anonymized specified in the query parameters. The request must include the 'On-Behalf-Of' header for auditing purposes and Basic Auth for authorization. The response includes the anonymized candidate data, with fields such as first name, last name, company, and title anonymized as specified. The API is useful for maintaining privacy and compliance with data protection regulations.Input Fields
: Input FieldsOutput Fields
: Output Fields
Apply a Tag to a Candidate
ID
: put_apply_tag_to_candidateOperation
: writeEntities
: tag, user, candidateSummary
: This API endpoint allows you to apply a specific tag to a candidate in the Greenhouse system. The request requires the candidate's ID and the tag's ID as path parameters. The 'On-Behalf-Of' header is mandatory for auditing purposes, and Basic Auth is used for authorization. Upon successful execution, the API returns a confirmation message indicating that the tag has been applied to the specified candidate.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Future Job Permission for User
ID
: put_create_future_job_permission_for_userOperation
: writeEntities
: department, user role, officeSummary
: This API creates a future job permission for a specific user role for a given user. The request requires Basic Auth and must include the 'On-Behalf-Of' header for auditing purposes. The user ID is specified in the path parameter. The request body can include office_id or external_office_id, and department_id or external_department_id, but not both pairs simultaneously. The user_role_id is mandatory. The response returns the details of the created permission, including IDs for the office, department, and user role.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create or Replace Approval Flow for a Job or Offer
ID
: put_create_or_replace_approval_flowOperation
: writeEntities
: approver, approver group, approval flowSummary
: This API endpoint allows the creation or replacement of an approval flow for a specific job or offer in Greenhouse. It uses the PUT method to either create a new approval flow if none exists or modify an existing one. The endpoint requires the job_id as a path parameter and uses Basic Auth for authorization. The request body must include the approval_type, whether the process is sequential, and a list of approver groups with their respective priorities and required approvals. The response returns a success status and the ID of the approval flow.Input Fields
: Input FieldsOutput Fields
: Output Fields
Merge Two Candidates
ID
: put_merge_two_candidatesOperation
: writeEntities
: application, candidate, attachmentSummary
: This API merges two candidates into one in the Greenhouse system. The request requires the IDs of the two candidates to be merged, with the primary candidate ID being the one that will remain after the merge. The duplicate candidate will be merged into the primary candidate and cease to exist as a separate entity. The request must include the 'On-Behalf-Of' header for auditing purposes and requires Basic Auth for authorization. The response returns the details of the merged candidate, including personal information, applications, attachments, and custom fields.Input Fields
: Input FieldsOutput Fields
: Output Fields
Replace Approvers in Approver Group
ID
: put_replace_approvers_in_approver_groupOperation
: writeEntities
: user, approver group, approval flowSummary
: This API endpoint allows the replacement of an approver in a specified approver group. The request requires the approver group ID as a path parameter and the user IDs of the approver to be removed and the new approver to be added in the request body. The request must include the 'On-Behalf-Of' header for auditing purposes and requires Basic Auth for authorization. The response includes details about the success of the operation, the updated approval flow ID, and the IDs of the removed and added users.Input Fields
: Input FieldsOutput Fields
: Output Fields
Replace Hiring Team
ID
: put_replace_hiring_teamOperation
: writeEntities
: sourcer, recruiter, hiring managerSummary
: The Replace Hiring Team API allows you to replace the existing members of a hiring team for a specific job in Greenhouse. This is done by sending a PUT request to the specified endpoint with the job ID in the path. The request must include headers for content type, authorization, and the user ID on whose behalf the request is made. The body of the request contains arrays of user IDs for hiring managers, sourcers, recruiters, and coordinators. For recruiters and coordinators, additional boolean fields specify their responsibilities for future, active, and inactive candidates. If any type of team member is not included in the request, their existing members will not be changed. An empty list for any type will remove all users of that type. The operation is transactional, meaning that if any part of the request fails, no changes will be made. A successful request returns a 200 response with a success message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Sample API
ID
: sample_api_001Operation
: readEntities
: application, job, candidateSummary
: This API endpoint processes user data and returns a status message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Test Greenhouse API
ID
: test-greenhouse-apiOperation
:Entities
: entity 4, entity 1 modifed, entity 2Summary
: This API endpoint tests the current conditions in the greenhouse by evaluating temperature and humidity levels to ensure they are within optimal ranges.Input Fields
: Input FieldsOutput Fields
: Output Fields
Updated about 1 month ago