Overview and philosophy
The Harvest API is a RESTful API that allows programmatic access to certain Greenhouse data. It uses resource-oriented URLs, standard HTTP methods and response codes, JSON-formatted responses, and token-based authentication.
Why Harvest v3
Harvest v3 focuses on improving system performance, enhancing security, and introducing more consistent design patterns across endpoints. These improvements aim to simplify integration development and create a more predictable experience for API users.
Design Philosophy
Our approach to API design in v3 emphasizes clear relationships between resources, reduced payload complexity, and consistent behavior across endpoints.
Resource Relationships
- Child resources are no longer embedded within parent resources (for example, the
GET /candidates
endpoint no longer includes all applications associated with a candidate). - Instead, you can retrieve child objects directly or use filters to query relationships (e.g., filter applications by candidate ID).
When Nesting Still Occurs
We use nested objects only when:
- The nested object includes unique data specific to the parent resource.
- The nested resource cannot be directly accessed or updated via another endpoint.
This approach reduces redundancy, improves performance, and encourages clearer resource separation.
Updated 5 days ago