/** * Agilicus API * Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). * * The version of the OpenAPI document: 2025.12.16 * Contact: dev@agilicus.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs'; import { InboxItem } from '../model/models'; import { ListInboxItemsResponse } from '../model/models'; import { ListMessageEndpointsResponse } from '../model/models'; import { Message } from '../model/models'; import { MessageEndpoint } from '../model/models'; import { MessageEndpointType } from '../model/models'; import { MessageEndpointsConfig } from '../model/models'; import { MessageSendRequest } from '../model/models'; import { MessageSendResponse } from '../model/models'; import { MessageTag } from '../model/models'; import { MessagesBulkDeleteRequest } from '../model/models'; import { MessagesBulkDeleteResponse } from '../model/models'; import { Configuration } from '../configuration'; export interface BulkDeleteMessagesRequestParams { MessagesBulkDeleteRequest: MessagesBulkDeleteRequest; } export interface CreateMessageRequestParams { message_endpoint_id: string; Message: Message; } export interface CreateRoutedMessageRequestParams { MessageSendRequest: MessageSendRequest; } export interface CreateUserMessageRequestParams { user_id: string; Message: Message; message_endpoint_type?: MessageEndpointType; address?: string; } export interface DeleteInboxItemRequestParams { user_id: string; inbox_item_id: string; } export interface DeleteMessageEndpointRequestParams { message_endpoint_id: string; user_id?: string; } export interface GetInboxItemRequestParams { user_id: string; inbox_item_id: string; } export interface GetMessageEndpointRequestParams { message_endpoint_id: string; user_id?: string; } export interface ListInboxItemsRequestParams { user_id: string; org_id?: string; limit?: number; message_type?: string; message_class?: string; message_class_list?: Array; page_at_id?: string; page_at_received_date?: Date | null; unread?: boolean; expired?: boolean; tag?: MessageTag; } export interface ListMessageEndpointsRequestParams { user_id?: string; limit?: number; } export interface ReplaceInboxItemRequestParams { user_id: string; inbox_item_id: string; InboxItem: InboxItem; } export interface ReplaceMessageEndpointRequestParams { message_endpoint_id: string; MessageEndpoint: MessageEndpoint; user_id?: string; } export interface UpdateMessageEndpointRequestParams { user_id: string; MessageEndpoint: MessageEndpoint; } export interface MessagesServiceInterface { defaultHeaders: HttpHeaders; configuration: Configuration; /** * Delete a list of messages and inbox items asociated to it. * Delete a list of messages and all associated inbox items. You can only delete so many messages in one request, to avoid long-running tasks that can never complete. To ensure all requests are deleted, iterate until the returned number of deleted messages is 0. * @param requestParameters */ bulkDeleteMessages(requestParameters: BulkDeleteMessagesRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Send a message to a specific message endpoint. * Send a message to a specific message endpoint. * @param requestParameters */ createMessage(requestParameters: CreateMessageRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Send one or more messages, letting the system choose how to deliver it * Send one or more messages, leting the system choose to which endpoints to send it, based on properties of the message and the user\'s configuration. Each message can be associated with multiple addresses, each of which target a user. Note that some users, such as a group, may represent multiple recipients, in which case the message will be sent to users represented by the addressed user. * @param requestParameters */ createRoutedMessage(requestParameters: CreateRoutedMessageRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Send a message to a user on all (optionally of a type) endpoints. * Send a message to a user on all (optionally of a type) endpoints. * @param requestParameters */ createUserMessage(requestParameters: CreateUserMessageRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Delete an inbox item * Delete a specific inbox item * @param requestParameters */ deleteInboxItem(requestParameters: DeleteInboxItemRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Delete a messaging endpoint * Delete a messaging endpoint * @param requestParameters */ deleteMessageEndpoint(requestParameters: DeleteMessageEndpointRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Get an inbox item * Get a specific inbox item * @param requestParameters */ getInboxItem(requestParameters: GetInboxItemRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get a message endpoint * Get a message endpoint * @param requestParameters */ getMessageEndpoint(requestParameters: GetMessageEndpointRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get a list of inbox items items and information about the inbox * Get a list of inbox items and information about the inbox for a user. By default only shows unexpired items. * @param requestParameters */ listInboxItems(requestParameters: ListInboxItemsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * List all message endpoints (all users or a single user) * List all message endpoints (all users or a single user) * @param requestParameters */ listMessageEndpoints(requestParameters: ListMessageEndpointsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get the config of the endpoint-types (e.g. public keys etc). * Get the config of the endpoint-types (e.g. public keys etc). */ listMessagesConfig(observe?: any, extraHeaders?: HttpHeaders): Observable; /** * replace an inbox item * update an inbox item\'s writeable attributes * @param requestParameters */ replaceInboxItem(requestParameters: ReplaceInboxItemRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Update a messaging endpoint * Update a messaging endpoint * @param requestParameters */ replaceMessageEndpoint(requestParameters: ReplaceMessageEndpointRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Register a messaging endpoint on a user. * Register a messaging endpoint on a user. * @param requestParameters */ updateMessageEndpoint(requestParameters: UpdateMessageEndpointRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; }