List endpoints

With Harvest v3, list endpoints offer enhanced functionality, allowing you to retrieve precise results tailored to your needs. These capabilities help streamline your queries and improve performance.

Available filters

For each resource, the following filters are supported:

  • cursor: Use for cursor-based pagination. (Note: Do not combine with other parameters.)
  • per_page: Specify the number of results per page.
  • ids: Filter results by specific IDs.
  • parent resource(s): Narrow results to those associated with a parent resource.
  • created_at: Filter by creation date, supporting operators such as gte, lte, gt, and lt.
  • updated_at: Filter by last updated date, supporting the same operators as created_at.
  • custom_field_option_id: Filter by custom field option ID (when applicable).
  • status: Filter by status (when applicable).

In addition, certain date, time, boolean and enum fields are filterable depending on the resource. Please refer to the individual query parameter documentation for each endpoint to see the full list of supported filters.

Example query: combining filters

Suppose you want to retrieve a list of applications that:

  • Were created on or after January 1, 2024.
  • Have a status of "hired".
  • Belong to (parent resource) specific candidates with ids (12345 and 12346)).
  • Limit the results to 50 per page.

Your API request might look like this:

GET <https://api.greenhouse.io/v3/applications?created_at=gte|2024-01-01T00:00:00Z&status=hired&candidate_ids=12345,12346&per_page=50>

What this does:

  • The created_at=gte|2024-01-01T00:00:00Z filter ensures only applications created on or after January 1, 2024, are included.
  • The status=hired filter limits the results to applications marked as "hired".
  • The candidate_ids=12345,12346 filter restricts the results to applications associated with the candidates with the specified ids.
  • The per_page=50 parameter limits the response to 50 results per page.