/* tslint:disable */ /* eslint-disable */ /** * MailSlurp API * MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. It\'s designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository * * The version of the OpenAPI document: 6.5.2 * Contact: contact@mailslurp.dev * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import { EmailIntelligenceListResult, EmailIntelligenceListResultFromJSON, EmailIntelligenceListResultToJSON, EmailIntelligenceOptions, EmailIntelligenceOptionsFromJSON, EmailIntelligenceOptionsToJSON, PageEmailValidationRequest, PageEmailValidationRequestFromJSON, PageEmailValidationRequestToJSON, ValidateEmailAddressListOptions, ValidateEmailAddressListOptionsFromJSON, ValidateEmailAddressListOptionsToJSON, ValidateEmailAddressListResult, ValidateEmailAddressListResultFromJSON, ValidateEmailAddressListResultToJSON, } from '../models'; export interface DeleteValidationRequestRequest { id: string; } export interface GetEmailIntelligenceRequest { emailIntelligenceOptions: EmailIntelligenceOptions; } export interface GetValidationRequestsRequest { page?: number; size?: number; sort?: GetValidationRequestsSortEnum; searchFilter?: string; since?: Date; before?: Date; isValid?: boolean; } export interface ValidateEmailAddressListRequest { validateEmailAddressListOptions: ValidateEmailAddressListOptions; } /** * */ export class EmailVerificationControllerApi extends runtime.BaseAPI { /** * Remove validation requests * Delete all validation requests */ async deleteAllValidationRequestsRaw( initOverrides?: RequestInit ): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/email-verification`, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.VoidApiResponse(response); } /** * Remove validation requests * Delete all validation requests */ async deleteAllValidationRequests( initOverrides?: RequestInit ): Promise { await this.deleteAllValidationRequestsRaw(initOverrides); } /** * Delete a validation record * Delete a validation record */ async deleteValidationRequestRaw( requestParameters: DeleteValidationRequestRequest, initOverrides?: RequestInit ): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError( 'id', 'Required parameter requestParameters.id was null or undefined when calling deleteValidationRequest.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/email-verification/{id}`.replace( `{${'id'}}`, encodeURIComponent(String(requestParameters.id)) ), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.VoidApiResponse(response); } /** * Delete a validation record * Delete a validation record */ async deleteValidationRequest( requestParameters: DeleteValidationRequestRequest, initOverrides?: RequestInit ): Promise { await this.deleteValidationRequestRaw(requestParameters, initOverrides); } /** * Run email intelligence scoring for one or more email addresses or domains. Submitting a single target in the list supports one-off checks. * Get intelligence score and breakdown for email/domain targets. Per unit billing for non-cached evaluations. */ async getEmailIntelligenceRaw( requestParameters: GetEmailIntelligenceRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.emailIntelligenceOptions === null || requestParameters.emailIntelligenceOptions === undefined ) { throw new runtime.RequiredError( 'emailIntelligenceOptions', 'Required parameter requestParameters.emailIntelligenceOptions was null or undefined when calling getEmailIntelligence.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/email-verification/intelligence`, method: 'POST', headers: headerParameters, query: queryParameters, body: EmailIntelligenceOptionsToJSON( requestParameters.emailIntelligenceOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => EmailIntelligenceListResultFromJSON(jsonValue) ); } /** * Run email intelligence scoring for one or more email addresses or domains. Submitting a single target in the list supports one-off checks. * Get intelligence score and breakdown for email/domain targets. Per unit billing for non-cached evaluations. */ async getEmailIntelligence( requestParameters: GetEmailIntelligenceRequest, initOverrides?: RequestInit ): Promise { const response = await this.getEmailIntelligenceRaw( requestParameters, initOverrides ); return await response.value(); } /** * List email verification requests * Validate a list of email addresses. Per unit billing. See your plan for pricing. */ async getValidationRequestsRaw( requestParameters: GetValidationRequestsRequest, initOverrides?: RequestInit ): Promise> { const queryParameters: any = {}; if (requestParameters.page !== undefined) { queryParameters['page'] = requestParameters.page; } if (requestParameters.size !== undefined) { queryParameters['size'] = requestParameters.size; } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort; } if (requestParameters.searchFilter !== undefined) { queryParameters['searchFilter'] = requestParameters.searchFilter; } if (requestParameters.since !== undefined) { queryParameters['since'] = (requestParameters.since as any).toISOString(); } if (requestParameters.before !== undefined) { queryParameters['before'] = ( requestParameters.before as any ).toISOString(); } if (requestParameters.isValid !== undefined) { queryParameters['isValid'] = requestParameters.isValid; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/email-verification/validation-requests`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => PageEmailValidationRequestFromJSON(jsonValue) ); } /** * List email verification requests * Validate a list of email addresses. Per unit billing. See your plan for pricing. */ async getValidationRequests( requestParameters: GetValidationRequestsRequest, initOverrides?: RequestInit ): Promise { const response = await this.getValidationRequestsRaw( requestParameters, initOverrides ); return await response.value(); } /** * Verify a list of email addresses is valid and can be contacted. * Validate a list of email addresses. Per unit billing. See your plan for pricing. */ async validateEmailAddressListRaw( requestParameters: ValidateEmailAddressListRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.validateEmailAddressListOptions === null || requestParameters.validateEmailAddressListOptions === undefined ) { throw new runtime.RequiredError( 'validateEmailAddressListOptions', 'Required parameter requestParameters.validateEmailAddressListOptions was null or undefined when calling validateEmailAddressList.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/email-verification/email-address-list`, method: 'POST', headers: headerParameters, query: queryParameters, body: ValidateEmailAddressListOptionsToJSON( requestParameters.validateEmailAddressListOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => ValidateEmailAddressListResultFromJSON(jsonValue) ); } /** * Verify a list of email addresses is valid and can be contacted. * Validate a list of email addresses. Per unit billing. See your plan for pricing. */ async validateEmailAddressList( requestParameters: ValidateEmailAddressListRequest, initOverrides?: RequestInit ): Promise { const response = await this.validateEmailAddressListRaw( requestParameters, initOverrides ); return await response.value(); } } /** * @export * @enum {string} */ export enum GetValidationRequestsSortEnum { ASC = 'ASC', DESC = 'DESC', }