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.eyJzdWIiOiIxNjc2Iiwic2NwIjoidXNlciIsImF1ZCI6bnVsbCwiaWF0IjoxNzYzNjI2NDA4LCJleHAiOjE3NjYyMTg0MDgsImp0aSI6IjkzYjY4NTQ2LTI0MmEtNGNlMy04ZjI3LWExZDgwNjJjODc0MiJ9.fF4c8ro4nYqfFXUCOlUvwpwbXa21Puqx9xZkoCcyFWA
Host: example.org
Cookie: 

Body

{
  "timesheet": {
    "job_id": 635,
    "driver_id": 1676,
    "start_at": "2025-11-20T06:13:28Z",
    "end_at": "2025-11-20T08:13:28Z",
    "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/"184bc8414c338d16a824364b05d6d10b"
cache-control: max-age=0, private, must-revalidate
x-request-id: a29742ec-8249-4d09-a2a1-8a75152a1bbe
x-runtime: 0.015504
content-length: 322

Body

{
  "timesheet": {
    "id": 212,
    "currency": "GBP",
    "date": "2025-11-20",
    "job_title": "Real-Estate Engineer",
    "payment_state": "pending",
    "status": "pending",
    "timelog": {
      "id": 256,
      "amend_status": "original",
      "breaks": [
        {
          "id": 14,
          "duration": 3600
        }
      ],
      "duration": {
        "hours": 1
      },
      "end_at": "2025-11-20T08:13:28.000Z",
      "start_at": "2025-11-20T06:13:28.000Z"
    }
  }
}