v1

latestOpenAPI 3.1.02026-07-243113441.2 MB
Reports

Create a bulk report batch

Triggers asynchronous generation of up to 25 reports across companies the partner is mapped to. Each batch item is a custom_report (same parameters as create a custom report) or a general_ledger report (same parameters as create a general ledger report), keyed by company_uuid and report_type. Items are validated synchronously; if any is invalid, the entire batch is rejected.

Poll the bulk report GET endpoint with the returned uuid for status and the report URL, which is valid for 10 minutes.

📘 System Access Authentication

This endpoint uses the Bearer Auth scheme with the system-level access token in the HTTP Authorization header

scope: company_reports:write

post/v1/bulk_reports

Headers

X-Gusto-API-Version'2026-06-15'

Determines the date-based API version associated with your API call. If none is provided, your application's minimum API version is used.

Request body

Example request

{
  "batch": [
    {
      "company_uuid": "12345678-abcd-ef12-3456-7890abcdef12",
      "report_type": "custom_report",
      "columns": [
        "employee_first_name"
      ],
      "groupings": [
        "employee"
      ],
      "file_type": "csv",
      "custom_name": "Q1 Payroll Export",
      "with_totals": false,
      "start_date": "2026-01-01",
      "end_date": "2026-03-31",
      "date_filter_type": "check_date",
      "payment_method": "check",
      "employment_type": "exempt",
      "employment_status": "active_full_time"
    },
    {
      "company_uuid": "12345678-abcd-ef12-3456-7890abcdef12",
      "report_type": "general_ledger",
      "payroll_uuid": "7b1d0df1-6403-4a06-8768-c1dd7d24d27a",
      "aggregation": "default"
    }
  ]
}

Response

Created

uuidstring uuid required

Unique identifier of the bulk report batch.

status'pending' | 'processing' | 'completed' | 'failed' required

The batch's processing state.

  • pending: accepted, not yet started
  • processing: reports are being generated
  • completed: all reports finished
  • failed: the batch failed before completing