enbbox 1.0.1

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

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

Method | HTTP request | Description
------------- | ------------- | -------------
[**archive**]InboxApi.md#archive | **POST** /v1/inbox/notifications/{id}/archive/ | POST /v1/inbox/notifications/:id/archive
[**archive_all**]InboxApi.md#archive_all | **POST** /v1/inbox/notifications/archive/ | POST /v1/inbox/notifications/archive  (archive all)
[**execute_action**]InboxApi.md#execute_action | **POST** /v1/inbox/notifications/{id}/actions/{action_type}/ | POST /v1/inbox/notifications/:id/actions/:actionType
[**get_inbox_preferences**]InboxApi.md#get_inbox_preferences | **GET** /v1/inbox/preferences/ | GET /v1/inbox/preferences
[**inbox_list_notifications**]InboxApi.md#inbox_list_notifications | **GET** /v1/inbox/notifications/ | GET /v1/inbox/notifications/
[**init_inbox_session**]InboxApi.md#init_inbox_session | **POST** /v1/inbox/session/ | POST /v1/inbox/session/
[**mark_all_read**]InboxApi.md#mark_all_read | **POST** /v1/inbox/notifications/read/ | POST /v1/inbox/notifications/read  (mark all as read)
[**mark_read**]InboxApi.md#mark_read | **POST** /v1/inbox/notifications/{id}/read/ | POST /v1/inbox/notifications/:id/read
[**mark_unread**]InboxApi.md#mark_unread | **POST** /v1/inbox/notifications/{id}/unread/ | POST /v1/inbox/notifications/:id/unread
[**notification_count**]InboxApi.md#notification_count | **GET** /v1/inbox/notifications/count/ | GET /v1/inbox/notifications/count
[**unarchive**]InboxApi.md#unarchive | **POST** /v1/inbox/notifications/{id}/unarchive/ | POST /v1/inbox/notifications/:id/unarchive
[**update_inbox_global_preference**]InboxApi.md#update_inbox_global_preference | **PATCH** /v1/inbox/preferences/ | PATCH /v1/inbox/preferences
[**update_inbox_workflow_preference**]InboxApi.md#update_inbox_workflow_preference | **PATCH** /v1/inbox/preferences/{workflow_id}/ | PATCH /v1/inbox/preferences/:workflowId



## archive

> archive(id)
POST /v1/inbox/notifications/:id/archive

### Parameters


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

### Return type

 (empty response body)

### Authorization

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

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


## archive_all

> archive_all()
POST /v1/inbox/notifications/archive  (archive all)

### Parameters

This endpoint does not need any parameter.

### Return type

 (empty response body)

### Authorization

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

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


## execute_action

> models::ActionRecord execute_action(id, action_type, action_body)
POST /v1/inbox/notifications/:id/actions/:actionType

Execute an action on a notification (e.g. primary/secondary button click). Sets the action result on the message and optionally publishes an SSE event.

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **uuid::Uuid** | Notification ID | [required] |
**action_type** | **String** | Action type | [required] |
**action_body** | [**ActionBody**]ActionBody.md |  | [required] |

### Return type

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


## get_inbox_preferences

> Vec<models::InboxPreference> get_inbox_preferences()
GET /v1/inbox/preferences

### Parameters

This endpoint does not need any parameter.

### Return type

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


## inbox_list_notifications

> Vec<models::InboxNotification> inbox_list_notifications(limit, after, read, archived)
GET /v1/inbox/notifications/

Content negotiation: - `Accept: application/json` (default) → paginated JSON list - `Accept: text/event-stream` → SSE real-time stream (authenticated via subscriber JWT)

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**limit** | Option<**i32**> |  |  |
**after** | Option<**String**> |  |  |
**read** | Option<**bool**> |  |  |
**archived** | Option<**bool**> |  |  |

### Return type

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


## init_inbox_session

> models::InitSessionResponse init_inbox_session(x_project_id, init_session_request)
POST /v1/inbox/session/

Unauthenticated endpoint — this is the initial handshake for SDK subscribers. Project ID is provided via the `X-Project-Id` header (same as all project-aware endpoints). Validates the project, optionally verifies HMAC subscriber hash, auto-creates the subscriber if needed, and returns a short-lived JWT.

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**x_project_id** | **uuid::Uuid** | Project UUID | [required] |
**init_session_request** | [**InitSessionRequest**]InitSessionRequest.md |  | [required] |

### Return type

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

### Authorization

No authorization required

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


## mark_all_read

> mark_all_read()
POST /v1/inbox/notifications/read  (mark all as read)

### Parameters

This endpoint does not need any parameter.

### Return type

 (empty response body)

### Authorization

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

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


## mark_read

> mark_read(id)
POST /v1/inbox/notifications/:id/read

### Parameters


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

### Return type

 (empty response body)

### Authorization

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

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


## mark_unread

> mark_unread(id)
POST /v1/inbox/notifications/:id/unread

### Parameters


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

### Return type

 (empty response body)

### Authorization

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

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


## notification_count

> models::NotificationCount notification_count()
GET /v1/inbox/notifications/count

### Parameters

This endpoint does not need any parameter.

### Return type

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


## unarchive

> unarchive(id)
POST /v1/inbox/notifications/:id/unarchive

### Parameters


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

### Return type

 (empty response body)

### Authorization

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

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


## update_inbox_global_preference

> update_inbox_global_preference(update_inbox_preferences)
PATCH /v1/inbox/preferences

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**update_inbox_preferences** | [**UpdateInboxPreferences**]UpdateInboxPreferences.md |  | [required] |

### Return type

 (empty response body)

### Authorization

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

### HTTP request headers

- **Content-Type**: application/json
- **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)


## update_inbox_workflow_preference

> update_inbox_workflow_preference(workflow_id, update_inbox_preferences)
PATCH /v1/inbox/preferences/:workflowId

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**workflow_id** | **String** | Workflow ID | [required] |
**update_inbox_preferences** | [**UpdateInboxPreferences**]UpdateInboxPreferences.md |  | [required] |

### Return type

 (empty response body)

### Authorization

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

### HTTP request headers

- **Content-Type**: application/json
- **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)