enbbox 1.0.1

Notification infrastructure API — open-source alternative to Novu/Courier
Documentation
# \ProjectsApi

All URIs are relative to *https://api.enbbox.com*

Method | HTTP request | Description
------------- | ------------- | -------------
[**create_project**]ProjectsApi.md#create_project | **POST** /v1/projects/ | POST /v1/projects/ — create a new project
[**delete_api_key**]ProjectsApi.md#delete_api_key | **DELETE** /v1/projects/{id}/api-keys/{key_id}/ | DELETE /v1/projects/{id}/api-keys/{key_id}/ — revoke an API key by ID
[**delete_project**]ProjectsApi.md#delete_project | **DELETE** /v1/projects/{id}/ | DELETE /v1/projects/{id}/ — delete a project (owner only)
[**generate_api_key**]ProjectsApi.md#generate_api_key | **POST** /v1/projects/{id}/api-keys/ | POST /v1/projects/{id}/api-keys/ — generate a new API key
[**get_project**]ProjectsApi.md#get_project | **GET** /v1/projects/{id}/ | GET /v1/projects/{id}/ — get a project by ID
[**invite_member**]ProjectsApi.md#invite_member | **POST** /v1/projects/{id}/members/ | POST /v1/projects/{id}/members/ — invite a member by email (token-based)
[**list_api_keys**]ProjectsApi.md#list_api_keys | **GET** /v1/projects/{id}/api-keys/ | GET /v1/projects/{id}/api-keys/ — list API keys for a project
[**list_members**]ProjectsApi.md#list_members | **GET** /v1/projects/{id}/members/ | GET /v1/projects/{id}/members/ — list project members
[**list_projects**]ProjectsApi.md#list_projects | **GET** /v1/projects/ | GET /v1/projects/ — list all projects the user is a member of
[**project_tags**]ProjectsApi.md#project_tags | **GET** /v1/projects/{id}/tags/ | GET /v1/projects/{id}/tags/ — returns unique tags from all workflows in the project
[**remove_member**]ProjectsApi.md#remove_member | **DELETE** /v1/projects/{id}/members/{member_id}/ | DELETE /v1/projects/{id}/members/{member_id}/ — remove a member
[**update_project**]ProjectsApi.md#update_project | **PATCH** /v1/projects/{id}/ | PATCH /v1/projects/{id}/ — update a project



## create_project

> models::ProjectRecord create_project(create_project)
POST /v1/projects/ — create a new project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**create_project** | [**CreateProject**]CreateProject.md |  | [required] |

### Return type

[**models::ProjectRecord**](ProjectRecord.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## delete_api_key

> delete_api_key(id, key_id)
DELETE /v1/projects/{id}/api-keys/{key_id}/ — revoke an API key by ID

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |
**key_id** | **uuid::Uuid** | API Key ID | [required] |

### Return type

 (empty response body)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## delete_project

> delete_project(id)
DELETE /v1/projects/{id}/ — delete a project (owner only)

Safety guards: - Only owners can delete a project - Cannot delete the system project - Cannot delete a project with an active (non-cancelled) Stripe subscription

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |

### Return type

 (empty response body)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## generate_api_key

> models::ApiKeyCreateResponse generate_api_key(id)
POST /v1/projects/{id}/api-keys/ — generate a new API key

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |

### Return type

[**models::ApiKeyCreateResponse**](ApiKeyCreateResponse.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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_project

> models::ProjectRecord get_project(id)
GET /v1/projects/{id}/ — get a project by ID

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |

### Return type

[**models::ProjectRecord**](ProjectRecord.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## invite_member

> models::MemberRecord invite_member(id, invite_member_body)
POST /v1/projects/{id}/members/ — invite a member by email (token-based)

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |
**invite_member_body** | [**InviteMemberBody**]InviteMemberBody.md |  | [required] |

### Return type

[**models::MemberRecord**](MemberRecord.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## list_api_keys

> Vec<models::ApiKey> list_api_keys(id)
GET /v1/projects/{id}/api-keys/ — list API keys for a project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |

### Return type

[**Vec<models::ApiKey>**](ApiKey.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## list_members

> Vec<models::MemberRecord> list_members(id)
GET /v1/projects/{id}/members/ — list project members

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |

### Return type

[**Vec<models::MemberRecord>**](MemberRecord.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## list_projects

> Vec<models::ProjectRecord> list_projects()
GET /v1/projects/ — list all projects the user is a member of

### Parameters

This endpoint does not need any parameter.

### Return type

[**Vec<models::ProjectRecord>**](ProjectRecord.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## project_tags

> Vec<String> project_tags(id)
GET /v1/projects/{id}/tags/ — returns unique tags from all workflows in the project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |

### Return type

**Vec<String>**

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## remove_member

> remove_member(id, member_id)
DELETE /v1/projects/{id}/members/{member_id}/ — remove a member

Safety guards: - Cannot remove yourself (use a different endpoint or transfer ownership first) - Cannot remove the last owner of a project - Only owners can remove other owners; admins can remove non-owners

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |
**member_id** | **uuid::Uuid** | Member ID | [required] |

### Return type

 (empty response body)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)


## update_project

> models::ProjectRecord update_project(id, update_project)
PATCH /v1/projects/{id}/ — update a project

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Project ID | [required] |
**update_project** | [**UpdateProject**]UpdateProject.md |  | [required] |

### Return type

[**models::ProjectRecord**](ProjectRecord.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### 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)