Greenshades API v.1.0.20260226

📘

Overview

This release introduces a webhook signal for General Ledger batch submissions and includes new endpoints.

General ledger batch submission webhook

Integrations can now subscribe to the generalLedger.batch.submitted webhook event to receive authenticated notifications the moment a payroll general ledger export leaves the system, reducing the risk of missed submissions and eliminating manual polling. The WebhookEvent enum and generated release schema both advertise the new event so existing subscribers immediately see the value when refreshing their contracts.

Quarterly tax import endpoints

New workspace-scoped POST routes under /company/taxes/941-info, /company/taxes/futa-info, and /company/taxes/suta-info accept arrays of 941Info, FutaInfo, and SutaInfo payloads so partners can push quarterly totals directly into Greenshades. These operations require the GO.Api.TAX.Setup.write/full_access scopes, validate that each record contains period start/end dates plus tax-specific metrics, and respond with a SyncId envelope whenever the payload is queued for processing.

Employee-level SUTA wage imports

The Employees ▸ Taxes group adds a createEmployeeSutaInfo endpoint that ingests per-employee wage/tax totals described by the new EmployeeSutaInfo schema. With GO.Api.TAX.Employee.write/full_access scopes, integrators can submit SUTA wages, taxable/excess totals, rate and wage base data, and hours/weeks worked for every worker and state in a single batch.

Pay history import schema family

POST /payhistory/employees/import now documents the complete PayHistoryImport contract and its nested collections. The new PayHistoryImportEarning, PayHistoryImportDeduction, PayHistoryImportBenefit, and PayHistoryImportTax schemas (all extending PayRecordImportCode) clarify which fields control units, rates, tip details, jurisdiction metadata, YTD balances, and employee visibility flags. The endpoint highlights its required GO.Api.PAY.Setup.read/full_access scopes so payroll history loads can be automated safely.

Sync monitoring

To close the loop on asynchronous imports, POST /hub/syncs/{syncId}/sync-status returns the new SyncStatus schema (including success, message, and error detail fields) whenever clients present the syncId returned by any of the endpoints above. This allows integrations to poll for completion, surface validation failures, and retry without engaging support.

Payroll general ledger batches & transactions APIs

Four documented endpoints now cover the general ledger export lifecycle: list batches for a workspace, list batches tied to a pay run, fetch a specific batch, and enumerate the transactions inside it. Workspace-scoped filters (including optional start/end dates) and OAuth scope requirements are clearly called out, and the new PayrollGeneralLedgerBatch (batchId, status, submittedTimeUtc) and PayrollGeneralLedgerTransaction (accountNumber, debit/credit, department, checkDate, payPeriodEndDate) schemas describe every response payload.

API References