enbbox 1.0.1

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

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

Method | HTTP request | Description
------------- | ------------- | -------------
[**bulk_create**]SubscribersApi.md#bulk_create | **POST** /v1/subscribers/bulk/ | POST /v1/subscribers/bulk — create multiple subscribers at once
[**bulk_update_preferences**]SubscribersApi.md#bulk_update_preferences | **PATCH** /v1/subscribers/{id}/preferences/bulk/ | PATCH /v1/subscribers/:id/preferences/bulk — update multiple workflow preferences at once
[**create_subscriber**]SubscribersApi.md#create_subscriber | **POST** /v1/subscribers/ | POST /v1/subscribers
[**delete_subscriber**]SubscribersApi.md#delete_subscriber | **DELETE** /v1/subscribers/{id}/ | DELETE /v1/subscribers/:subscriber_id
[**get_subscriber**]SubscribersApi.md#get_subscriber | **GET** /v1/subscribers/{id}/ | GET /v1/subscribers/:subscriber_id
[**list_subscriber_subscriptions**]SubscribersApi.md#list_subscriber_subscriptions | **GET** /v1/subscribers/{id}/subscriptions/ | GET /v1/subscribers/:id/subscriptions — list topic subscriptions for a subscriber
[**list_subscribers**]SubscribersApi.md#list_subscribers | **GET** /v1/subscribers/ | GET /v1/subscribers
[**mark_all_messages**]SubscribersApi.md#mark_all_messages | **POST** /v1/subscribers/{id}/messages/mark-all/ | POST /v1/subscribers/:id/messages/mark-all — mark all messages
[**mark_messages**]SubscribersApi.md#mark_messages | **POST** /v1/subscribers/{id}/messages/mark-as/ | POST /v1/subscribers/:id/messages/mark-as — mark messages as read/seen/unseen
[**subscriber_feed**]SubscribersApi.md#subscriber_feed | **GET** /v1/subscribers/{id}/notifications/feed/ | GET /v1/subscribers/:id/notifications/feed — cursor-paginated message list
[**unseen_count**]SubscribersApi.md#unseen_count | **GET** /v1/subscribers/{id}/notifications/unseen/ | GET /v1/subscribers/:id/notifications/unseen — unseen count
[**update_online_status**]SubscribersApi.md#update_online_status | **PATCH** /v1/subscribers/{id}/online-status/ | PATCH /v1/subscribers/:id/online-status — set online/offline
[**update_subscriber**]SubscribersApi.md#update_subscriber | **PATCH** /v1/subscribers/{id}/ | PATCH /v1/subscribers/:subscriber_id



## bulk_create

> models::BulkResult bulk_create(bulk_create_subscribers)
POST /v1/subscribers/bulk — create multiple subscribers at once

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**bulk_create_subscribers** | [**BulkCreateSubscribers**]BulkCreateSubscribers.md |  | [required] |

### Return type

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


## bulk_update_preferences

> bulk_update_preferences(id, bulk_preferences)
PATCH /v1/subscribers/:id/preferences/bulk — update multiple workflow preferences at once

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Subscriber ID | [required] |
**bulk_preferences** | [**BulkPreferences**]BulkPreferences.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)


## create_subscriber

> models::SubscriberRecord create_subscriber(create_subscriber)
POST /v1/subscribers

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**create_subscriber** | [**CreateSubscriber**]CreateSubscriber.md |  | [required] |

### Return type

[**models::SubscriberRecord**](SubscriberRecord.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_subscriber

> delete_subscriber(id)
DELETE /v1/subscribers/:subscriber_id

### Parameters


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


## get_subscriber

> models::SubscriberRecord get_subscriber(id)
GET /v1/subscribers/:subscriber_id

### Parameters


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

### Return type

[**models::SubscriberRecord**](SubscriberRecord.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_subscriber_subscriptions

> Vec<models::TopicSubscription> list_subscriber_subscriptions(id)
GET /v1/subscribers/:id/subscriptions — list topic subscriptions for a subscriber

### Parameters


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

### Return type

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

> models::PaginatedSubscriberRecord list_subscribers(limit, offset, q, filter_by)
GET /v1/subscribers

Lists subscribers for the current project. When the optional `q` query parameter is provided, the list is powered by Typesense full-text search (searching across email, name, phone, subscriber_id). Without `q`, a standard paginated listing from the primary store is returned.

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**limit** | Option<**i32**> | Maximum number of items to return (1–100, default 10). |  |
**offset** | Option<**i32**> | Number of items to skip (default 0). |  |
**q** | Option<**String**> | Optional full-text search query (e.g., an email, name, or phone number). When present, search is powered by Typesense. |  |
**filter_by** | Option<**String**> | Optional filter expression for narrowing results. Example: `is_online:=true` or `locale:=en-US`. |  |

### Return type

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


## mark_all_messages

> models::MarkResult mark_all_messages(id, mark_all)
POST /v1/subscribers/:id/messages/mark-all — mark all messages

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Subscriber ID | [required] |
**mark_all** | [**MarkAll**]MarkAll.md |  | [required] |

### Return type

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


## mark_messages

> models::MarkResult mark_messages(id, mark_messages)
POST /v1/subscribers/:id/messages/mark-as — mark messages as read/seen/unseen

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Subscriber ID | [required] |
**mark_messages** | [**MarkMessages**]MarkMessages.md |  | [required] |

### Return type

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


## subscriber_feed

> models::CursorPaginatedFeedItem subscriber_feed(id, limit, after, before, channel, read, seen)
GET /v1/subscribers/:id/notifications/feed — cursor-paginated message list

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Subscriber ID | [required] |
**limit** | Option<**i32**> |  |  |
**after** | Option<**String**> |  |  |
**before** | Option<**String**> |  |  |
**channel** | Option<**String**> |  |  |
**read** | Option<**bool**> |  |  |
**seen** | Option<**bool**> |  |  |

### Return type

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


## unseen_count

> models::UnseenCount unseen_count(id)
GET /v1/subscribers/:id/notifications/unseen — unseen count

### Parameters


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

### Return type

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


## update_online_status

> models::SubscriberRecord update_online_status(id, online_status)
PATCH /v1/subscribers/:id/online-status — set online/offline

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Subscriber ID | [required] |
**online_status** | [**OnlineStatus**]OnlineStatus.md |  | [required] |

### Return type

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


## update_subscriber

> models::SubscriberRecord update_subscriber(id, update_subscriber)
PATCH /v1/subscribers/:subscriber_id

### Parameters


Name | Type | Description  | Required | Notes
------------- | ------------- | ------------- | ------------- | -------------
**id** | **String** | Subscriber ID | [required] |
**update_subscriber** | [**UpdateSubscriber**]UpdateSubscriber.md |  | [required] |

### Return type

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