Greenhouse software is a leading applicant tracking system (ATS) and recruiting platform designed to enhance the recruitment process for organizations of all sizes. By offering a comprehensive suite of tools, Greenhouse streamlines the entire hiring workflow, from sourcing candidates to managing applications and coordinating interviews. This robust software empowers human resources and recruitment teams to collaborate effectively, ensuring a seamless and efficient hiring process. With its focus on data-driven decision-making, Greenhouse provides valuable insights through recruiting metrics, enabling organizations to optimize their recruitment strategies and improve overall hiring outcomes.
A key feature of Greenhouse is its ability to integrate seamlessly with other platforms through the Greenhouse API. This integration capability allows businesses to customize and extend the functionality of the software, ensuring it meets their unique recruitment needs. By leveraging the Greenhouse API, organizations can automate various aspects of the recruitment process, enhance data sharing across systems, and create a more cohesive and efficient hiring ecosystem. As a result, Greenhouse not only simplifies recruitment but also fosters a more strategic approach to talent acquisition.
Key Highlights of Greenhouse APIs
- 1. Easy Data Access:
- Facilitates seamless data flow into and out of the platform.
- 2. Custom Integration:
- Allows for tailored integrations to fit specific hiring workflows.
- 3. Real-Time Sync:
- Typically supports real-time data synchronization.
- 4. Strong Security:
- Implements security measures to protect data and ensure secure access.
- 5. Scalable:
- Designed to handle varying loads, suitable for different users and organizations.
- 6. Developer-Friendly:
- Accessible to developers with documentation and support.
- 7. Global Support:
- Accommodates international users and functions across regions.
- 8. Error Handling and Logging:
- Includes features for robust error handling.
- 9. Rate Limiting:
- Prevents abuse and ensures fair usage.
- 10. Version Control:
- Manages changes and updates without disrupting existing integrations.
- 11. Data Transformation:
- Allows manipulation of data formats as needed.
- 12. Webhook Support:
- Enables real-time notifications and updates.
- 13. Detailed Analytics and Reporting:
- Provides insights into hiring processes and data usage.
- 14. Sandbox Environment:
- Allows testing of integrations and features without affecting live data.
Greenhouse API Endpoints
General
- POST https://api.example.com/greenhouse/test : Test Greenhouse API
- POST https://api.example.com/v1/sample : Sample API
Applications
- POST https://api.greenhouse.io/v1/applications/{application_id}/advance : Advance Application
- GET https://harvest.greenhouse.io/v1/applications/{application_id}/offers : List Offers Associated with an Application
- GET https://harvest.greenhouse.io/v1/applications/{application_id}/offers/current_offer : Fetch Current Offer for Application
- GET https://harvest.greenhouse.io/v1/applications/{id} : Retrieve Application by ID
- PATCH https://harvest.greenhouse.io/v1/applications/{id}/convert_prospect : Convert Prospect Application to Candidate
- GET https://harvest.greenhouse.io/v1/applications/{id}/demographics/answers : List Demographic Answers for an Application
- GET https://harvest.greenhouse.io/v1/applications/{id}/eeoc : Retrieve Application EEOC Data
- POST https://harvest.greenhouse.io/v1/applications/{id}/hire : Hire Application
- POST https://harvest.greenhouse.io/v1/applications/{id}/move : Move Application Between Stages
- PATCH https://harvest.greenhouse.io/v1/applications/{id}/offers/current_offer : Update Current Offer on Application
- POST https://harvest.greenhouse.io/v1/applications/{id}/reject : Reject Application
- GET https://harvest.greenhouse.io/v1/applications/{id}/scheduled_interviews : Get Scheduled Interviews for an Application
- GET https://harvest.greenhouse.io/v1/applications/{id}/scorecards : List All Submitted Scorecards for an Application
- POST https://harvest.greenhouse.io/v1/applications/{id}/transfer_to_job : Transfer Application to Different Job Stage
- POST https://harvest.greenhouse.io/v1/applications/{id}/unreject : Unreject Application
Approval Flows
- GET https://harvest.greenhouse.io/v1/approval_flows/{id} : Retrieve Approval Flow
- POST https://harvest.greenhouse.io/v1/approval_flows/{id}/request_approvals : Request Approval Flow Start
Approver Groups
- PUT https://harvest.greenhouse.io/v1/approver_groups/{approver_group_id}/replace_approvers : Replace Approvers in Approver Group
Candidates
- POST https://harvest.greenhouse.io/v1/candidates : Create a New Candidate
- PUT https://harvest.greenhouse.io/v1/candidates/merge : Merge Two Candidates
- DELETE https://harvest.greenhouse.io/v1/candidates/{candidate_id}/educations/{education_id} : Delete Education Record by Candidate and Education ID
- DELETE https://harvest.greenhouse.io/v1/candidates/{candidate_id}/employments/{employment_id} : Delete Employment Record
- PUT https://harvest.greenhouse.io/v1/candidates/{candidate_id}/tags/{tag_id} : Apply a Tag to a Candidate
- DELETE https://harvest.greenhouse.io/v1/candidates/{id} : Delete Candidate by ID
- POST https://harvest.greenhouse.io/v1/candidates/{id}/activity_feed/emails : Create Candidate Email Note
- POST https://harvest.greenhouse.io/v1/candidates/{id}/activity_feed/notes : Create Candidate Note
- PUT https://harvest.greenhouse.io/v1/candidates/{id}/anonymize?fields={field_names} : Anonymize Candidate Data
- POST https://harvest.greenhouse.io/v1/candidates/{id}/attachments : Post Attachment to Candidate Profile
- POST https://harvest.greenhouse.io/v1/candidates/{id}/educations : Create a New Education Record for a Candidate
- POST https://harvest.greenhouse.io/v1/candidates/{id}/employments : Create a New Employment Record
- GET https://harvest.greenhouse.io/v1/candidates/{id}/tags : Retrieve Candidate Tags
Close Reasons
- GET https://harvest.greenhouse.io/v1/close_reasons : List Organizationâs Close Reasons
Custom Fields
- GET https://harvest.greenhouse.io/v1/custom_field/{id} : Get Custom Field by ID
- DELETE https://harvest.greenhouse.io/v1/custom_field/{id}/custom_field_options : Destroy Custom Field Options
- POST https://harvest.greenhouse.io/v1/custom_fields : Create Custom Fields in Greenhouse
- GET https://harvest.greenhouse.io/v1/custom_fields/{field_type} : Get Custom Fields
- DELETE https://harvest.greenhouse.io/v1/custom_fields/{id} : Delete Custom Field
Degrees
- GET https://harvest.greenhouse.io/v1/degrees : Retrieve All Degree and Education Levels
Demographics
- GET https://harvest.greenhouse.io/v1/demographics/answer_options : List Organizationâs Demographic Answer Options
- GET https://harvest.greenhouse.io/v1/demographics/answer_options/{id} : Retrieve Demographic Answer Option by ID
- GET https://harvest.greenhouse.io/v1/demographics/answers : List Organizationâs Demographic Answers
- GET https://harvest.greenhouse.io/v1/demographics/answers/{id} : Retrieve Demographic Answer by ID
- GET https://harvest.greenhouse.io/v1/demographics/question_sets : List Organizationâs Demographic Question Sets
- GET https://harvest.greenhouse.io/v1/demographics/question_sets/{id} : Retrieve Demographic Question Set by ID
- GET https://harvest.greenhouse.io/v1/demographics/question_sets/{id}/questions : List Demographic Questions for a Question Set
- GET https://harvest.greenhouse.io/v1/demographics/questions : List Organizationâs Demographic Questions
- GET https://harvest.greenhouse.io/v1/demographics/questions/{id} : Retrieve Demographic Question by ID
- GET https://harvest.greenhouse.io/v1/demographics/questions/{id}/answer_options : List Demographic Answer Options
Departments
- GET https://harvest.greenhouse.io/v1/departments : List Organizationâs Departments
- PATCH https://harvest.greenhouse.io/v1/departments/{id} : Edit Departmentâs Basic Information
Disciplines
- GET https://harvest.greenhouse.io/v1/disciplines : List Organizationâs Disciplines
EEOC
- GET https://harvest.greenhouse.io/v1/eeoc : List Organizationâs EEOC Data
Email Templates
- GET https://harvest.greenhouse.io/v1/email_templates : List Organizationâs Email Templates
- GET https://harvest.greenhouse.io/v1/email_templates/{id} : Retrieve Email Template by ID
Job Posts
- GET https://harvest.greenhouse.io/v1/job_posts : List Organizationâs Job Posts
- GET https://harvest.greenhouse.io/v1/job_posts/{id} : Get Single Job Post
- GET https://harvest.greenhouse.io/v1/job_posts/{id}/custom_locations : List Custom Location Options for Job Post
Job Stages
- GET https://harvest.greenhouse.io/v1/job_stages : List Organizationâs Job Stages
- GET https://harvest.greenhouse.io/v1/job_stages/{id} : Retrieve Job Stage by ID
Jobs
- GET https://harvest.greenhouse.io/v1/jobs : List Organizationâs Jobs
- PATCH https://harvest.greenhouse.io/v1/jobs/{id} : Update Job Details
- GET https://harvest.greenhouse.io/v1/jobs/{id}/approval_flows : List all of a jobâs approval flows
- GET https://harvest.greenhouse.io/v1/jobs/{id}/hiring_team : Get Hiring Team for a Job
- GET https://harvest.greenhouse.io/v1/jobs/{id}/job_post : Retrieve Job Post by Job ID
- GET https://harvest.greenhouse.io/v1/jobs/{id}/job_posts : List Job Posts for a Given Job ID
- GET https://harvest.greenhouse.io/v1/jobs/{id}/stages : Retrieve Job Stages by Job ID
- PUT https://harvest.greenhouse.io/v1/jobs/{job_id}/approval_flows : Create or Replace Approval Flow for a Job or Offer
- POST https://harvest.greenhouse.io/v1/jobs/{job_id}/openings : Create Job Openings in Greenhouse
- PATCH https://harvest.greenhouse.io/v1/jobs/{job_id}/openings/{id} : Update Job Opening Details
Offers
- GET https://harvest.greenhouse.io/v1/offers : Get All Offers Made by an Organization
- GET https://harvest.greenhouse.io/v1/offers/{id} : Retrieve Offer by ID
Offices
- POST https://harvest.greenhouse.io/v1/offices : Create a New Office
- PATCH https://harvest.greenhouse.io/v1/offices/{id} : Edit Office Basic Information
Prospect Pools
- GET https://harvest.greenhouse.io/v1/prospect_pools : List Organizationâs Prospect Pools
- GET https://harvest.greenhouse.io/v1/prospect_pools/{id} : Retrieve Prospect Pool
Prospects
- POST https://harvest.greenhouse.io/v1/prospects : Create a New Prospect in Greenhouse
Rejection Reasons
- GET https://harvest.greenhouse.io/v1/rejection_reasons : List Organizationâs Rejection Reasons
Scheduled Interviews
- GET https://harvest.greenhouse.io/v1/scheduled_interviews : List Scheduled Interviews for an Organization
- DELETE https://harvest.greenhouse.io/v1/scheduled_interviews/{id} : Delete a Scheduled Interview by ID
- POST https://harvest.greenhouse.io/v2/scheduled_interviews : Create a New Scheduled Interview
- PATCH https://harvest.greenhouse.io/v2/scheduled_interviews/{id} : Update a Scheduled Interview
Schools
- GET https://harvest.greenhouse.io/v1/schools : List Organizationâs Schools
Scorecards
- GET https://harvest.greenhouse.io/v1/scorecards : List Organizationâs Scorecards
- GET https://harvest.greenhouse.io/v1/scorecards/{id} : Retrieve Scorecard
Sources
- GET https://harvest.greenhouse.io/v1/sources : List Organizationâs Sources Grouped by Strategy
Tags
- POST https://harvest.greenhouse.io/v1/tags/candidate : Add a New Candidate Tag to Organization
- DELETE https://harvest.greenhouse.io/v1/tags/candidate/{tag id} : Remove Candidate Tag from Organization
Tracking Links
- GET https://harvest.greenhouse.io/v1/tracking_links/{token} : Retrieve Tracking Link Data
User Roles
- GET https://harvest.greenhouse.io/v1/user_roles : List Organizationâs Roles for User Assignment
Users
- POST https://harvest.greenhouse.io/v1/users : Create a New User with Basic Permissions
- PATCH https://harvest.greenhouse.io/v1/users/permission_level : Change User Permission Level to Basic
- GET https://harvest.greenhouse.io/v1/users/{id} : Retrieve User Details
- POST https://harvest.greenhouse.io/v1/users/{id}/email_addresses : Create Unverified Email Address for User
- DELETE https://harvest.greenhouse.io/v1/users/{id}/permissions/future_jobs : Delete Userâs Future Job Permission
- POST https://harvest.greenhouse.io/v1/users/{id}/permissions/jobs : Create Job Permission for User
- GET https://harvest.greenhouse.io/v1/users/{user_id}/pending_approvals : Get Pending Approvals for User
- PATCH https://harvest.greenhouse.io/v2/users/ : Edit Userâs Basic Information
- PATCH https://harvest.greenhouse.io/v2/users/disable : Disable a User
- PATCH https://harvest.greenhouse.io/v2/users/enable : Enable a User in Greenhouse
Job Posts (v2)
- PATCH https://harvest.greenhouse.io/v2/job_posts/{id} : Update Job Post Properties
- PATCH https://harvest.greenhouse.io/v2/job_posts/{id}/status : Update Job Post Status
Jobs (v2)
- DELETE https://harvest.greenhouse.io/v2/jobs/{job_id}/openings : Delete Job Openings
â
Greenhouse API FAQs
How do I generate an API key in Greenhouse?
- Answer: To generate an API key in Greenhouse:some text
- Click the Configure icon on your navigation bar.
- Navigate to Dev Center > API Credential Management.
- Click Create New API Key.
- Select the API type (e.g., Harvest) and provide a description.
- Click Create and copy the generated API key to a secure location.
- Source: Create a Harvest API key for an integration â Greenhouse Support
What authentication method does the Greenhouse API use?
- Answer: The Greenhouse API uses HTTP Basic Authentication. The API key serves as the username, and the password should be left blank. Include the âAuthorizationâ header in your HTTP requests, formatted as âBasic {Base64EncodedAPIKey:}â.
- Source: Harvest API | Greenhouse â Greenhouse Software
Are there rate limits for the Greenhouse API?
- Answer: Yes, Greenhouse enforces rate limits to ensure fair usage:some text
- Harvest API: 50 requests per 10 seconds.
- Exceeding the limit will return an HTTP 429 response.
- Source: Harvest API | Greenhouse â Greenhouse Software
Can I retrieve candidate information using the Greenhouse API?
- Answer: Yes, you can retrieve candidate information using the Harvest API. For example, to list all candidates, make a GET request to the /v1/candidates/ endpoint.
- Source: Harvest API | Greenhouse â Greenhouse Software
Does the Greenhouse API support webhooks?
- Answer: Yes, Greenhouse supports webhooks, allowing you to receive real-time notifications for specific events, such as candidate application submissions or status changes.
- Source: Developer Resources | Greenhouse
â
Get Started with Greenhouse API Integration
For quick and seamless integration with Greenhouse API, Knit API offers a convenient solution. Itâs AI powered integration platform allows you to build any Greenhouse API Integration use case. By integrating with Knit just once, you can integrate with multiple other CRMs, HRIS, Accounting, and other systems in one go with a unified approach. Knit takes care of all the authentication, authorization, and ongoing integration maintenance. This approach not only saves time but also ensures a smooth and reliable connection to Greenhouse API.â
To sign up for free, click here. To check the pricing, see our pricing page.
â