# \ProjectApi
All URIs are relative to *http://localhost*
[**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
**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
**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
**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
**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
**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
**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
**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
**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
**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)