# \TimesheetApi
All URIs are relative to *http://localhost*
[**delete_delete_timesheet**](TimesheetApi.md#delete_delete_timesheet) | **DELETE** /api/timesheets/{id} | Delete an existing timesheet record
[**get_active_timesheet**](TimesheetApi.md#get_active_timesheet) | **GET** /api/timesheets/active | Returns the collection of active timesheet records
[**get_get_timesheet**](TimesheetApi.md#get_get_timesheet) | **GET** /api/timesheets/{id} | Returns one timesheet record
[**get_get_timesheets**](TimesheetApi.md#get_get_timesheets) | **GET** /api/timesheets | Returns a collection of timesheet records (which are visible to the user)
[**get_recent_timesheet**](TimesheetApi.md#get_recent_timesheet) | **GET** /api/timesheets/recent | Returns the collection of recent user activities
[**get_restart_timesheet_get**](TimesheetApi.md#get_restart_timesheet_get) | **GET** /api/timesheets/{id}/restart | Restarts a previously stopped timesheet record for the current user
[**get_stop_timesheet_get**](TimesheetApi.md#get_stop_timesheet_get) | **GET** /api/timesheets/{id}/stop | Stops an active timesheet record.
[**patch_app_api_timesheet_meta**](TimesheetApi.md#patch_app_api_timesheet_meta) | **PATCH** /api/timesheets/{id}/meta | Sets the value of a meta-field for an existing timesheet.
[**patch_duplicate_timesheet**](TimesheetApi.md#patch_duplicate_timesheet) | **PATCH** /api/timesheets/{id}/duplicate | Duplicates an existing timesheet record
[**patch_export_timesheet**](TimesheetApi.md#patch_export_timesheet) | **PATCH** /api/timesheets/{id}/export | Switch the export state of a timesheet record to (un-)lock it
[**patch_patch_timesheet**](TimesheetApi.md#patch_patch_timesheet) | **PATCH** /api/timesheets/{id} | Update an existing timesheet record
[**patch_restart_timesheet**](TimesheetApi.md#patch_restart_timesheet) | **PATCH** /api/timesheets/{id}/restart | Restarts a previously stopped timesheet record for the current user
[**patch_stop_timesheet**](TimesheetApi.md#patch_stop_timesheet) | **PATCH** /api/timesheets/{id}/stop | Stops an active timesheet record.
[**post_post_timesheet**](TimesheetApi.md#post_post_timesheet) | **POST** /api/timesheets | Creates a new timesheet record
## delete_delete_timesheet
> delete_delete_timesheet(id)
Delete an existing timesheet record
### Parameters
**id** | **String** | Timesheet record ID to delete | [required] |
### Return type
(empty response body)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_active_timesheet
> Vec<models::TimesheetCollectionExpanded> get_active_timesheet()
Returns the collection of active timesheet records
### Parameters
This endpoint does not need any parameter.
### Return type
[**Vec<models::TimesheetCollectionExpanded>**](TimesheetCollectionExpanded.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_get_timesheet
> models::TimesheetEntity get_get_timesheet(id)
Returns one timesheet record
### Parameters
**id** | **String** | Timesheet record ID to fetch | [required] |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_get_timesheets
> Vec<models::TimesheetCollection> get_get_timesheets(user, users_left_square_bracket_right_square_bracket, customer, customers_left_square_bracket_right_square_bracket, project, projects_left_square_bracket_right_square_bracket, activity, activities_left_square_bracket_right_square_bracket, page, size, tags_left_square_bracket_right_square_bracket, order_by, order, begin, end, exported, active, billable, full, term, modified_after)
Returns a collection of timesheet records (which are visible to the user)
### Parameters
**user** | Option<**String**> | User ID to filter timesheets. Needs permission 'view_other_timesheet', pass 'all' to fetch data for all user (default: current user) | |
**users_left_square_bracket_right_square_bracket** | Option<[**Vec<serde_json::Value>**](serde_json::Value.md)> | List of user IDs to filter, e.g.: users[]=1&users[]=2 (ignored if user=all) | |[default to []]
**customer** | Option<**String**> | Customer ID to filter timesheets | |
**customers_left_square_bracket_right_square_bracket** | Option<[**Vec<serde_json::Value>**](serde_json::Value.md)> | List of customer IDs to filter, e.g.: customers[]=1&customers[]=2 | |[default to []]
**project** | Option<**String**> | Project ID to filter timesheets | |
**projects_left_square_bracket_right_square_bracket** | Option<[**Vec<serde_json::Value>**](serde_json::Value.md)> | List of project IDs to filter, e.g.: projects[]=1&projects[]=2 | |[default to []]
**activity** | Option<**String**> | Activity ID to filter timesheets | |
**activities_left_square_bracket_right_square_bracket** | Option<[**Vec<serde_json::Value>**](serde_json::Value.md)> | List of activity IDs to filter, e.g.: activities[]=1&activities[]=2 | |[default to []]
**page** | Option<**String**> | The page to display, renders a 404 if not found (default: 1) | |
**size** | Option<**String**> | The amount of entries for each page (default: 50) | |
**tags_left_square_bracket_right_square_bracket** | Option<[**Vec<serde_json::Value>**](serde_json::Value.md)> | List of tag names, e.g. tags[]=bar&tags[]=foo | |[default to []]
**order_by** | Option<**String**> | The field by which results will be ordered. Allowed values: id, begin, end, rate (default: begin) | |
**order** | Option<**String**> | The result order. Allowed values: ASC, DESC (default: DESC) | |
**begin** | Option<**String**> | Only records after this date will be included (format: HTML5 datetime-local, e.g. YYYY-MM-DDThh:mm:ss) | |
**end** | Option<**String**> | Only records before this date will be included (format: HTML5 datetime-local, e.g. YYYY-MM-DDThh:mm:ss) | |
**exported** | Option<**String**> | Use this flag if you want to filter for export state. Allowed values: 0=not exported, 1=exported (default: all) | |
**active** | Option<**String**> | Filter for running/active records. Allowed values: 0=stopped, 1=active (default: all) | |
**billable** | Option<**String**> | Filter for non-/billable records. Allowed values: 0=non-billable, 1=billable (default: all) | |
**full** | Option<**String**> | Allows to fetch full objects including subresources. Allowed values: 0|1|false|true (default: false) | |
**term** | Option<**String**> | Free search term | |
**modified_after** | Option<**String**> | Only records changed after this date will be included (format: HTML5 datetime-local, e.g. YYYY-MM-DDThh:mm:ss) | |
### Return type
[**Vec<models::TimesheetCollection>**](TimesheetCollection.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_recent_timesheet
> Vec<models::TimesheetCollectionExpanded> get_recent_timesheet(begin, size)
Returns the collection of recent user activities
### Parameters
**begin** | Option<**String**> | Only records after this date will be included. Default: today - 1 year (format: HTML5 datetime-local, e.g. YYYY-MM-DDThh:mm:ss) | |
**size** | Option<**String**> | The amount of entries (default: 10) | |
### Return type
[**Vec<models::TimesheetCollectionExpanded>**](TimesheetCollectionExpanded.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_restart_timesheet_get
> models::TimesheetEntity get_restart_timesheet_get(id, get_restart_timesheet_get_request)
Restarts a previously stopped timesheet record for the current user
### Parameters
**id** | **String** | Timesheet record ID to restart | [required] |
**get_restart_timesheet_get_request** | Option<[**GetRestartTimesheetGetRequest**](GetRestartTimesheetGetRequest.md)> | | |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## get_stop_timesheet_get
> models::TimesheetEntity get_stop_timesheet_get(id)
Stops an active timesheet record.
This route is available via GET and PATCH, as users over and over again run into errors when stopping. Likely caused by a slow JS engine and a fast-click after page reload.
### Parameters
**id** | **String** | Timesheet record ID to stop | [required] |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## patch_app_api_timesheet_meta
> models::TimesheetEntity patch_app_api_timesheet_meta(id, patch_kimaiplugin_expenses_api_expense_meta_request)
Sets the value of a meta-field for an existing timesheet.
### Parameters
**id** | **String** | Timesheet record ID to set the meta-field value for | [required] |
**patch_kimaiplugin_expenses_api_expense_meta_request** | Option<[**PatchKimaipluginExpensesApiExpenseMetaRequest**](PatchKimaipluginExpensesApiExpenseMetaRequest.md)> | | |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## patch_duplicate_timesheet
> models::TimesheetEntity patch_duplicate_timesheet(id)
Duplicates an existing timesheet record
### Parameters
**id** | **String** | Timesheet record ID to duplicate | [required] |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## patch_export_timesheet
> models::TimesheetEntity patch_export_timesheet(id)
Switch the export state of a timesheet record to (un-)lock it
### Parameters
**id** | **String** | Timesheet record ID to switch export state | [required] |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## patch_patch_timesheet
> models::TimesheetEntity patch_patch_timesheet(id, timesheet_edit_form)
Update an existing timesheet record
Update an existing timesheet record, you can pass all or just a subset of the attributes.
### Parameters
**id** | **String** | Timesheet record ID to update | [required] |
**timesheet_edit_form** | [**TimesheetEditForm**](TimesheetEditForm.md) | | [required] |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## patch_restart_timesheet
> models::TimesheetEntity patch_restart_timesheet(id, get_restart_timesheet_get_request)
Restarts a previously stopped timesheet record for the current user
### Parameters
**id** | **String** | Timesheet record ID to restart | [required] |
**get_restart_timesheet_get_request** | Option<[**GetRestartTimesheetGetRequest**](GetRestartTimesheetGetRequest.md)> | | |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## patch_stop_timesheet
> models::TimesheetEntity patch_stop_timesheet(id)
Stops an active timesheet record.
This route is available via GET and PATCH, as users over and over again run into errors when stopping. Likely caused by a slow JS engine and a fast-click after page reload.
### Parameters
**id** | **String** | Timesheet record ID to stop | [required] |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
## post_post_timesheet
> models::TimesheetEntity post_post_timesheet(timesheet_edit_form, full)
Creates a new timesheet record
Creates a new timesheet record for the current user and returns it afterwards.
### Parameters
**timesheet_edit_form** | [**TimesheetEditForm**](TimesheetEditForm.md) | | [required] |
**full** | Option<**String**> | Allows to fetch fully serialized objects including subresources (TimesheetExpanded). Allowed values: true (default: false) | |
### Return type
[**models::TimesheetEntity**](TimesheetEntity.md)
### Authorization
[bearer](../README.md#bearer)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)