Timesheets

Create timesheet manually

POST create timesheet

Endpoint

POST /api/v1/timesheets/manual

Parameters

Name Description
timesheet[start_at] required Timesheet start at
timesheet[end_at] required Timesheet end at
timesheet[breaks_attributes] Timesheet breaks attributes
timesheet[date] required Timesheet date

Request

Route

POST /api/v1/timesheets/manual

Headers

Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjI5Iiwic2NwIjoidXNlciIsImF1ZCI6bnVsbCwiaWF0IjoxNzYwOTUwNDcyLCJleHAiOjE3NjM1NDI0NzIsImp0aSI6IjAxMDBjYmFmLWJlZjEtNDNlYS1iZmFiLThlMWY4MmFjZmI1MyJ9.Zk6z1JzYM6fibaEUOz0vbBWDisPJOxRJ1tRb0nSbBbE
Host: example.org
Cookie: 

Body

{
  "timesheet": {
    "job_id": 596,
    "driver_id": 1629,
    "start_at": "2025-10-20T06:54:32Z",
    "end_at": "2025-10-20T08:54:32Z",
    "breaks_attributes": [
      {
        "duration": 3600
      }
    ]
  }
}

Response

Simulated Response

Status

200

Headers

x-frame-options: SAMEORIGIN
x-xss-protection: 0
x-content-type-options: nosniff
x-permitted-cross-domain-policies: none
referrer-policy: strict-origin-when-cross-origin
content-type: application/json; charset=utf-8
vary: Accept, Origin
etag: W/"d197c16eb00072dcace6f20988ab0c4a"
cache-control: max-age=0, private, must-revalidate
x-request-id: 58b57b5a-9adf-4f30-b9ff-e8788592a723
x-runtime: 0.016710
content-length: 325

Body

{
  "timesheet": {
    "id": 194,
    "currency": "GBP",
    "date": "2025-10-20",
    "job_title": "Customer Design Liaison",
    "payment_state": "pending",
    "status": "pending",
    "timelog": {
      "id": 235,
      "amend_status": "original",
      "breaks": [
        {
          "id": 13,
          "duration": 3600
        }
      ],
      "duration": {
        "hours": 1
      },
      "end_at": "2025-10-20T08:54:32.000Z",
      "start_at": "2025-10-20T06:54:32.000Z"
    }
  }
}