/* tslint:disable */ /* eslint-disable */ /** * Hostinger Mail API * * API Version: 1.1.0 * * NOTE: This file is auto-generated, DO NOT EDIT THIS FILE MANUALLY! * If you want to contribute or request a new feature, please create an issue or pull request on https://github.com/hostinger/api */ import type { Configuration } from './configuration'; import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore import { DUMMY_BASE_URL, assertParamExists, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common'; import type { RequestArgs } from './base'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base'; /** * Standard error envelope. Frontend translations key off `code`, never off `error`. * @export * @interface ModelError */ export interface ModelError { /** * Human-readable error message. * @type {string} * @memberof ModelError */ 'error': string; /** * Machine-readable error code in SCREAMING_SNAKE_CASE. * @type {string} * @memberof ModelError */ 'code': string; /** * Additional structured context for the error. May be omitted. * @type {{ [key: string]: any; }} * @memberof ModelError */ 'params': { [key: string]: any; }; } /** * Pagination metadata for paginated collections. * @export * @interface Pagination */ export interface Pagination { /** * Current page number (1-based). * @type {number} * @memberof Pagination */ 'page': number; /** * Items per page. * @type {number} * @memberof Pagination */ 'perPage': number; /** * Total number of items across all pages. * @type {number} * @memberof Pagination */ 'total': number; /** * Total number of pages. * @type {number} * @memberof Pagination */ 'totalPages': number; } /** * Paginated list of messages. * @export * @interface V1FolderMessagesCollection */ export interface V1FolderMessagesCollection { /** * * @type {Array} * @memberof V1FolderMessagesCollection */ 'data': Array; /** * * @type {Pagination} * @memberof V1FolderMessagesCollection */ 'pagination': Pagination; } /** * Body for permanently deleting multiple messages. * @export * @interface V1FolderMessagesDeleteBulkRequest */ export interface V1FolderMessagesDeleteBulkRequest { /** * Message UIDs to delete. 1-100 entries, each > 0. * @type {Array} * @memberof V1FolderMessagesDeleteBulkRequest */ 'uids': Array; } /** * Add and/or remove flags on multiple messages. At least one of addFlags or removeFlags must be set. * @export * @interface V1FolderMessagesFlagsBulkRequest */ export interface V1FolderMessagesFlagsBulkRequest { /** * Message UIDs to update. 1-100 entries, each > 0. * @type {Array} * @memberof V1FolderMessagesFlagsBulkRequest */ 'uids': Array; /** * * @type {Array} * @memberof V1FolderMessagesFlagsBulkRequest */ 'addFlags': Array; /** * * @type {Array} * @memberof V1FolderMessagesFlagsBulkRequest */ 'removeFlags': Array; } /** * Add and/or remove flags on a message. At least one of addFlags or removeFlags must be set. * @export * @interface V1FolderMessagesFlagsRequest */ export interface V1FolderMessagesFlagsRequest { /** * * @type {Array} * @memberof V1FolderMessagesFlagsRequest */ 'addFlags': Array; /** * * @type {Array} * @memberof V1FolderMessagesFlagsRequest */ 'removeFlags': Array; } /** * A message in a folder of the managed mailbox. * @export * @interface V1FolderMessagesMessage */ export interface V1FolderMessagesMessage { /** * * @type {number} * @memberof V1FolderMessagesMessage */ 'uid': number; /** * * @type {string} * @memberof V1FolderMessagesMessage */ 'path': string; /** * * @type {string} * @memberof V1FolderMessagesMessage */ 'date': string; /** * * @type {Array} * @memberof V1FolderMessagesMessage */ 'flags': Array; /** * * @type {boolean} * @memberof V1FolderMessagesMessage */ 'unseen': boolean; /** * * @type {number} * @memberof V1FolderMessagesMessage */ 'size': number; /** * * @type {string} * @memberof V1FolderMessagesMessage */ 'subject': string | null; /** * * @type {V1FolderMessagesMessageAddress} * @memberof V1FolderMessagesMessage */ 'from': V1FolderMessagesMessageAddress | null; /** * * @type {Array} * @memberof V1FolderMessagesMessage */ 'to': Array; /** * * @type {Array} * @memberof V1FolderMessagesMessage */ 'cc': Array; /** * * @type {Array} * @memberof V1FolderMessagesMessage */ 'bcc': Array; /** * * @type {string} * @memberof V1FolderMessagesMessage */ 'messageId': string | null; /** * * @type {string} * @memberof V1FolderMessagesMessage */ 'inReplyTo': string | null; /** * * @type {Array} * @memberof V1FolderMessagesMessage */ 'attachments': Array; } /** * A single email address with optional display name. * @export * @interface V1FolderMessagesMessageAddress */ export interface V1FolderMessagesMessageAddress { /** * * @type {string} * @memberof V1FolderMessagesMessageAddress */ 'name': string; /** * * @type {string} * @memberof V1FolderMessagesMessageAddress */ 'address': string; } /** * Attachment metadata attached to a message. * @export * @interface V1FolderMessagesMessageAttachment */ export interface V1FolderMessagesMessageAttachment { /** * Opaque attachment identifier. Use as the {attachmentId} path parameter on the download endpoint. * @type {string} * @memberof V1FolderMessagesMessageAttachment */ 'id': string; /** * * @type {string} * @memberof V1FolderMessagesMessageAttachment */ 'contentType': string; /** * * @type {number} * @memberof V1FolderMessagesMessageAttachment */ 'sizeBytes': number; /** * * @type {boolean} * @memberof V1FolderMessagesMessageAttachment */ 'inline': boolean; /** * * @type {string} * @memberof V1FolderMessagesMessageAttachment */ 'filename': string | null; /** * * @type {string} * @memberof V1FolderMessagesMessageAttachment */ 'contentId': string | null; } /** * Rendered text and HTML parts of a message. * @export * @interface V1FolderMessagesMessageText */ export interface V1FolderMessagesMessageText { /** * * @type {string} * @memberof V1FolderMessagesMessageText */ 'text': string; /** * * @type {string} * @memberof V1FolderMessagesMessageText */ 'html': string; } /** * Single message text payload. * @export * @interface V1FolderMessagesMessageTextResource */ export interface V1FolderMessagesMessageTextResource { /** * * @type {V1FolderMessagesMessageText} * @memberof V1FolderMessagesMessageTextResource */ 'data': V1FolderMessagesMessageText; } /** * Body for moving multiple messages to a target folder. * @export * @interface V1FolderMessagesMoveBulkRequest */ export interface V1FolderMessagesMoveBulkRequest { /** * Message UIDs to move. 1-100 entries, each > 0. * @type {Array} * @memberof V1FolderMessagesMoveBulkRequest */ 'uids': Array; /** * Destination folder path. * @type {string} * @memberof V1FolderMessagesMoveBulkRequest */ 'targetFolder': string; } /** * Body for moving a single message to a target folder. * @export * @interface V1FolderMessagesMoveRequest */ export interface V1FolderMessagesMoveRequest { /** * Destination folder path. * @type {string} * @memberof V1FolderMessagesMoveRequest */ 'targetFolder': string; } /** * Single message payload. * @export * @interface V1FolderMessagesResource */ export interface V1FolderMessagesResource { /** * * @type {V1FolderMessagesMessage} * @memberof V1FolderMessagesResource */ 'data': V1FolderMessagesMessage; } /** * Search criteria. All fields optional; combine to narrow results. * @export * @interface V1FolderMessagesSearchRequest */ export interface V1FolderMessagesSearchRequest { /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'since': string; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'before': string; /** * * @type {Array} * @memberof V1FolderMessagesSearchRequest */ 'flags': Array; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'uid': string; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'subject': string; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'from': string; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'to': string; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'cc': string; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'body': string; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'header': string; /** * * @type {number} * @memberof V1FolderMessagesSearchRequest */ 'larger': number; /** * * @type {number} * @memberof V1FolderMessagesSearchRequest */ 'smaller': number; /** * * @type {string} * @memberof V1FolderMessagesSearchRequest */ 'text': string; } /** * Per-UID outcome of a bulk flag update. 200 when every UID succeeded, 207 when at least one failed. * @export * @interface V1FolderMessagesUpdateFlagsResult */ export interface V1FolderMessagesUpdateFlagsResult { /** * * @type {V1FolderMessagesUpdateFlagsResultData} * @memberof V1FolderMessagesUpdateFlagsResult */ 'data': V1FolderMessagesUpdateFlagsResultData; } /** * * @export * @interface V1FolderMessagesUpdateFlagsResultData */ export interface V1FolderMessagesUpdateFlagsResultData { /** * * @type {Array} * @memberof V1FolderMessagesUpdateFlagsResultData */ 'successful': Array; /** * * @type {Array} * @memberof V1FolderMessagesUpdateFlagsResultData */ 'failed': Array; } /** * * @export * @interface V1FolderMessagesUpdateFlagsResultDataFailedInner */ export interface V1FolderMessagesUpdateFlagsResultDataFailedInner { /** * * @type {number} * @memberof V1FolderMessagesUpdateFlagsResultDataFailedInner */ 'uid': number; /** * * @type {string} * @memberof V1FolderMessagesUpdateFlagsResultDataFailedInner */ 'reason': string; } /** * Paginated list of folders. * @export * @interface V1FoldersCollection */ export interface V1FoldersCollection { /** * * @type {Array} * @memberof V1FoldersCollection */ 'data': Array; /** * * @type {Pagination} * @memberof V1FoldersCollection */ 'pagination': Pagination; } /** * Body for creating a folder. * @export * @interface V1FoldersCreateRequest */ export interface V1FoldersCreateRequest { /** * Folder name. Length 1-100 after trimming. * @type {string} * @memberof V1FoldersCreateRequest */ 'name': string; } /** * A folder (IMAP mailbox) in the managed mailbox. * @export * @interface V1FoldersFolder */ export interface V1FoldersFolder { /** * Full hierarchical folder path including the delimiter. * @type {string} * @memberof V1FoldersFolder */ 'path': string; /** * Leaf name of the folder. * @type {string} * @memberof V1FoldersFolder */ 'name': string; /** * Hierarchy delimiter used by the IMAP server. * @type {string} * @memberof V1FoldersFolder */ 'delimiter': string; /** * IMAP SPECIAL-USE attribute (RFC 6154). `null` for regular folders. * @type {string} * @memberof V1FoldersFolder */ 'specialUse': string | null; /** * Total number of messages in the folder. * @type {number} * @memberof V1FoldersFolder */ 'messageCount': number; /** * Number of unread messages in the folder. * @type {number} * @memberof V1FoldersFolder */ 'unreadCount': number; } /** * Single folder payload. * @export * @interface V1FoldersResource */ export interface V1FoldersResource { /** * * @type {V1FoldersFolder} * @memberof V1FoldersResource */ 'data': V1FoldersFolder; } /** * Body for renaming a folder. * @export * @interface V1FoldersUpdateRequest */ export interface V1FoldersUpdateRequest { /** * New folder name. Length 1-100 after trimming. * @type {string} * @memberof V1FoldersUpdateRequest */ 'name': string; } /** * A mailbox the authenticated API token can manage. * @export * @interface V1MeMailbox */ export interface V1MeMailbox { /** * Unique identifier of the mailbox. * @type {string} * @memberof V1MeMailbox */ 'resourceId': string; /** * Email address of the mailbox. * @type {string} * @memberof V1MeMailbox */ 'address': string; } /** * Authenticated account payload. * @export * @interface V1MeResource */ export interface V1MeResource { /** * * @type {V1MeResourceData} * @memberof V1MeResource */ 'data': V1MeResourceData; } /** * * @export * @interface V1MeResourceData */ export interface V1MeResourceData { /** * Identifier of the order this API token is scoped to. * @type {string} * @memberof V1MeResourceData */ 'orderResourceId': string; /** * Mailboxes that the authenticated API token can manage. * @type {Array} * @memberof V1MeResourceData */ 'mailboxes': Array; } /** * Storage and message quota usage for the managed mailbox. * @export * @interface V1QuotaQuota */ export interface V1QuotaQuota { /** * Per-resource quota breakdown reported by the IMAP server. * @type {Array} * @memberof V1QuotaQuota */ 'quotas': Array; /** * Aggregate storage usage across all resources, in bytes. * @type {number} * @memberof V1QuotaQuota */ 'totalUsage': number; /** * Aggregate storage limit across all resources, in bytes. * @type {number} * @memberof V1QuotaQuota */ 'totalLimit': number; /** * Aggregate storage usage as a percentage of the total limit. * @type {number} * @memberof V1QuotaQuota */ 'totalPercentage': number; /** * Whether the IMAP server reports quota information for this mailbox. * @type {boolean} * @memberof V1QuotaQuota */ 'supported': boolean; } /** * Usage and limit for a single IMAP quota resource. * @export * @interface V1QuotaQuotaResource */ export interface V1QuotaQuotaResource { /** * Name of the quota resource as reported by the IMAP server. * @type {string} * @memberof V1QuotaQuotaResource */ 'resourceName': string; /** * Current usage of the resource (bytes for STORAGE, count for MESSAGE). * @type {number} * @memberof V1QuotaQuotaResource */ 'usage': number; /** * Maximum allowed value for the resource (bytes for STORAGE, count for MESSAGE). * @type {number} * @memberof V1QuotaQuotaResource */ 'limit': number; /** * Usage as a percentage of the limit. * @type {number} * @memberof V1QuotaQuotaResource */ 'percentage': number; } /** * Mailbox quota payload. * @export * @interface V1QuotaResource */ export interface V1QuotaResource { /** * * @type {V1QuotaQuota} * @memberof V1QuotaResource */ 'data': V1QuotaQuota; } /** * Attachment payload for outgoing mail. Supports regular attachments and inline images linked via Content-ID. * @export * @interface V1SendAttachment */ export interface V1SendAttachment { /** * * @type {string} * @memberof V1SendAttachment */ 'filename': string; /** * Attachment body. Base64-encoded by default; set encoding to switch. * @type {string} * @memberof V1SendAttachment */ 'content': string; /** * * @type {string} * @memberof V1SendAttachment */ 'contentType': string; /** * Content-ID for inline images. Reference from HTML as . * @type {string} * @memberof V1SendAttachment */ 'cid': string; /** * Encoding of content. Defaults to base64. * @type {string} * @memberof V1SendAttachment */ 'encoding': string; } /** * Reference to a source message by UID within a folder, used for reply/forward threading. Both fields are required. * @export * @interface V1SendMessageRef */ export interface V1SendMessageRef { /** * UID of the source message. * @type {number} * @memberof V1SendMessageRef */ 'uid': number; /** * Folder containing the source message. * @type {string} * @memberof V1SendMessageRef */ 'folder': string; } /** * Outgoing message payload. At least one of to, cc, or bcc must be present. * @export * @interface V1SendRequest */ export interface V1SendRequest { /** * * @type {Array} * @memberof V1SendRequest */ 'to': Array; /** * * @type {string} * @memberof V1SendRequest */ 'displayName': string; /** * * @type {Array} * @memberof V1SendRequest */ 'cc': Array; /** * * @type {Array} * @memberof V1SendRequest */ 'bcc': Array; /** * * @type {string} * @memberof V1SendRequest */ 'subject': string; /** * * @type {string} * @memberof V1SendRequest */ 'text': string; /** * * @type {string} * @memberof V1SendRequest */ 'html': string; /** * * @type {Array} * @memberof V1SendRequest */ 'attachments': Array; /** * Source message this is a reply to. Copies its Message-Id/References into In-Reply-To/References and flags it \\Answered. Mutually exclusive with forwardOf. * @type {V1SendMessageRef} * @memberof V1SendRequest */ 'inReplyTo': V1SendMessageRef; /** * Source message this forwards. Copies its Message-Id/References into In-Reply-To/References and flags it $forwarded. Mutually exclusive with inReplyTo. * @type {V1SendMessageRef} * @memberof V1SendRequest */ 'forwardOf': V1SendMessageRef; } /** * Paginated list of webhooks. * @export * @interface V1WebhooksCollection */ export interface V1WebhooksCollection { /** * * @type {Array} * @memberof V1WebhooksCollection */ 'data': Array; /** * * @type {Pagination} * @memberof V1WebhooksCollection */ 'pagination': Pagination; } /** * Body for creating a webhook. * @export * @interface V1WebhooksCreateRequest */ export interface V1WebhooksCreateRequest { /** * * @type {string} * @memberof V1WebhooksCreateRequest */ 'name': string; /** * * @type {string} * @memberof V1WebhooksCreateRequest */ 'description': string | null; /** * * @type {Array} * @memberof V1WebhooksCreateRequest */ 'events': Array; /** * * @type {string} * @memberof V1WebhooksCreateRequest */ 'status': V1WebhooksCreateRequestStatusEnum; /** * * @type {string} * @memberof V1WebhooksCreateRequest */ 'url': string; } export const V1WebhooksCreateRequestEventsEnum = { MessageReceived: 'message.received' } as const; export type V1WebhooksCreateRequestEventsEnum = typeof V1WebhooksCreateRequestEventsEnum[keyof typeof V1WebhooksCreateRequestEventsEnum]; export const V1WebhooksCreateRequestStatusEnum = { Active: 'active', Paused: 'paused', Disabled: 'disabled' } as const; export type V1WebhooksCreateRequestStatusEnum = typeof V1WebhooksCreateRequestStatusEnum[keyof typeof V1WebhooksCreateRequestStatusEnum]; /** * Single webhook payload. * @export * @interface V1WebhooksResource */ export interface V1WebhooksResource { /** * * @type {V1WebhooksWebhook} * @memberof V1WebhooksResource */ 'data': V1WebhooksWebhook; } /** * Single webhook payload including the one-time secret. * @export * @interface V1WebhooksResourceWithSecret */ export interface V1WebhooksResourceWithSecret { /** * * @type {V1WebhooksWebhookWithSecret} * @memberof V1WebhooksResourceWithSecret */ 'data': V1WebhooksWebhookWithSecret; } /** * Result of a webhook test delivery. * @export * @interface V1WebhooksTestResult */ export interface V1WebhooksTestResult { /** * * @type {V1WebhooksTestResultData} * @memberof V1WebhooksTestResult */ 'data': V1WebhooksTestResultData; } /** * * @export * @interface V1WebhooksTestResultData */ export interface V1WebhooksTestResultData { /** * * @type {number} * @memberof V1WebhooksTestResultData */ 'httpStatus': number; /** * * @type {boolean} * @memberof V1WebhooksTestResultData */ 'success': boolean; /** * * @type {string} * @memberof V1WebhooksTestResultData */ 'error': string | null; } /** * Body for partially updating a webhook. All fields optional; only present fields are applied. * @export * @interface V1WebhooksUpdateRequest */ export interface V1WebhooksUpdateRequest { /** * * @type {string} * @memberof V1WebhooksUpdateRequest */ 'name': string; /** * * @type {string} * @memberof V1WebhooksUpdateRequest */ 'description': string | null; /** * * @type {Array} * @memberof V1WebhooksUpdateRequest */ 'events': Array; /** * * @type {string} * @memberof V1WebhooksUpdateRequest */ 'status': V1WebhooksUpdateRequestStatusEnum; /** * * @type {string} * @memberof V1WebhooksUpdateRequest */ 'url': string; } export const V1WebhooksUpdateRequestEventsEnum = { MessageReceived: 'message.received' } as const; export type V1WebhooksUpdateRequestEventsEnum = typeof V1WebhooksUpdateRequestEventsEnum[keyof typeof V1WebhooksUpdateRequestEventsEnum]; export const V1WebhooksUpdateRequestStatusEnum = { Active: 'active', Paused: 'paused', Disabled: 'disabled' } as const; export type V1WebhooksUpdateRequestStatusEnum = typeof V1WebhooksUpdateRequestStatusEnum[keyof typeof V1WebhooksUpdateRequestStatusEnum]; /** * Webhook configured for a managed mailbox. * @export * @interface V1WebhooksWebhook */ export interface V1WebhooksWebhook { /** * Unique webhook identifier (UUID v7). * @type {string} * @memberof V1WebhooksWebhook */ 'id': string; /** * Resource ID of the mailbox this webhook is attached to. * @type {string} * @memberof V1WebhooksWebhook */ 'accountResourceId': string; /** * Email address of the mailbox. * @type {string} * @memberof V1WebhooksWebhook */ 'mailbox': string; /** * * @type {string} * @memberof V1WebhooksWebhook */ 'name': string; /** * * @type {string} * @memberof V1WebhooksWebhook */ 'description': string | null; /** * * @type {Array} * @memberof V1WebhooksWebhook */ 'events': Array; /** * * @type {string} * @memberof V1WebhooksWebhook */ 'status': V1WebhooksWebhookStatusEnum; /** * * @type {string} * @memberof V1WebhooksWebhook */ 'url': string; /** * * @type {string} * @memberof V1WebhooksWebhook */ 'createdAt': string; /** * * @type {string} * @memberof V1WebhooksWebhook */ 'updatedAt': string; } export const V1WebhooksWebhookEventsEnum = { MessageReceived: 'message.received' } as const; export type V1WebhooksWebhookEventsEnum = typeof V1WebhooksWebhookEventsEnum[keyof typeof V1WebhooksWebhookEventsEnum]; export const V1WebhooksWebhookStatusEnum = { Active: 'active', Paused: 'paused', Disabled: 'disabled' } as const; export type V1WebhooksWebhookStatusEnum = typeof V1WebhooksWebhookStatusEnum[keyof typeof V1WebhooksWebhookStatusEnum]; /** * Webhook payload that includes the one-time `secret`. Returned at creation and after secret regeneration. The secret is delivered as a bearer token on every webhook request (`Authorization: Bearer `); store it securely as it is not returned again. * @export * @interface V1WebhooksWebhookWithSecret */ export interface V1WebhooksWebhookWithSecret { /** * Unique webhook identifier (UUID v7). * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'id': string; /** * Resource ID of the mailbox this webhook is attached to. * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'accountResourceId': string; /** * Email address of the mailbox. * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'mailbox': string; /** * * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'name': string; /** * * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'description': string | null; /** * * @type {Array} * @memberof V1WebhooksWebhookWithSecret */ 'events': Array; /** * * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'status': V1WebhooksWebhookWithSecretStatusEnum; /** * * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'url': string; /** * * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'createdAt': string; /** * * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'updatedAt': string; /** * * @type {string} * @memberof V1WebhooksWebhookWithSecret */ 'secret': string; } export const V1WebhooksWebhookWithSecretEventsEnum = { MessageReceived: 'message.received' } as const; export type V1WebhooksWebhookWithSecretEventsEnum = typeof V1WebhooksWebhookWithSecretEventsEnum[keyof typeof V1WebhooksWebhookWithSecretEventsEnum]; export const V1WebhooksWebhookWithSecretStatusEnum = { Active: 'active', Paused: 'paused', Disabled: 'disabled' } as const; export type V1WebhooksWebhookWithSecretStatusEnum = typeof V1WebhooksWebhookWithSecretStatusEnum[keyof typeof V1WebhooksWebhookWithSecretStatusEnum]; /** * AccountApi - axios parameter creator * @export */ export const AccountApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Returns the authenticated account and the mailboxes it can manage. * @summary Get the authenticated account * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCurrentAccount: async (options: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/api/v1/me`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * AccountApi - functional programming interface * @export */ export const AccountApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AccountApiAxiosParamCreator(configuration) return { /** * Returns the authenticated account and the mailboxes it can manage. * @summary Get the authenticated account * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getCurrentAccount(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentAccount(options); const localVarOperationServerBasePath = operationServerMap['AccountApi.getCurrentAccount']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * AccountApi - factory interface * @export */ export const AccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = AccountApiFp(configuration) return { /** * Returns the authenticated account and the mailboxes it can manage. * @summary Get the authenticated account * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCurrentAccount(options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getCurrentAccount(options).then((request) => request(axios, basePath)); }, }; }; /** * AccountApi - object-oriented interface * @export * @class AccountApi * @extends {BaseAPI} */ export class AccountApi extends BaseAPI { /** * Returns the authenticated account and the mailboxes it can manage. * @summary Get the authenticated account * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof AccountApi */ public getCurrentAccount(options?: RawAxiosRequestConfig) { return AccountApiFp(this.configuration).getCurrentAccount(options).then((request) => request(this.axios, this.basePath)); } } /** * FoldersApi - axios parameter creator * @export */ export const FoldersApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Create a new folder in the managed mailbox. * @summary Create folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1FoldersCreateRequest} v1FoldersCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ createFolder: async (mailboxResourceId: string, v1FoldersCreateRequest: V1FoldersCreateRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('createFolder', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'v1FoldersCreateRequest' is not null or undefined assertParamExists('createFolder', 'v1FoldersCreateRequest', v1FoldersCreateRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FoldersCreateRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Delete a folder and all of its subfolders. * @summary Delete folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path to delete (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteFolder: async (mailboxResourceId: string, folder: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('deleteFolder', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('deleteFolder', 'folder', folder) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieve a paginated list of folders in the managed mailbox. * @summary List folders * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {*} [options] Override http request option. * @throws {RequiredError} */ listFolders: async (mailboxResourceId: string, page?: number, perPage?: number, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('listFolders', 'mailboxResourceId', mailboxResourceId) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (page !== undefined) { localVarQueryParameter['page'] = page; } if (perPage !== undefined) { localVarQueryParameter['perPage'] = perPage; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Rename an existing folder. * @summary Update folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Current folder path (URL-encoded). * @param {V1FoldersUpdateRequest} v1FoldersUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateFolder: async (mailboxResourceId: string, folder: string, v1FoldersUpdateRequest: V1FoldersUpdateRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('updateFolder', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('updateFolder', 'folder', folder) // verify required parameter 'v1FoldersUpdateRequest' is not null or undefined assertParamExists('updateFolder', 'v1FoldersUpdateRequest', v1FoldersUpdateRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FoldersUpdateRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * FoldersApi - functional programming interface * @export */ export const FoldersApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = FoldersApiAxiosParamCreator(configuration) return { /** * Create a new folder in the managed mailbox. * @summary Create folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1FoldersCreateRequest} v1FoldersCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async createFolder(mailboxResourceId: string, v1FoldersCreateRequest: V1FoldersCreateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createFolder(mailboxResourceId, v1FoldersCreateRequest, options); const localVarOperationServerBasePath = operationServerMap['FoldersApi.createFolder']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Delete a folder and all of its subfolders. * @summary Delete folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path to delete (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async deleteFolder(mailboxResourceId: string, folder: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteFolder(mailboxResourceId, folder, options); const localVarOperationServerBasePath = operationServerMap['FoldersApi.deleteFolder']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieve a paginated list of folders in the managed mailbox. * @summary List folders * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async listFolders(mailboxResourceId: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.listFolders(mailboxResourceId, page, perPage, options); const localVarOperationServerBasePath = operationServerMap['FoldersApi.listFolders']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Rename an existing folder. * @summary Update folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Current folder path (URL-encoded). * @param {V1FoldersUpdateRequest} v1FoldersUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async updateFolder(mailboxResourceId: string, folder: string, v1FoldersUpdateRequest: V1FoldersUpdateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateFolder(mailboxResourceId, folder, v1FoldersUpdateRequest, options); const localVarOperationServerBasePath = operationServerMap['FoldersApi.updateFolder']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * FoldersApi - factory interface * @export */ export const FoldersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = FoldersApiFp(configuration) return { /** * Create a new folder in the managed mailbox. * @summary Create folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1FoldersCreateRequest} v1FoldersCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ createFolder(mailboxResourceId: string, v1FoldersCreateRequest: V1FoldersCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createFolder(mailboxResourceId, v1FoldersCreateRequest, options).then((request) => request(axios, basePath)); }, /** * Delete a folder and all of its subfolders. * @summary Delete folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path to delete (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteFolder(mailboxResourceId: string, folder: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteFolder(mailboxResourceId, folder, options).then((request) => request(axios, basePath)); }, /** * Retrieve a paginated list of folders in the managed mailbox. * @summary List folders * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {*} [options] Override http request option. * @throws {RequiredError} */ listFolders(mailboxResourceId: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.listFolders(mailboxResourceId, page, perPage, options).then((request) => request(axios, basePath)); }, /** * Rename an existing folder. * @summary Update folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Current folder path (URL-encoded). * @param {V1FoldersUpdateRequest} v1FoldersUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateFolder(mailboxResourceId: string, folder: string, v1FoldersUpdateRequest: V1FoldersUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateFolder(mailboxResourceId, folder, v1FoldersUpdateRequest, options).then((request) => request(axios, basePath)); }, }; }; /** * FoldersApi - object-oriented interface * @export * @class FoldersApi * @extends {BaseAPI} */ export class FoldersApi extends BaseAPI { /** * Create a new folder in the managed mailbox. * @summary Create folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1FoldersCreateRequest} v1FoldersCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FoldersApi */ public createFolder(mailboxResourceId: string, v1FoldersCreateRequest: V1FoldersCreateRequest, options?: RawAxiosRequestConfig) { return FoldersApiFp(this.configuration).createFolder(mailboxResourceId, v1FoldersCreateRequest, options).then((request) => request(this.axios, this.basePath)); } /** * Delete a folder and all of its subfolders. * @summary Delete folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path to delete (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FoldersApi */ public deleteFolder(mailboxResourceId: string, folder: string, options?: RawAxiosRequestConfig) { return FoldersApiFp(this.configuration).deleteFolder(mailboxResourceId, folder, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieve a paginated list of folders in the managed mailbox. * @summary List folders * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FoldersApi */ public listFolders(mailboxResourceId: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig) { return FoldersApiFp(this.configuration).listFolders(mailboxResourceId, page, perPage, options).then((request) => request(this.axios, this.basePath)); } /** * Rename an existing folder. * @summary Update folder * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Current folder path (URL-encoded). * @param {V1FoldersUpdateRequest} v1FoldersUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FoldersApi */ public updateFolder(mailboxResourceId: string, folder: string, v1FoldersUpdateRequest: V1FoldersUpdateRequest, options?: RawAxiosRequestConfig) { return FoldersApiFp(this.configuration).updateFolder(mailboxResourceId, folder, v1FoldersUpdateRequest, options).then((request) => request(this.axios, this.basePath)); } } /** * MessagesApi - axios parameter creator * @export */ export const MessagesApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Permanently delete every message in a folder (empty the folder). * @summary Delete all messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteAllMessages: async (mailboxResourceId: string, folder: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('deleteAllMessages', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('deleteAllMessages', 'folder', folder) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Permanently delete a single message. * @summary Delete message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteMessage: async (mailboxResourceId: string, folder: string, uid: number, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('deleteMessage', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('deleteMessage', 'folder', folder) // verify required parameter 'uid' is not null or undefined assertParamExists('deleteMessage', 'uid', uid) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/{uid}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))) .replace(`{${"uid"}}`, encodeURIComponent(String(uid))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Permanently delete multiple messages from a folder. * @summary Delete messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesDeleteBulkRequest} v1FolderMessagesDeleteBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteMessages: async (mailboxResourceId: string, folder: string, v1FolderMessagesDeleteBulkRequest: V1FolderMessagesDeleteBulkRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('deleteMessages', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('deleteMessages', 'folder', folder) // verify required parameter 'v1FolderMessagesDeleteBulkRequest' is not null or undefined assertParamExists('deleteMessages', 'v1FolderMessagesDeleteBulkRequest', v1FolderMessagesDeleteBulkRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/delete` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FolderMessagesDeleteBulkRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieve a single message by UID. * @summary Get message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessage: async (mailboxResourceId: string, folder: string, uid: number, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('getMessage', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('getMessage', 'folder', folder) // verify required parameter 'uid' is not null or undefined assertParamExists('getMessage', 'uid', uid) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/{uid}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))) .replace(`{${"uid"}}`, encodeURIComponent(String(uid))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Download a message attachment as `application/octet-stream`. * @summary Download message attachment * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {string} attachmentId Attachment ID (opaque, returned by GET message). * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessageAttachment: async (mailboxResourceId: string, folder: string, uid: number, attachmentId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('getMessageAttachment', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('getMessageAttachment', 'folder', folder) // verify required parameter 'uid' is not null or undefined assertParamExists('getMessageAttachment', 'uid', uid) // verify required parameter 'attachmentId' is not null or undefined assertParamExists('getMessageAttachment', 'attachmentId', attachmentId) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/{uid}/attachments/{attachmentId}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))) .replace(`{${"uid"}}`, encodeURIComponent(String(uid))) .replace(`{${"attachmentId"}}`, encodeURIComponent(String(attachmentId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieve raw RFC822 source of a message as `message/rfc822` attachment. * @summary Get message source * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessageSource: async (mailboxResourceId: string, folder: string, uid: number, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('getMessageSource', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('getMessageSource', 'folder', folder) // verify required parameter 'uid' is not null or undefined assertParamExists('getMessageSource', 'uid', uid) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/{uid}/source` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))) .replace(`{${"uid"}}`, encodeURIComponent(String(uid))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieve rendered text (plain + HTML) of a message. Marks message as `\\Seen`. * @summary Get message text content * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessageText: async (mailboxResourceId: string, folder: string, uid: number, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('getMessageText', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('getMessageText', 'folder', folder) // verify required parameter 'uid' is not null or undefined assertParamExists('getMessageText', 'uid', uid) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/{uid}/text` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))) .replace(`{${"uid"}}`, encodeURIComponent(String(uid))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * List messages in a folder. Use POST /search for filtering. Sort fields: uid, date, size (prefix with `-` for descending). Default `-uid`. * @summary List messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {string} [sort] Sort field with optional `-` prefix for descending. Allowed: uid, date, size. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listMessages: async (mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('listMessages', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('listMessages', 'folder', folder) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (page !== undefined) { localVarQueryParameter['page'] = page; } if (perPage !== undefined) { localVarQueryParameter['perPage'] = perPage; } if (sort !== undefined) { localVarQueryParameter['sort'] = sort; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Move a single message to a target folder. * @summary Move message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesMoveRequest} v1FolderMessagesMoveRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveMessage: async (mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesMoveRequest: V1FolderMessagesMoveRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('moveMessage', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('moveMessage', 'folder', folder) // verify required parameter 'uid' is not null or undefined assertParamExists('moveMessage', 'uid', uid) // verify required parameter 'v1FolderMessagesMoveRequest' is not null or undefined assertParamExists('moveMessage', 'v1FolderMessagesMoveRequest', v1FolderMessagesMoveRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/{uid}/move` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))) .replace(`{${"uid"}}`, encodeURIComponent(String(uid))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FolderMessagesMoveRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Move multiple messages from a source folder to a target folder. * @summary Move messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {V1FolderMessagesMoveBulkRequest} v1FolderMessagesMoveBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveMessages: async (mailboxResourceId: string, folder: string, v1FolderMessagesMoveBulkRequest: V1FolderMessagesMoveBulkRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('moveMessages', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('moveMessages', 'folder', folder) // verify required parameter 'v1FolderMessagesMoveBulkRequest' is not null or undefined assertParamExists('moveMessages', 'v1FolderMessagesMoveBulkRequest', v1FolderMessagesMoveBulkRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/move` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FolderMessagesMoveBulkRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Add and/or remove flags on a single message. Returns the updated message. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesFlagsRequest} v1FolderMessagesFlagsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ patchMessage: async (mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesFlagsRequest: V1FolderMessagesFlagsRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('patchMessage', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('patchMessage', 'folder', folder) // verify required parameter 'uid' is not null or undefined assertParamExists('patchMessage', 'uid', uid) // verify required parameter 'v1FolderMessagesFlagsRequest' is not null or undefined assertParamExists('patchMessage', 'v1FolderMessagesFlagsRequest', v1FolderMessagesFlagsRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/{uid}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))) .replace(`{${"uid"}}`, encodeURIComponent(String(uid))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FolderMessagesFlagsRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Search messages in a folder. Filters in body; pagination and sort via query (`page`, `perPage`, `sort`). * @summary Search messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] * @param {number} [perPage] * @param {string} [sort] * @param {V1FolderMessagesSearchRequest} [v1FolderMessagesSearchRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ searchMessages: async (mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, v1FolderMessagesSearchRequest?: V1FolderMessagesSearchRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('searchMessages', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('searchMessages', 'folder', folder) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/search` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (page !== undefined) { localVarQueryParameter['page'] = page; } if (perPage !== undefined) { localVarQueryParameter['perPage'] = perPage; } if (sort !== undefined) { localVarQueryParameter['sort'] = sort; } localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FolderMessagesSearchRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Add and/or remove flags on multiple messages. Returns 200 when all UIDs succeed, 207 with per-UID outcome when some fail. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesFlagsBulkRequest} v1FolderMessagesFlagsBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateMessageFlags: async (mailboxResourceId: string, folder: string, v1FolderMessagesFlagsBulkRequest: V1FolderMessagesFlagsBulkRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('updateMessageFlags', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'folder' is not null or undefined assertParamExists('updateMessageFlags', 'folder', folder) // verify required parameter 'v1FolderMessagesFlagsBulkRequest' is not null or undefined assertParamExists('updateMessageFlags', 'v1FolderMessagesFlagsBulkRequest', v1FolderMessagesFlagsBulkRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/folders/{folder}/messages/flags` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"folder"}}`, encodeURIComponent(String(folder))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1FolderMessagesFlagsBulkRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * MessagesApi - functional programming interface * @export */ export const MessagesApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = MessagesApiAxiosParamCreator(configuration) return { /** * Permanently delete every message in a folder (empty the folder). * @summary Delete all messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async deleteAllMessages(mailboxResourceId: string, folder: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAllMessages(mailboxResourceId, folder, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.deleteAllMessages']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Permanently delete a single message. * @summary Delete message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async deleteMessage(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteMessage(mailboxResourceId, folder, uid, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.deleteMessage']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Permanently delete multiple messages from a folder. * @summary Delete messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesDeleteBulkRequest} v1FolderMessagesDeleteBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async deleteMessages(mailboxResourceId: string, folder: string, v1FolderMessagesDeleteBulkRequest: V1FolderMessagesDeleteBulkRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteMessages(mailboxResourceId, folder, v1FolderMessagesDeleteBulkRequest, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.deleteMessages']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieve a single message by UID. * @summary Get message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getMessage(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getMessage(mailboxResourceId, folder, uid, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.getMessage']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Download a message attachment as `application/octet-stream`. * @summary Download message attachment * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {string} attachmentId Attachment ID (opaque, returned by GET message). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getMessageAttachment(mailboxResourceId: string, folder: string, uid: number, attachmentId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getMessageAttachment(mailboxResourceId, folder, uid, attachmentId, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.getMessageAttachment']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieve raw RFC822 source of a message as `message/rfc822` attachment. * @summary Get message source * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getMessageSource(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getMessageSource(mailboxResourceId, folder, uid, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.getMessageSource']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieve rendered text (plain + HTML) of a message. Marks message as `\\Seen`. * @summary Get message text content * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getMessageText(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getMessageText(mailboxResourceId, folder, uid, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.getMessageText']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * List messages in a folder. Use POST /search for filtering. Sort fields: uid, date, size (prefix with `-` for descending). Default `-uid`. * @summary List messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {string} [sort] Sort field with optional `-` prefix for descending. Allowed: uid, date, size. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async listMessages(mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.listMessages(mailboxResourceId, folder, page, perPage, sort, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.listMessages']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Move a single message to a target folder. * @summary Move message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesMoveRequest} v1FolderMessagesMoveRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async moveMessage(mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesMoveRequest: V1FolderMessagesMoveRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.moveMessage(mailboxResourceId, folder, uid, v1FolderMessagesMoveRequest, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.moveMessage']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Move multiple messages from a source folder to a target folder. * @summary Move messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {V1FolderMessagesMoveBulkRequest} v1FolderMessagesMoveBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async moveMessages(mailboxResourceId: string, folder: string, v1FolderMessagesMoveBulkRequest: V1FolderMessagesMoveBulkRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.moveMessages(mailboxResourceId, folder, v1FolderMessagesMoveBulkRequest, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.moveMessages']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Add and/or remove flags on a single message. Returns the updated message. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesFlagsRequest} v1FolderMessagesFlagsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async patchMessage(mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesFlagsRequest: V1FolderMessagesFlagsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.patchMessage(mailboxResourceId, folder, uid, v1FolderMessagesFlagsRequest, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.patchMessage']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Search messages in a folder. Filters in body; pagination and sort via query (`page`, `perPage`, `sort`). * @summary Search messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] * @param {number} [perPage] * @param {string} [sort] * @param {V1FolderMessagesSearchRequest} [v1FolderMessagesSearchRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ async searchMessages(mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, v1FolderMessagesSearchRequest?: V1FolderMessagesSearchRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.searchMessages(mailboxResourceId, folder, page, perPage, sort, v1FolderMessagesSearchRequest, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.searchMessages']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Add and/or remove flags on multiple messages. Returns 200 when all UIDs succeed, 207 with per-UID outcome when some fail. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesFlagsBulkRequest} v1FolderMessagesFlagsBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async updateMessageFlags(mailboxResourceId: string, folder: string, v1FolderMessagesFlagsBulkRequest: V1FolderMessagesFlagsBulkRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateMessageFlags(mailboxResourceId, folder, v1FolderMessagesFlagsBulkRequest, options); const localVarOperationServerBasePath = operationServerMap['MessagesApi.updateMessageFlags']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * MessagesApi - factory interface * @export */ export const MessagesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = MessagesApiFp(configuration) return { /** * Permanently delete every message in a folder (empty the folder). * @summary Delete all messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteAllMessages(mailboxResourceId: string, folder: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteAllMessages(mailboxResourceId, folder, options).then((request) => request(axios, basePath)); }, /** * Permanently delete a single message. * @summary Delete message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteMessage(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteMessage(mailboxResourceId, folder, uid, options).then((request) => request(axios, basePath)); }, /** * Permanently delete multiple messages from a folder. * @summary Delete messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesDeleteBulkRequest} v1FolderMessagesDeleteBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteMessages(mailboxResourceId: string, folder: string, v1FolderMessagesDeleteBulkRequest: V1FolderMessagesDeleteBulkRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteMessages(mailboxResourceId, folder, v1FolderMessagesDeleteBulkRequest, options).then((request) => request(axios, basePath)); }, /** * Retrieve a single message by UID. * @summary Get message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessage(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getMessage(mailboxResourceId, folder, uid, options).then((request) => request(axios, basePath)); }, /** * Download a message attachment as `application/octet-stream`. * @summary Download message attachment * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {string} attachmentId Attachment ID (opaque, returned by GET message). * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessageAttachment(mailboxResourceId: string, folder: string, uid: number, attachmentId: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getMessageAttachment(mailboxResourceId, folder, uid, attachmentId, options).then((request) => request(axios, basePath)); }, /** * Retrieve raw RFC822 source of a message as `message/rfc822` attachment. * @summary Get message source * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessageSource(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getMessageSource(mailboxResourceId, folder, uid, options).then((request) => request(axios, basePath)); }, /** * Retrieve rendered text (plain + HTML) of a message. Marks message as `\\Seen`. * @summary Get message text content * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getMessageText(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getMessageText(mailboxResourceId, folder, uid, options).then((request) => request(axios, basePath)); }, /** * List messages in a folder. Use POST /search for filtering. Sort fields: uid, date, size (prefix with `-` for descending). Default `-uid`. * @summary List messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {string} [sort] Sort field with optional `-` prefix for descending. Allowed: uid, date, size. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listMessages(mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.listMessages(mailboxResourceId, folder, page, perPage, sort, options).then((request) => request(axios, basePath)); }, /** * Move a single message to a target folder. * @summary Move message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesMoveRequest} v1FolderMessagesMoveRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveMessage(mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesMoveRequest: V1FolderMessagesMoveRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.moveMessage(mailboxResourceId, folder, uid, v1FolderMessagesMoveRequest, options).then((request) => request(axios, basePath)); }, /** * Move multiple messages from a source folder to a target folder. * @summary Move messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {V1FolderMessagesMoveBulkRequest} v1FolderMessagesMoveBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveMessages(mailboxResourceId: string, folder: string, v1FolderMessagesMoveBulkRequest: V1FolderMessagesMoveBulkRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.moveMessages(mailboxResourceId, folder, v1FolderMessagesMoveBulkRequest, options).then((request) => request(axios, basePath)); }, /** * Add and/or remove flags on a single message. Returns the updated message. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesFlagsRequest} v1FolderMessagesFlagsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ patchMessage(mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesFlagsRequest: V1FolderMessagesFlagsRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.patchMessage(mailboxResourceId, folder, uid, v1FolderMessagesFlagsRequest, options).then((request) => request(axios, basePath)); }, /** * Search messages in a folder. Filters in body; pagination and sort via query (`page`, `perPage`, `sort`). * @summary Search messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] * @param {number} [perPage] * @param {string} [sort] * @param {V1FolderMessagesSearchRequest} [v1FolderMessagesSearchRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ searchMessages(mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, v1FolderMessagesSearchRequest?: V1FolderMessagesSearchRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.searchMessages(mailboxResourceId, folder, page, perPage, sort, v1FolderMessagesSearchRequest, options).then((request) => request(axios, basePath)); }, /** * Add and/or remove flags on multiple messages. Returns 200 when all UIDs succeed, 207 with per-UID outcome when some fail. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesFlagsBulkRequest} v1FolderMessagesFlagsBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateMessageFlags(mailboxResourceId: string, folder: string, v1FolderMessagesFlagsBulkRequest: V1FolderMessagesFlagsBulkRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateMessageFlags(mailboxResourceId, folder, v1FolderMessagesFlagsBulkRequest, options).then((request) => request(axios, basePath)); }, }; }; /** * MessagesApi - object-oriented interface * @export * @class MessagesApi * @extends {BaseAPI} */ export class MessagesApi extends BaseAPI { /** * Permanently delete every message in a folder (empty the folder). * @summary Delete all messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public deleteAllMessages(mailboxResourceId: string, folder: string, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).deleteAllMessages(mailboxResourceId, folder, options).then((request) => request(this.axios, this.basePath)); } /** * Permanently delete a single message. * @summary Delete message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public deleteMessage(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).deleteMessage(mailboxResourceId, folder, uid, options).then((request) => request(this.axios, this.basePath)); } /** * Permanently delete multiple messages from a folder. * @summary Delete messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesDeleteBulkRequest} v1FolderMessagesDeleteBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public deleteMessages(mailboxResourceId: string, folder: string, v1FolderMessagesDeleteBulkRequest: V1FolderMessagesDeleteBulkRequest, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).deleteMessages(mailboxResourceId, folder, v1FolderMessagesDeleteBulkRequest, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieve a single message by UID. * @summary Get message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public getMessage(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).getMessage(mailboxResourceId, folder, uid, options).then((request) => request(this.axios, this.basePath)); } /** * Download a message attachment as `application/octet-stream`. * @summary Download message attachment * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {string} attachmentId Attachment ID (opaque, returned by GET message). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public getMessageAttachment(mailboxResourceId: string, folder: string, uid: number, attachmentId: string, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).getMessageAttachment(mailboxResourceId, folder, uid, attachmentId, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieve raw RFC822 source of a message as `message/rfc822` attachment. * @summary Get message source * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public getMessageSource(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).getMessageSource(mailboxResourceId, folder, uid, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieve rendered text (plain + HTML) of a message. Marks message as `\\Seen`. * @summary Get message text content * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public getMessageText(mailboxResourceId: string, folder: string, uid: number, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).getMessageText(mailboxResourceId, folder, uid, options).then((request) => request(this.axios, this.basePath)); } /** * List messages in a folder. Use POST /search for filtering. Sort fields: uid, date, size (prefix with `-` for descending). Default `-uid`. * @summary List messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] Page number (1-based). * @param {number} [perPage] Items per page (max 100). * @param {string} [sort] Sort field with optional `-` prefix for descending. Allowed: uid, date, size. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public listMessages(mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).listMessages(mailboxResourceId, folder, page, perPage, sort, options).then((request) => request(this.axios, this.basePath)); } /** * Move a single message to a target folder. * @summary Move message * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesMoveRequest} v1FolderMessagesMoveRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public moveMessage(mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesMoveRequest: V1FolderMessagesMoveRequest, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).moveMessage(mailboxResourceId, folder, uid, v1FolderMessagesMoveRequest, options).then((request) => request(this.axios, this.basePath)); } /** * Move multiple messages from a source folder to a target folder. * @summary Move messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Source folder path (URL-encoded). * @param {V1FolderMessagesMoveBulkRequest} v1FolderMessagesMoveBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public moveMessages(mailboxResourceId: string, folder: string, v1FolderMessagesMoveBulkRequest: V1FolderMessagesMoveBulkRequest, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).moveMessages(mailboxResourceId, folder, v1FolderMessagesMoveBulkRequest, options).then((request) => request(this.axios, this.basePath)); } /** * Add and/or remove flags on a single message. Returns the updated message. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} uid Message UID. * @param {V1FolderMessagesFlagsRequest} v1FolderMessagesFlagsRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public patchMessage(mailboxResourceId: string, folder: string, uid: number, v1FolderMessagesFlagsRequest: V1FolderMessagesFlagsRequest, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).patchMessage(mailboxResourceId, folder, uid, v1FolderMessagesFlagsRequest, options).then((request) => request(this.axios, this.basePath)); } /** * Search messages in a folder. Filters in body; pagination and sort via query (`page`, `perPage`, `sort`). * @summary Search messages * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {number} [page] * @param {number} [perPage] * @param {string} [sort] * @param {V1FolderMessagesSearchRequest} [v1FolderMessagesSearchRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public searchMessages(mailboxResourceId: string, folder: string, page?: number, perPage?: number, sort?: string, v1FolderMessagesSearchRequest?: V1FolderMessagesSearchRequest, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).searchMessages(mailboxResourceId, folder, page, perPage, sort, v1FolderMessagesSearchRequest, options).then((request) => request(this.axios, this.basePath)); } /** * Add and/or remove flags on multiple messages. Returns 200 when all UIDs succeed, 207 with per-UID outcome when some fail. * @summary Update message flags * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {string} folder Folder path (URL-encoded). * @param {V1FolderMessagesFlagsBulkRequest} v1FolderMessagesFlagsBulkRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof MessagesApi */ public updateMessageFlags(mailboxResourceId: string, folder: string, v1FolderMessagesFlagsBulkRequest: V1FolderMessagesFlagsBulkRequest, options?: RawAxiosRequestConfig) { return MessagesApiFp(this.configuration).updateMessageFlags(mailboxResourceId, folder, v1FolderMessagesFlagsBulkRequest, options).then((request) => request(this.axios, this.basePath)); } } /** * QuotaApi - axios parameter creator * @export */ export const QuotaApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Retrieve storage and message quota usage for the managed mailbox. * @summary Get mailbox quota * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getQuota: async (mailboxResourceId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('getQuota', 'mailboxResourceId', mailboxResourceId) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/quota` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * QuotaApi - functional programming interface * @export */ export const QuotaApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = QuotaApiAxiosParamCreator(configuration) return { /** * Retrieve storage and message quota usage for the managed mailbox. * @summary Get mailbox quota * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getQuota(mailboxResourceId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getQuota(mailboxResourceId, options); const localVarOperationServerBasePath = operationServerMap['QuotaApi.getQuota']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * QuotaApi - factory interface * @export */ export const QuotaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = QuotaApiFp(configuration) return { /** * Retrieve storage and message quota usage for the managed mailbox. * @summary Get mailbox quota * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getQuota(mailboxResourceId: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getQuota(mailboxResourceId, options).then((request) => request(axios, basePath)); }, }; }; /** * QuotaApi - object-oriented interface * @export * @class QuotaApi * @extends {BaseAPI} */ export class QuotaApi extends BaseAPI { /** * Retrieve storage and message quota usage for the managed mailbox. * @summary Get mailbox quota * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof QuotaApi */ public getQuota(mailboxResourceId: string, options?: RawAxiosRequestConfig) { return QuotaApiFp(this.configuration).getQuota(mailboxResourceId, options).then((request) => request(this.axios, this.basePath)); } } /** * SendApi - axios parameter creator * @export */ export const SendApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Send a message from the managed mailbox. Saves a copy to INBOX.Sent. * @summary Send email * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1SendRequest | null} v1SendRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ sendEmail: async (mailboxResourceId: string, v1SendRequest: V1SendRequest | null, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('sendEmail', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'v1SendRequest' is not null or undefined assertParamExists('sendEmail', 'v1SendRequest', v1SendRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/send` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1SendRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * SendApi - functional programming interface * @export */ export const SendApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = SendApiAxiosParamCreator(configuration) return { /** * Send a message from the managed mailbox. Saves a copy to INBOX.Sent. * @summary Send email * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1SendRequest | null} v1SendRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async sendEmail(mailboxResourceId: string, v1SendRequest: V1SendRequest | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.sendEmail(mailboxResourceId, v1SendRequest, options); const localVarOperationServerBasePath = operationServerMap['SendApi.sendEmail']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * SendApi - factory interface * @export */ export const SendApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = SendApiFp(configuration) return { /** * Send a message from the managed mailbox. Saves a copy to INBOX.Sent. * @summary Send email * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1SendRequest | null} v1SendRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ sendEmail(mailboxResourceId: string, v1SendRequest: V1SendRequest | null, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.sendEmail(mailboxResourceId, v1SendRequest, options).then((request) => request(axios, basePath)); }, }; }; /** * SendApi - object-oriented interface * @export * @class SendApi * @extends {BaseAPI} */ export class SendApi extends BaseAPI { /** * Send a message from the managed mailbox. Saves a copy to INBOX.Sent. * @summary Send email * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1SendRequest | null} v1SendRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof SendApi */ public sendEmail(mailboxResourceId: string, v1SendRequest: V1SendRequest | null, options?: RawAxiosRequestConfig) { return SendApiFp(this.configuration).sendEmail(mailboxResourceId, v1SendRequest, options).then((request) => request(this.axios, this.basePath)); } } /** * WebhooksApi - axios parameter creator * @export */ export const WebhooksApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * Create a webhook. The response includes the one-time `secret` — store it securely as it is never returned again. * @summary Create webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1WebhooksCreateRequest} v1WebhooksCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ createWebhook: async (mailboxResourceId: string, v1WebhooksCreateRequest: V1WebhooksCreateRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('createWebhook', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'v1WebhooksCreateRequest' is not null or undefined assertParamExists('createWebhook', 'v1WebhooksCreateRequest', v1WebhooksCreateRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/webhooks` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1WebhooksCreateRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Delete a webhook. * @summary Delete webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteWebhook: async (mailboxResourceId: string, webhook: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('deleteWebhook', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'webhook' is not null or undefined assertParamExists('deleteWebhook', 'webhook', webhook) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/webhooks/{webhook}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"webhook"}}`, encodeURIComponent(String(webhook))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Retrieve a single webhook by id. * @summary Get webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ getWebhook: async (mailboxResourceId: string, webhook: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('getWebhook', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'webhook' is not null or undefined assertParamExists('getWebhook', 'webhook', webhook) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/webhooks/{webhook}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"webhook"}}`, encodeURIComponent(String(webhook))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * List webhooks for a mailbox. * @summary List webhooks * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {ListWebhooksStatusEnum} [status] * @param {number} [page] * @param {number} [perPage] * @param {*} [options] Override http request option. * @throws {RequiredError} */ listWebhooks: async (mailboxResourceId: string, status?: ListWebhooksStatusEnum, page?: number, perPage?: number, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('listWebhooks', 'mailboxResourceId', mailboxResourceId) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/webhooks` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (status !== undefined) { localVarQueryParameter['status'] = status; } if (page !== undefined) { localVarQueryParameter['page'] = page; } if (perPage !== undefined) { localVarQueryParameter['perPage'] = perPage; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Regenerate the webhook secret. The previous secret is immediately invalidated. The new secret is returned once. * @summary Regenerate webhook secret * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ regenerateWebhookSecret: async (mailboxResourceId: string, webhook: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('regenerateWebhookSecret', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'webhook' is not null or undefined assertParamExists('regenerateWebhookSecret', 'webhook', webhook) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/webhooks/{webhook}/regenerate-secret` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"webhook"}}`, encodeURIComponent(String(webhook))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Send a test delivery to the webhook URL and return the upstream response. * @summary Test webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ testWebhook: async (mailboxResourceId: string, webhook: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('testWebhook', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'webhook' is not null or undefined assertParamExists('testWebhook', 'webhook', webhook) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/webhooks/{webhook}/test` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"webhook"}}`, encodeURIComponent(String(webhook))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Partially update a webhook. * @summary Update webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {V1WebhooksUpdateRequest} v1WebhooksUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateWebhook: async (mailboxResourceId: string, webhook: string, v1WebhooksUpdateRequest: V1WebhooksUpdateRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'mailboxResourceId' is not null or undefined assertParamExists('updateWebhook', 'mailboxResourceId', mailboxResourceId) // verify required parameter 'webhook' is not null or undefined assertParamExists('updateWebhook', 'webhook', webhook) // verify required parameter 'v1WebhooksUpdateRequest' is not null or undefined assertParamExists('updateWebhook', 'v1WebhooksUpdateRequest', v1WebhooksUpdateRequest) const localVarPath = `/api/v1/mailboxes/{mailboxResourceId}/webhooks/{webhook}` .replace(`{${"mailboxResourceId"}}`, encodeURIComponent(String(mailboxResourceId))) .replace(`{${"webhook"}}`, encodeURIComponent(String(webhook))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication BearerAuth required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) localVarHeaderParameter['Content-Type'] = 'application/json'; setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(v1WebhooksUpdateRequest, localVarRequestOptions, configuration) return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * WebhooksApi - functional programming interface * @export */ export const WebhooksApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = WebhooksApiAxiosParamCreator(configuration) return { /** * Create a webhook. The response includes the one-time `secret` — store it securely as it is never returned again. * @summary Create webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1WebhooksCreateRequest} v1WebhooksCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async createWebhook(mailboxResourceId: string, v1WebhooksCreateRequest: V1WebhooksCreateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createWebhook(mailboxResourceId, v1WebhooksCreateRequest, options); const localVarOperationServerBasePath = operationServerMap['WebhooksApi.createWebhook']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Delete a webhook. * @summary Delete webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async deleteWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteWebhook(mailboxResourceId, webhook, options); const localVarOperationServerBasePath = operationServerMap['WebhooksApi.deleteWebhook']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Retrieve a single webhook by id. * @summary Get webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getWebhook(mailboxResourceId, webhook, options); const localVarOperationServerBasePath = operationServerMap['WebhooksApi.getWebhook']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * List webhooks for a mailbox. * @summary List webhooks * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {ListWebhooksStatusEnum} [status] * @param {number} [page] * @param {number} [perPage] * @param {*} [options] Override http request option. * @throws {RequiredError} */ async listWebhooks(mailboxResourceId: string, status?: ListWebhooksStatusEnum, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.listWebhooks(mailboxResourceId, status, page, perPage, options); const localVarOperationServerBasePath = operationServerMap['WebhooksApi.listWebhooks']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Regenerate the webhook secret. The previous secret is immediately invalidated. The new secret is returned once. * @summary Regenerate webhook secret * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async regenerateWebhookSecret(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.regenerateWebhookSecret(mailboxResourceId, webhook, options); const localVarOperationServerBasePath = operationServerMap['WebhooksApi.regenerateWebhookSecret']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Send a test delivery to the webhook URL and return the upstream response. * @summary Test webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ async testWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.testWebhook(mailboxResourceId, webhook, options); const localVarOperationServerBasePath = operationServerMap['WebhooksApi.testWebhook']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Partially update a webhook. * @summary Update webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {V1WebhooksUpdateRequest} v1WebhooksUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ async updateWebhook(mailboxResourceId: string, webhook: string, v1WebhooksUpdateRequest: V1WebhooksUpdateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateWebhook(mailboxResourceId, webhook, v1WebhooksUpdateRequest, options); const localVarOperationServerBasePath = operationServerMap['WebhooksApi.updateWebhook']?.[0]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; /** * WebhooksApi - factory interface * @export */ export const WebhooksApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = WebhooksApiFp(configuration) return { /** * Create a webhook. The response includes the one-time `secret` — store it securely as it is never returned again. * @summary Create webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1WebhooksCreateRequest} v1WebhooksCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ createWebhook(mailboxResourceId: string, v1WebhooksCreateRequest: V1WebhooksCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.createWebhook(mailboxResourceId, v1WebhooksCreateRequest, options).then((request) => request(axios, basePath)); }, /** * Delete a webhook. * @summary Delete webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.deleteWebhook(mailboxResourceId, webhook, options).then((request) => request(axios, basePath)); }, /** * Retrieve a single webhook by id. * @summary Get webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ getWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.getWebhook(mailboxResourceId, webhook, options).then((request) => request(axios, basePath)); }, /** * List webhooks for a mailbox. * @summary List webhooks * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {ListWebhooksStatusEnum} [status] * @param {number} [page] * @param {number} [perPage] * @param {*} [options] Override http request option. * @throws {RequiredError} */ listWebhooks(mailboxResourceId: string, status?: ListWebhooksStatusEnum, page?: number, perPage?: number, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.listWebhooks(mailboxResourceId, status, page, perPage, options).then((request) => request(axios, basePath)); }, /** * Regenerate the webhook secret. The previous secret is immediately invalidated. The new secret is returned once. * @summary Regenerate webhook secret * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ regenerateWebhookSecret(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.regenerateWebhookSecret(mailboxResourceId, webhook, options).then((request) => request(axios, basePath)); }, /** * Send a test delivery to the webhook URL and return the upstream response. * @summary Test webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} */ testWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.testWebhook(mailboxResourceId, webhook, options).then((request) => request(axios, basePath)); }, /** * Partially update a webhook. * @summary Update webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {V1WebhooksUpdateRequest} v1WebhooksUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateWebhook(mailboxResourceId: string, webhook: string, v1WebhooksUpdateRequest: V1WebhooksUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise { return localVarFp.updateWebhook(mailboxResourceId, webhook, v1WebhooksUpdateRequest, options).then((request) => request(axios, basePath)); }, }; }; /** * WebhooksApi - object-oriented interface * @export * @class WebhooksApi * @extends {BaseAPI} */ export class WebhooksApi extends BaseAPI { /** * Create a webhook. The response includes the one-time `secret` — store it securely as it is never returned again. * @summary Create webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {V1WebhooksCreateRequest} v1WebhooksCreateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof WebhooksApi */ public createWebhook(mailboxResourceId: string, v1WebhooksCreateRequest: V1WebhooksCreateRequest, options?: RawAxiosRequestConfig) { return WebhooksApiFp(this.configuration).createWebhook(mailboxResourceId, v1WebhooksCreateRequest, options).then((request) => request(this.axios, this.basePath)); } /** * Delete a webhook. * @summary Delete webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof WebhooksApi */ public deleteWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig) { return WebhooksApiFp(this.configuration).deleteWebhook(mailboxResourceId, webhook, options).then((request) => request(this.axios, this.basePath)); } /** * Retrieve a single webhook by id. * @summary Get webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof WebhooksApi */ public getWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig) { return WebhooksApiFp(this.configuration).getWebhook(mailboxResourceId, webhook, options).then((request) => request(this.axios, this.basePath)); } /** * List webhooks for a mailbox. * @summary List webhooks * @param {string} mailboxResourceId Resource ID of the managed mailbox the bearer token is authorized for. * @param {ListWebhooksStatusEnum} [status] * @param {number} [page] * @param {number} [perPage] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof WebhooksApi */ public listWebhooks(mailboxResourceId: string, status?: ListWebhooksStatusEnum, page?: number, perPage?: number, options?: RawAxiosRequestConfig) { return WebhooksApiFp(this.configuration).listWebhooks(mailboxResourceId, status, page, perPage, options).then((request) => request(this.axios, this.basePath)); } /** * Regenerate the webhook secret. The previous secret is immediately invalidated. The new secret is returned once. * @summary Regenerate webhook secret * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof WebhooksApi */ public regenerateWebhookSecret(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig) { return WebhooksApiFp(this.configuration).regenerateWebhookSecret(mailboxResourceId, webhook, options).then((request) => request(this.axios, this.basePath)); } /** * Send a test delivery to the webhook URL and return the upstream response. * @summary Test webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof WebhooksApi */ public testWebhook(mailboxResourceId: string, webhook: string, options?: RawAxiosRequestConfig) { return WebhooksApiFp(this.configuration).testWebhook(mailboxResourceId, webhook, options).then((request) => request(this.axios, this.basePath)); } /** * Partially update a webhook. * @summary Update webhook * @param {string} mailboxResourceId Resource ID of the managed mailbox. * @param {string} webhook Webhook identifier (UUID v7). * @param {V1WebhooksUpdateRequest} v1WebhooksUpdateRequest * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof WebhooksApi */ public updateWebhook(mailboxResourceId: string, webhook: string, v1WebhooksUpdateRequest: V1WebhooksUpdateRequest, options?: RawAxiosRequestConfig) { return WebhooksApiFp(this.configuration).updateWebhook(mailboxResourceId, webhook, v1WebhooksUpdateRequest, options).then((request) => request(this.axios, this.basePath)); } } /** * @export */ export const ListWebhooksStatusEnum = { Active: 'active', Paused: 'paused', Disabled: 'disabled' } as const; export type ListWebhooksStatusEnum = typeof ListWebhooksStatusEnum[keyof typeof ListWebhooksStatusEnum];