Daily Eld Upsert Many V1 Ep
POST/v1/payroll/daily_eld/upsert_many
Bulk Upsert Daily ELD Hours and Miles
Stores one ELD record per driver per calendar day for payroll paid by calendar date. Records need no matching shift; a later record for the same driver and date replaces the earlier one.
Request
driver_id: str
Gravitate driver id.
date: date
Calendar day the hours and miles belong to, in the driver's depot timezone (YYYY-MM-DD).
hours: float | None = None
Hours worked for the day. This is the value payroll pays.
miles: float | None = None
Total miles driven for the day.
error: str | None = None
Not sent by callers. Populated on the copies of the request echoed back in the response errors array.
Response
success: int
The number of records accepted. When a batch repeats a driver and date, the last one is stored.
errors: list
Requests that could not be stored, each with an error message.
When the tenant pays by calendar date, stored records queue one payroll recalculation per affected pay period for the affected drivers; approved pay periods are not changed.
Responses
- 200
- 422
Successful Response
- application/json
- Example (from schema)
{
"success": 0,
"errors": [
{
"driver_id": "string",
"date": "2026-11-11",
"hours": 0,
"miles": 0,
"error": "string"
}
]
}
Validation Error
- application/json
- Example (from schema)
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}