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.