The Timesheet object
Attributes
Unique identifier for the object.
ISO 8601 timestamp of when the object was created.
ISO 8601 timestamp of when the object was last updated.
Default: draft
Default: {employee_name}
Default: 0
Default: 0
Default: 1
{
"id": "timesheet_abc123",
"created_at": "2024-01-15T09: 30: 00Z",
"updated_at": "2024-01-15T09: 30: 00Z",
"status": "draft",
"title": "{employee_name}",
"company": "Example Corp",
"sales_invoice": "sales_invoice_example",
"employee": "employee_example",
"employee_name": "employee_name_example",
"department": "department_example",
"user": "user_example",
"start_date": "2024-01-15",
"end_date": "2024-01-15",
"total_hours": 0,
"total_billable_hours": 0,
"total_billed_hours": 0,
"total_costing_amount": 0,
"total_billable_amount": 0,
"total_billed_amount": 0,
"per_billed": 0,
"note": "note_example",
"parent_project": "parent_project_example",
"customer": "customer_example",
"currency": "USD",
"base_total_costing_amount": 0,
"base_total_billable_amount": 0,
"base_total_billed_amount": 0,
"exchange_rate": 1
} /api/projects/timesheet/{id} Retrieve a timesheet
Retrieves the details of an existing timesheet. Supply the unique timesheet ID that was returned from a previous request.
Path parameters
The identifier of the timesheet to retrieve.
Returns
Returns the timesheet object if a valid identifier was provided.
curl https://api.overplane.dev/api/projects/timesheet/timesheet_abc123 \
-H "Authorization: Bearer sk_test_..." {
"id": "timesheet_abc123",
"created_at": "2024-01-15T09: 30: 00Z",
"updated_at": "2024-01-15T09: 30: 00Z",
"status": "draft",
"title": "{employee_name}",
"company": "Example Corp",
"sales_invoice": "sales_invoice_example",
"employee": "employee_example",
"employee_name": "employee_name_example",
"department": "department_example",
"user": "user_example",
"start_date": "2024-01-15",
"end_date": "2024-01-15",
"total_hours": 0,
"total_billable_hours": 0,
"total_billed_hours": 0,
"total_costing_amount": 0,
"total_billable_amount": 0,
"total_billed_amount": 0,
"per_billed": 0,
"note": "note_example",
"parent_project": "parent_project_example",
"customer": "customer_example",
"currency": "USD",
"base_total_costing_amount": 0,
"base_total_billable_amount": 0,
"base_total_billed_amount": 0,
"exchange_rate": 1
} /api/projects/timesheet List all timesheets
Returns a list of timesheets. The results are sorted by creation date, with the most recently created appearing first.
Query parameters
Maximum number of objects to return. Default: 20.
Number of objects to skip for pagination. Default: 0.
Returns
A paginated list of timesheet objects.
curl https://api.overplane.dev/api/projects/timesheet \
-H "Authorization: Bearer sk_test_..." {
"data": [
{
"id": "timesheet_abc123",
"created_at": "2024-01-15T09: 30: 00Z",
"updated_at": "2024-01-15T09: 30: 00Z",
"status": "draft",
"title": "{employee_name}",
"company": "Example Corp",
"sales_invoice": "sales_invoice_example",
"employee": "employee_example",
"employee_name": "employee_name_example",
"department": "department_example",
"user": "user_example",
"start_date": "2024-01-15",
"end_date": "2024-01-15",
"total_hours": 0,
"total_billable_hours": 0,
"total_billed_hours": 0,
"total_costing_amount": 0,
"total_billable_amount": 0,
"total_billed_amount": 0,
"per_billed": 0,
"note": "note_example",
"parent_project": "parent_project_example",
"customer": "customer_example",
"currency": "USD",
"base_total_costing_amount": 0,
"base_total_billable_amount": 0,
"base_total_billed_amount": 0,
"exchange_rate": 1
}
],
"has_more": false,
"total": 1
} /api/projects/timesheet Create a timesheet
Creates a new timesheet object.
Body parameters
Default: draft
Default: {employee_name}
Default: 0
Default: 0
Default: 1
Returns
Returns the newly created timesheet object if the call succeeded.
curl https://api.overplane.dev/api/projects/timesheet \
-H "Authorization: Bearer sk_test_..." \
-X POST \
-H "Content-Type: application/json" {
"id": "timesheet_abc123",
"created_at": "2024-01-15T09: 30: 00Z",
"updated_at": "2024-01-15T09: 30: 00Z",
"status": "draft",
"title": "{employee_name}",
"company": "Example Corp",
"sales_invoice": "sales_invoice_example",
"employee": "employee_example",
"employee_name": "employee_name_example",
"department": "department_example",
"user": "user_example",
"start_date": "2024-01-15",
"end_date": "2024-01-15",
"total_hours": 0,
"total_billable_hours": 0,
"total_billed_hours": 0,
"total_costing_amount": 0,
"total_billable_amount": 0,
"total_billed_amount": 0,
"per_billed": 0,
"note": "note_example",
"parent_project": "parent_project_example",
"customer": "customer_example",
"currency": "USD",
"base_total_costing_amount": 0,
"base_total_billable_amount": 0,
"base_total_billed_amount": 0,
"exchange_rate": 1
} /api/projects/timesheet/{id} Update a timesheet
Updates the specified timesheet by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Path parameters
The identifier of the timesheet to update.
Body parameters
Default: draft
Default: {employee_name}
Default: 0
Default: 0
Default: 1
Returns
Returns the updated timesheet object.
curl https://api.overplane.dev/api/projects/timesheet/timesheet_abc123 \
-H "Authorization: Bearer sk_test_..." \
-X PATCH \
-H "Content-Type: application/json" \
-d '{"status":"draft","title":"{employee_name}"}' {
"id": "timesheet_abc123",
"created_at": "2024-01-15T09: 30: 00Z",
"updated_at": "2024-01-15T09: 30: 00Z",
"status": "draft",
"title": "{employee_name}",
"company": "Example Corp",
"sales_invoice": "sales_invoice_example",
"employee": "employee_example",
"employee_name": "employee_name_example",
"department": "department_example",
"user": "user_example",
"start_date": "2024-01-15",
"end_date": "2024-01-15",
"total_hours": 0,
"total_billable_hours": 0,
"total_billed_hours": 0,
"total_costing_amount": 0,
"total_billable_amount": 0,
"total_billed_amount": 0,
"per_billed": 0,
"note": "note_example",
"parent_project": "parent_project_example",
"customer": "customer_example",
"currency": "USD",
"base_total_costing_amount": 0,
"base_total_billable_amount": 0,
"base_total_billed_amount": 0,
"exchange_rate": 1
} /api/projects/timesheet/{id} Delete a timesheet
Permanently deletes a timesheet. This cannot be undone.
Path parameters
The identifier of the timesheet to delete.
Returns
Returns a confirmation that the timesheet has been deleted.
curl https://api.overplane.dev/api/projects/timesheet/timesheet_abc123 \
-H "Authorization: Bearer sk_test_..." \
-X DELETE {
"id": "timesheet_abc123",
"deleted": true
} /api/projects/timesheet/{id}/submit Submit a timesheet
Submits a draft timesheet, transitioning its status from draft to submitted.
Path parameters
The identifier of the timesheet to act on.
Returns
Returns the timesheet object with updated status.
curl https://api.overplane.dev/api/projects/timesheet/timesheet_abc123/submit \
-H "Authorization: Bearer sk_test_..." \
-X POST {
"id": "timesheet_abc123",
"created_at": "2024-01-15T09: 30: 00Z",
"updated_at": "2024-01-15T09: 30: 00Z",
"status": "draft",
"title": "{employee_name}",
"company": "Example Corp",
"sales_invoice": "sales_invoice_example",
"employee": "employee_example",
"employee_name": "employee_name_example",
"department": "department_example",
"user": "user_example",
"start_date": "2024-01-15",
"end_date": "2024-01-15",
"total_hours": 0,
"total_billable_hours": 0,
"total_billed_hours": 0,
"total_costing_amount": 0,
"total_billable_amount": 0,
"total_billed_amount": 0,
"per_billed": 0,
"note": "note_example",
"parent_project": "parent_project_example",
"customer": "customer_example",
"currency": "USD",
"base_total_costing_amount": 0,
"base_total_billable_amount": 0,
"base_total_billed_amount": 0,
"exchange_rate": 1
} /api/projects/timesheet/{id}/cancel Cancel a timesheet
Cancels a submitted timesheet, transitioning its status to cancelled.
Path parameters
The identifier of the timesheet to act on.
Returns
Returns the timesheet object with updated status.
curl https://api.overplane.dev/api/projects/timesheet/timesheet_abc123/cancel \
-H "Authorization: Bearer sk_test_..." \
-X POST {
"id": "timesheet_abc123",
"created_at": "2024-01-15T09: 30: 00Z",
"updated_at": "2024-01-15T09: 30: 00Z",
"status": "draft",
"title": "{employee_name}",
"company": "Example Corp",
"sales_invoice": "sales_invoice_example",
"employee": "employee_example",
"employee_name": "employee_name_example",
"department": "department_example",
"user": "user_example",
"start_date": "2024-01-15",
"end_date": "2024-01-15",
"total_hours": 0,
"total_billable_hours": 0,
"total_billed_hours": 0,
"total_costing_amount": 0,
"total_billable_amount": 0,
"total_billed_amount": 0,
"per_billed": 0,
"note": "note_example",
"parent_project": "parent_project_example",
"customer": "customer_example",
"currency": "USD",
"base_total_costing_amount": 0,
"base_total_billable_amount": 0,
"base_total_billed_amount": 0,
"exchange_rate": 1
} Line items
Child objects that belong to this timesheet. These are accessed via the parent's ID.
Timesheet Detail
Attributes
Endpoints
/api/projects/timesheet-detail?parent_id={id} /api/projects/timesheet-detail /api/projects/timesheet-detail/{id} /api/projects/timesheet-detail/{id} /api/projects/timesheet-detail/reorder {
"id": "timesheet-detail_abc123",
"idx": 1,
"timesheet_id": "timesheet_id_example",
"activity_type": "activity_type_example",
"from_time": "from_time_example",
"expected_hours": 0,
"hours": 0,
"to_time": "to_time_example",
"completed": false,
"project": "project_example",
"task": "task_example",
"billing_hours": 0,
"billing_rate": 0,
"billing_amount": 0,
"costing_rate": 0,
"costing_amount": 0,
"sales_invoice": "sales_invoice_example",
"is_billable": false,
"project_name": "project_name_example",
"description": "description_example",
"base_billing_rate": 0,
"base_billing_amount": 0,
"base_costing_rate": 0,
"base_costing_amount": 0
}