---
title: "Bulk requests"
method: GET
path: "/v3/bulk_requests"
tags: ["Bulk Requests"]
---

# Bulk requests

`GET /v3/bulk_requests`

Bulk requests track the asynchronous bulk operations submitted to Harvest V3. Each time a partner hits a `/v3/<resource>/bulk` endpoint, Greenhouse creates a bulk request, returns its `bulk_action_uuid`, and dispatches each row in the `data` array to the matching single-resource endpoint in its own Sidekiq job. Use this endpoint to enumerate in-flight or recently completed bulk jobs for the calling client; use the single-bulk-request endpoint to retrieve per-row success and failure result files.

## Query parameters

- `cursor` string
- `per_page` integer
- `ids` integer[]
- `created_at` object
  - `gte` string, date-time
  - `lte` string, date-time
  - `gt` string, date-time
  - `lt` string, date-time
- `updated_at` object
  - `gte` string, date-time
  - `lte` string, date-time
  - `gt` string, date-time
  - `lt` string, date-time
- `fields` string[]
- `bulk_action_uuid` string
- `active` boolean

## Response `200`

Successful

- object[]
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `bulk_action_uuid` string — Unique identifier for the bulk request, returned when the bulk endpoint was first called. Use this to look up the request via `GET /v3/bulk_requests/{bulk_action_uuid}`.
  - `requested_by_user_id` integer — Id of the Greenhouse user the bulk request was executed on behalf of (the ISU or the access-token user).
  - `status` string — Current lifecycle state of the bulk request. One of `building` (the request is being assembled), `pending` (queued and waiting to start), `in_progress` (jobs are running), `completed` (every job finished, regardless of per-row success), or `failed` (the bulk request itself failed before its rows could run).
  - `record_count` integer — Total number of rows submitted in the bulk request's `data` array.
  - `success_count` integer — Number of rows that completed successfully so far. Updates incrementally while `status` is `in_progress`.
  - `failure_count` integer — Number of rows that returned an error so far. Updates incrementally while `status` is `in_progress`; the per-row error bodies are written to `failure_results_url` on the single-bulk-request response.
  - `callback_url` string, nullable — Webhook URL Greenhouse will POST to when the bulk request completes, as supplied at creation time. Null if no callback was requested.
  - `callback_response` string, nullable — Status-line summary of Greenhouse's POST to `callback_url` (for example `200 OK`). Null until the callback fires, or when no callback was requested.
  - `completed_at` string, date-time, nullable — Timestamp when the bulk request reached `completed` or `failed` state, in ISO 8601. Null while the request is still active.
  - `expires_at` string, date-time, nullable — Timestamp after which Greenhouse deletes this bulk request record and its result files, in ISO 8601. Null until the request finishes.
  - `api_endpoint` string — Identifier of the underlying single-resource endpoint each row in `data` is dispatched to (for example `post_v3_openings`, `delete_v3_openings`).
  - `requested_at` string, date-time, nullable — Timestamp when the bulk request was created, in ISO 8601.

---

[API](https://skmtc.dev/greenhouse/apis/auth-api.md) · [All operations](https://skmtc.dev/greenhouse/apis/auth-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/greenhouse/auth-api/revisions/9517a2e54640/schema)
