kimai_client_lib 1.0.0

JSON API for the Kimai time-tracking software. Read our [API documentation](https://www.kimai.org/documentation/rest-api.html) and download the [Open API definition](doc.json) to import into your API client.
Documentation
# \ProjectApi

All URIs are relative to *http://localhost*

Method | HTTP request | Description
------------- | ------------- | -------------
[**delete_delete_project**]ProjectApi.md#delete_delete_project | **DELETE** /api/projects/{id} | Delete an existing project
[**delete_delete_project_rate**]ProjectApi.md#delete_delete_project_rate | **DELETE** /api/projects/{id}/rates/{rateId} | Deletes one rate for a project
[**get_get_project**]ProjectApi.md#get_get_project | **GET** /api/projects/{id} | Returns one project
[**get_get_project_rates**]ProjectApi.md#get_get_project_rates | **GET** /api/projects/{id}/rates | Returns a collection of all rates for one project
[**get_get_projects**]ProjectApi.md#get_get_projects | **GET** /api/projects | Returns a collection of projects (which are visible to the user)
[**patch_app_api_project_meta**]ProjectApi.md#patch_app_api_project_meta | **PATCH** /api/projects/{id}/meta | Sets the value of a meta-field for an existing project
[**patch_patch_project**]ProjectApi.md#patch_patch_project | **PATCH** /api/projects/{id} | Update an existing project
[**post_post_project**]ProjectApi.md#post_post_project | **POST** /api/projects | Creates a new project
[**post_post_project_rate**]ProjectApi.md#post_post_project_rate | **POST** /api/projects/{id}/rates | Adds a new rate to a project



## delete_delete_project

> delete_delete_project(id)
Delete an existing project

[DANGER] This will also delete ALL linked activities and timesheets. Maybe use `PATCH` instead and mark it as inactive with `visible=false`?

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Project 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)


## delete_delete_project_rate

> delete_delete_project_rate(id, rate_id)
Deletes one rate for a project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | The project whose rate will be removed | [required] |
**rate_id** | **String** | The rate to remove | [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_get_project

> models::ProjectEntity get_get_project(id)
Returns one project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** |  | [required] |

### Return type

[**models::ProjectEntity**](ProjectEntity.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_project_rates

> Vec<models::ProjectRate> get_get_project_rates(id)
Returns a collection of all rates for one project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | The project whose rates will be returned | [required] |

### Return type

[**Vec<models::ProjectRate>**](ProjectRate.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_projects

> Vec<models::ProjectCollection> get_get_projects(customer, customers_left_square_bracket_right_square_bracket, visible, start, end, ignore_dates, global_activities, order, order_by, term)
Returns a collection of projects (which are visible to the user)

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**customer** | Option<**String**> | Customer ID to filter projects |  |
**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 []]
**visible** | Option<**String**> | Visibility status to filter projects: 1=visible, 2=hidden, 3=both |  |[default to 1]
**start** | Option<**String**> | Only projects that started before this date will be included. Allowed format: HTML5 (default: now, if end is also empty) |  |
**end** | Option<**String**> | Only projects that ended after this date will be included. Allowed format: HTML5 (default: now, if start is also empty) |  |
**ignore_dates** | Option<**String**> | If set, start and end are completely ignored. Allowed values: 1 (default: off) |  |
**global_activities** | Option<**String**> | If given, filters projects by their 'global activity' support. Allowed values: 1 (supports global activities) and 0 (without global activities) (default: all) |  |
**order** | Option<**String**> | The result order. Allowed values: ASC, DESC (default: ASC) |  |
**order_by** | Option<**String**> | The field by which results will be ordered. Allowed values: id, name, customer (default: name) |  |
**term** | Option<**String**> | Free search term |  |

### Return type

[**Vec<models::ProjectCollection>**](ProjectCollection.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_project_meta

> models::ProjectEntity patch_app_api_project_meta(id, patch_kimaiplugin_expenses_api_expense_meta_request)
Sets the value of a meta-field for an existing project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Project record ID to set the meta-field value for | [required] |
**patch_kimaiplugin_expenses_api_expense_meta_request** | Option<[**PatchKimaipluginExpensesApiExpenseMetaRequest**]PatchKimaipluginExpensesApiExpenseMetaRequest.md> |  |  |

### Return type

[**models::ProjectEntity**](ProjectEntity.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_patch_project

> models::ProjectEntity patch_patch_project(id, project_edit_form)
Update an existing project

Update an existing project, you can pass all or just a subset of all attributes

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Project ID to update | [required] |
**project_edit_form** | [**ProjectEditForm**]ProjectEditForm.md |  | [required] |

### Return type

[**models::ProjectEntity**](ProjectEntity.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)


## post_post_project

> models::ProjectEntity post_post_project(project_edit_form)
Creates a new project

Creates a new project and returns it afterwards

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**project_edit_form** | [**ProjectEditForm**]ProjectEditForm.md |  | [required] |

### Return type

[**models::ProjectEntity**](ProjectEntity.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)


## post_post_project_rate

> models::ProjectRate post_post_project_rate(id, project_rate_form)
Adds a new rate to a project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | The project to add the rate for | [required] |
**project_rate_form** | [**ProjectRateForm**]ProjectRateForm.md |  | [required] |

### Return type

[**models::ProjectRate**](ProjectRate.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)