Skip to main content

Special Pay Request Upsert Many V1 Ep

POST 

/v1/payroll/special_pay_request/upsert_many

Bulk Upsert Special Pay Requests

Add special pay line items to driver payroll reports in bulk. Special pay configurations must already exist in Gravitate.

Required Scopes (idpw)

Accepts multiple special pay requests in a single call. Validates each request individually and returns successful count + failed requests with error messages. Triggers automatic payroll recalculation for impacted drivers.

Request

id: str | None = None Update existing special pay request, or create new if not provided.


driver_id: str (required) Driver identifier.


date: datetime (required) Date when the special pay was earned.


pay_type_id: str (required) Special pay configuration ID.


quantity: float (required) Quantity or amount for the special pay item.


start_date: datetime | None = None Payroll period start date for recalculation.


driver_schedule_id: str | None = None Associate with specific shift, or leave null for shiftless special pay.


order_number: int | None = None Associate with specific order.


site_ids: list[str] | None = None Associated site/location IDs.


accessorial_total: float | None = None Used for percent of accessorial calculations.


market: str | None = None Market identifier.


note: str | None = None Optional note or description.

Response

success: int Number of special pay requests successfully processed.


errors: list Failed requests with original data + error message.

Responses

Successful Response

{
"success": 0,
"errors": [
{
"id": "string",
"start_date": "2025-12-17T21:49:50.718Z",
"driver_id": "string",
"date": "2025-12-17T21:49:50.718Z",
"pay_type_id": "string",
"quantity": 0,
"driver_schedule_id": "string",
"market": "string",
"note": "string",
"order_number": 0,
"site_ids": [
"string"
],
"accessorial_total": 0,
"error": "string"
}
]
}
Loading...