{"version":3,"file":"revxui-api-clients-ts.mjs","sources":["../../variables.ts","../../configuration.ts","../../api/adminController.service.ts","../../encoder.ts","../../api/advertiserController.service.ts","../../api/appSettingsController.service.ts","../../api/audienceController.service.ts","../../api/auditController.service.ts","../../api/bidFunnelController.service.ts","../../api/bulkStrategyController.service.ts","../../api/cSSThemeController_.service.ts","../../api/campaignController.service.ts","../../api/catalogController.service.ts","../../api/clickDestinationController.service.ts","../../api/creativeController.service.ts","../../api/creativeSetsController.service.ts","../../api/creativeTemplateThemesController.service.ts","../../api/creativeTemplateVariablesController.service.ts","../../api/creativeTemplatesController.service.ts","../../api/customerReportingController.service.ts","../../api/dashboardController.service.ts","../../api/experimentsController.service.ts","../../api/notificationsController.service.ts","../../api/pixelController.service.ts","../../api/reportController.service.ts","../../api/reportingController.service.ts","../../api/reportingSchedulerController.service.ts","../../api/sliceXController.service.ts","../../api/strategyController.service.ts","../../api/strategyTemplateController.service.ts","../../api/uILoggerController.service.ts","../../api/userPreferenceController.service.ts","../../api/api.ts","../../model/aBTestingDTO.ts","../../model/aBTestingResponseDetails.ts","../../model/aBTestingVariantDTO.ts","../../model/activityLogsCreativeSetsBulkUpdateDTO.ts","../../model/activityLogsStrategyBulkUpdateDTO.ts","../../model/advertiserAppSettingsDTO.ts","../../model/advertiserCohortDTO.ts","../../model/advertiserCohortResponse.ts","../../model/appSettingsDTO.ts","../../model/appSettingsPropertyDTO.ts","../../model/auctionTypeEditField.ts","../../model/audienceBackfillQueryTemplateRequest.ts","../../model/audienceBackfillRequest.ts","../../model/audienceDTO.ts","../../model/audienceESDTO.ts","../../model/audiencePerformanceDTO.ts","../../model/baseModelWithCreativeSetType.ts","../../model/clickDestination.ts","../../model/cohortCampaignStrategyDO.ts","../../model/creativeCompactDTO.ts","../../model/creativeDTO.ts","../../model/creativeDetails.ts","../../model/creativeFileForSet.ts","../../model/creativeFiles.ts","../../model/creativeHtmlFileForSet.ts","../../model/creativeSetDashboardMetric.ts","../../model/creativeSetDetails.ts","../../model/creativeSetPerformanceList.ts","../../model/creativeSetRequest.ts","../../model/creativeSetResponse.ts","../../model/dcoAttributesDTO.ts","../../model/deviceTargetModel.ts","../../model/duplicateCampaignStrategyRequestDTO.ts","../../model/duplicateCreativeSetResponse.ts","../../model/dynamicVideoConfigDTO.ts","../../model/experimentsEntity.ts","../../model/filterModel.ts","../../model/geoFenceDTO.ts","../../model/geoListRequest.ts","../../model/incrementalityTestDTO.ts","../../model/incrementalityTestDetails.ts","../../model/jobResponse.ts","../../model/lookAlikeAudienceConfigDTO.ts","../../model/macro.ts","../../model/metaRuleDto.ts","../../model/notificationResponse.ts","../../model/optimizationRuleAuditLogDTO.ts","../../model/optimizationRuleDTO.ts","../../model/pixelDataFileDTO.ts","../../model/platformClickSigningConfig.ts","../../model/remoteFileDTO.ts","../../model/reportProperty.ts","../../model/reportRequest.ts","../../model/reportResponse.ts","../../model/reportingRequest.ts","../../model/reportingResponse.ts","../../model/reportingSchedulerResponse.ts","../../model/ruleDTO.ts","../../model/schedulerRequest.ts","../../model/strategyDTO.ts","../../model/strategyInlineDTO.ts","../../model/strategyQuickEditDTO.ts","../../model/strategyRuleResponse.ts","../../model/strategyTemplateDTO.ts","../../model/strategyTemplateResponse.ts","../../model/templateVariablesDTO.ts","../../model/vastCreative.ts","../../model/videoAttributes.ts","../../model/videoProperties.ts","../../model/whitelabelingEntity.ts","../../api.module.ts","../../revxui-api-clients-ts.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n    'csv': ',',\n    'tsv': '   ',\n    'ssv': ' ',\n    'pipes': '|'\n}\n","export interface ConfigurationParameters {\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n}\n\nexport class Configuration {\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n\n    constructor(configurationParameters: ConfigurationParameters = {}) {\n        this.apiKeys = configurationParameters.apiKeys;\n        this.username = configurationParameters.username;\n        this.password = configurationParameters.password;\n        this.accessToken = configurationParameters.accessToken;\n        this.basePath = configurationParameters.basePath;\n        this.withCredentials = configurationParameters.withCredentials;\n    }\n\n    /**\n     * Select the correct content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param contentTypes - the array of content types that are available for selection\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderContentType (contentTypes: string[]): string | undefined {\n        if (contentTypes.length == 0) {\n            return undefined;\n        }\n\n        let type = contentTypes.find(x => this.isJsonMime(x));\n        if (type === undefined) {\n            return contentTypes[0];\n        }\n        return type;\n    }\n\n    /**\n     * Select the correct accept content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param accepts - the array of content types that are available for selection.\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderAccept(accepts: string[]): string | undefined {\n        if (accepts.length == 0) {\n            return undefined;\n        }\n\n        let type = accepts.find(x => this.isJsonMime(x));\n        if (type === undefined) {\n            return accepts[0];\n        }\n        return type;\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    public isJsonMime(mime: string): boolean {\n        const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n        return mime != null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n    }\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class AdminControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * checkAdmin\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public checkAdminUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public checkAdminUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public checkAdminUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public checkAdminUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/admin`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * checkDemo\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public checkDemoUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public checkDemoUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public checkDemoUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public checkDemoUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/demo`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * checkRWAccess\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public checkRWAccessUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public checkRWAccessUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public checkRWAccessUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public checkRWAccessUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/rw`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * checkRo\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public checkRoUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public checkRoUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public checkRoUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public checkRoUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/ro`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * checkSAdmin\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public checkSAdminUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public checkSAdminUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public checkSAdminUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public checkSAdminUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/sadmin`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","    import { HttpUrlEncodingCodec } from '@angular/common/http';\n\n/**\n* CustomHttpUrlEncodingCodec\n* Fix plus sign (+) not encoding, so sent as blank space\n* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318\n*/\nexport class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {\n    override encodeKey(k: string): string {\n        k = super.encodeKey(k);\n        return k.replace(/\\+/gi, '%2B');\n    }\n    override encodeValue(v: string): string {\n        v = super.encodeValue(v);\n        return v.replace(/\\+/gi, '%2B');\n    }\n}\n\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { AdvertiserAppSettingsDTO } from '../model/advertiserAppSettingsDTO';\nimport { AdvertiserCohortDTO } from '../model/advertiserCohortDTO';\nimport { AdvertiserPojo } from '../model/advertiserPojo';\nimport { ApiResponseObjectAdvertiserCohortResponseList } from '../model/apiResponseObjectAdvertiserCohortResponseList';\nimport { ApiResponseObjectAdvertiserCurrencyData } from '../model/apiResponseObjectAdvertiserCurrencyData';\nimport { ApiResponseObjectAdvertiserPojo } from '../model/apiResponseObjectAdvertiserPojo';\nimport { ApiResponseObjectAdvertiserSettings } from '../model/apiResponseObjectAdvertiserSettings';\nimport { ApiResponseObjectCohortCampaignStrategyResponse } from '../model/apiResponseObjectCohortCampaignStrategyResponse';\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { ApiResponseObjectSkadTargetPrivileges } from '../model/apiResponseObjectSkadTargetPrivileges';\nimport { ApiResponseObjectTag } from '../model/apiResponseObjectTag';\nimport { ApiResponseObjectboolean } from '../model/apiResponseObjectboolean';\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\nimport { SearchRequest } from '../model/searchRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class AdvertiserControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * activate Lists of Advertisers id\n     * \n     * @param commaSepratedIds commaSepratedIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public activateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public activateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public activateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (commaSepratedIds === null || commaSepratedIds === undefined) {\n            throw new Error('Required parameter commaSepratedIds was null or undefined when calling activateAdvertiserUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (commaSepratedIds !== undefined && commaSepratedIds !== null) {\n            queryParameters = queryParameters.set('commaSepratedIds', <any>commaSepratedIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/advertisers/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to create Advertiser\n     * \n     * @param advertiser advertiser\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createAdvertiserUsingPOST(advertiser: AdvertiserPojo, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserPojo>;\n    public createAdvertiserUsingPOST(advertiser: AdvertiserPojo, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserPojo>>;\n    public createAdvertiserUsingPOST(advertiser: AdvertiserPojo, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserPojo>>;\n    public createAdvertiserUsingPOST(advertiser: AdvertiserPojo, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser === null || advertiser === undefined) {\n            throw new Error('Required parameter advertiser was null or undefined when calling createAdvertiserUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectAdvertiserPojo>(`${this.basePath}/v2/api/advertisers`,\n            advertiser,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * deactivate Lists of Advertisers id\n     * \n     * @param commaSepratedIds commaSepratedIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public deactivateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (commaSepratedIds === null || commaSepratedIds === undefined) {\n            throw new Error('Required parameter commaSepratedIds was null or undefined when calling deactivateAdvertiserUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (commaSepratedIds !== undefined && commaSepratedIds !== null) {\n            queryParameters = queryParameters.set('commaSepratedIds', <any>commaSepratedIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/advertisers/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get the data for individual graph under advertiser analytics page\n     * \n     * @param id id\n     * @param type type\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAdvertiserAnalyticsUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public getAdvertiserAnalyticsUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public getAdvertiserAnalyticsUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public getAdvertiserAnalyticsUsingGET(id: number, type: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getAdvertiserAnalyticsUsingGET.');\n        }\n\n        if (type === null || type === undefined) {\n            throw new Error('Required parameter type was null or undefined when calling getAdvertiserAnalyticsUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (type !== undefined && type !== null) {\n            queryParameters = queryParameters.set('type', <any>type);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/advertisers/${encodeURIComponent(String(id))}/analytics`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get cohort data for advertiser\n     * \n     * @param dto dto\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAdvertiserCohortDetailsUsingPOST(dto: AdvertiserCohortDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserCohortResponseList>;\n    public getAdvertiserCohortDetailsUsingPOST(dto: AdvertiserCohortDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserCohortResponseList>>;\n    public getAdvertiserCohortDetailsUsingPOST(dto: AdvertiserCohortDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserCohortResponseList>>;\n    public getAdvertiserCohortDetailsUsingPOST(dto: AdvertiserCohortDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling getAdvertiserCohortDetailsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectAdvertiserCohortResponseList>(`${this.basePath}/v2/api/advertisers/cohort/details`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get Advertiser Settings by Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAdvertiserSettingsUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserSettings>;\n    public getAdvertiserSettingsUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserSettings>>;\n    public getAdvertiserSettingsUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserSettings>>;\n    public getAdvertiserSettingsUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getAdvertiserSettingsUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectAdvertiserSettings>(`${this.basePath}/v2/api/advertisers/settings/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get Advertiser by Id\n     * \n     * @param id id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserPojo>;\n    public getByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserPojo>>;\n    public getByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserPojo>>;\n    public getByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getByIdUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectAdvertiserPojo>(`${this.basePath}/v2/api/advertisers/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to return Campaign or Strategy List for Cohort\n     * \n     * @param id id\n     * @param type type\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCampaignOrStrategyListForCohortUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCohortCampaignStrategyResponse>;\n    public getCampaignOrStrategyListForCohortUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCohortCampaignStrategyResponse>>;\n    public getCampaignOrStrategyListForCohortUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCohortCampaignStrategyResponse>>;\n    public getCampaignOrStrategyListForCohortUsingGET(id: number, type: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getCampaignOrStrategyListForCohortUsingGET.');\n        }\n\n        if (type === null || type === undefined) {\n            throw new Error('Required parameter type was null or undefined when calling getCampaignOrStrategyListForCohortUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (type !== undefined && type !== null) {\n            queryParameters = queryParameters.set('type', <any>type);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectCohortCampaignStrategyResponse>(`${this.basePath}/v2/api/advertisers/${encodeURIComponent(String(id))}/cohort/dimension/details`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to check if advertiser has any cohort\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getIfAdvertiserCohortUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserCurrencyData>;\n    public getIfAdvertiserCohortUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserCurrencyData>>;\n    public getIfAdvertiserCohortUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserCurrencyData>>;\n    public getIfAdvertiserCohortUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getIfAdvertiserCohortUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectAdvertiserCurrencyData>(`${this.basePath}/v2/api/advertisers/${encodeURIComponent(String(id))}/cohort/check`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch privileges for creating SKAD Target\n     * \n     * @param searchRequest searchRequest\n     * @param advertiserId advertiserId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSkadTargetPrivilegesUsingPOST(searchRequest: SearchRequest, advertiserId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectSkadTargetPrivileges>;\n    public getSkadTargetPrivilegesUsingPOST(searchRequest: SearchRequest, advertiserId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectSkadTargetPrivileges>>;\n    public getSkadTargetPrivilegesUsingPOST(searchRequest: SearchRequest, advertiserId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectSkadTargetPrivileges>>;\n    public getSkadTargetPrivilegesUsingPOST(searchRequest: SearchRequest, advertiserId?: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (searchRequest === null || searchRequest === undefined) {\n            throw new Error('Required parameter searchRequest was null or undefined when calling getSkadTargetPrivilegesUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectSkadTargetPrivileges>(`${this.basePath}/v2/api/advertisers/skadtargetprivilege`,\n            searchRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get smart tag by advertiser Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSmartTagUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectTag>;\n    public getSmartTagUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectTag>>;\n    public getSmartTagUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectTag>>;\n    public getSmartTagUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getSmartTagUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectTag>(`${this.basePath}/v2/api/advertisers/smarttag/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * generate AST for all advertisers\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateASTUsingPOST(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectboolean>;\n    public updateASTUsingPOST(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectboolean>>;\n    public updateASTUsingPOST(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectboolean>>;\n    public updateASTUsingPOST(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectboolean>(`${this.basePath}/v2/api/advertisers/ast-tag`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * generate AST for given Advertiser id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateASTUsingPOST1(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectboolean>;\n    public updateASTUsingPOST1(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectboolean>>;\n    public updateASTUsingPOST1(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectboolean>>;\n    public updateASTUsingPOST1(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateASTUsingPOST1.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectboolean>(`${this.basePath}/v2/api/advertisers/${encodeURIComponent(String(id))}/ast-tag`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Update advertiser setting by key\n     * \n     * @param id id\n     * @param settingDto settingDto\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateAdvertiserSettingByKeyUsingPOST(id: number, settingDto: AdvertiserAppSettingsDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserSettings>;\n    public updateAdvertiserSettingByKeyUsingPOST(id: number, settingDto: AdvertiserAppSettingsDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserSettings>>;\n    public updateAdvertiserSettingByKeyUsingPOST(id: number, settingDto: AdvertiserAppSettingsDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserSettings>>;\n    public updateAdvertiserSettingByKeyUsingPOST(id: number, settingDto: AdvertiserAppSettingsDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateAdvertiserSettingByKeyUsingPOST.');\n        }\n\n        if (settingDto === null || settingDto === undefined) {\n            throw new Error('Required parameter settingDto was null or undefined when calling updateAdvertiserSettingByKeyUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectAdvertiserSettings>(`${this.basePath}/v2/api/advertisers/settings/${encodeURIComponent(String(id))}`,\n            settingDto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * update  Advertiser\n     * \n     * @param advertiser advertiser\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateAdvertiserUsingPOST(advertiser: AdvertiserPojo, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserPojo>;\n    public updateAdvertiserUsingPOST(advertiser: AdvertiserPojo, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserPojo>>;\n    public updateAdvertiserUsingPOST(advertiser: AdvertiserPojo, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserPojo>>;\n    public updateAdvertiserUsingPOST(advertiser: AdvertiserPojo, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser === null || advertiser === undefined) {\n            throw new Error('Required parameter advertiser was null or undefined when calling updateAdvertiserUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateAdvertiserUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectAdvertiserPojo>(`${this.basePath}/v2/api/advertisers/${encodeURIComponent(String(id))}`,\n            advertiser,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectAdvertiserDynamicVideoConfig } from '../model/apiResponseObjectAdvertiserDynamicVideoConfig';\nimport { ApiResponseObjectListAppSettingsDTO } from '../model/apiResponseObjectListAppSettingsDTO';\nimport { ApiResponseObjectListDynamicVideoTemplate } from '../model/apiResponseObjectListDynamicVideoTemplate';\nimport { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';\nimport { AppSettingsDTO } from '../model/appSettingsDTO';\nimport { DynamicVideoDTO } from '../model/dynamicVideoDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class AppSettingsControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     *  Api to create App Settings\n     * \n     * @param appSettings appSettings\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAppSettingsDTO>;\n    public createAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAppSettingsDTO>>;\n    public createAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAppSettingsDTO>>;\n    public createAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (appSettings === null || appSettings === undefined) {\n            throw new Error('Required parameter appSettings was null or undefined when calling createAppSettingsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectListAppSettingsDTO>(`${this.basePath}/v2/api/appsettings`,\n            appSettings,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to fetch sample dynamic video templates\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fetchAllDynamicVideoTemplatesUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListDynamicVideoTemplate>;\n    public fetchAllDynamicVideoTemplatesUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListDynamicVideoTemplate>>;\n    public fetchAllDynamicVideoTemplatesUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListDynamicVideoTemplate>>;\n    public fetchAllDynamicVideoTemplatesUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListDynamicVideoTemplate>(`${this.basePath}/v2/api/appsettings/dynamicvideo/templates`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to fetch dynamic video config for given advertiserid\n     * \n     * @param advertiserId advertiserId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fetchDynamicVideoConfigUsingGET(advertiserId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserDynamicVideoConfig>;\n    public fetchDynamicVideoConfigUsingGET(advertiserId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserDynamicVideoConfig>>;\n    public fetchDynamicVideoConfigUsingGET(advertiserId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserDynamicVideoConfig>>;\n    public fetchDynamicVideoConfigUsingGET(advertiserId?: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectAdvertiserDynamicVideoConfig>(`${this.basePath}/v2/api/appsettings/dynamicvideo/config`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get App Settings\n     * \n     * @param advertiserId advertiserId\n     * @param reqId request id\n     * @param settingsKeys settingsKeys\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAppSettingsUsingGET(advertiserId?: number, reqId?: string, settingsKeys?: Array<'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING'>, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAppSettingsDTO>;\n    public getAppSettingsUsingGET(advertiserId?: number, reqId?: string, settingsKeys?: Array<'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING'>, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAppSettingsDTO>>;\n    public getAppSettingsUsingGET(advertiserId?: number, reqId?: string, settingsKeys?: Array<'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING'>, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAppSettingsDTO>>;\n    public getAppSettingsUsingGET(advertiserId?: number, reqId?: string, settingsKeys?: Array<'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING'>, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n        if (settingsKeys) {\n            settingsKeys.forEach((element) => {\n                queryParameters = queryParameters.append('settingsKeys', <any>element);\n            })\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListAppSettingsDTO>(`${this.basePath}/v2/api/appsettings`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to update App Settings\n     * \n     * @param appSettings appSettings\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAppSettingsDTO>;\n    public updateAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAppSettingsDTO>>;\n    public updateAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAppSettingsDTO>>;\n    public updateAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (appSettings === null || appSettings === undefined) {\n            throw new Error('Required parameter appSettings was null or undefined when calling updateAppSettingsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectListAppSettingsDTO>(`${this.basePath}/v2/api/appsettings/update`,\n            appSettings,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to upsert dynamic video\n     * \n     * @param dynamicVideoDTO dynamicVideoDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public upsertDynamicVideoUsingPOST(dynamicVideoDTO: DynamicVideoDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public upsertDynamicVideoUsingPOST(dynamicVideoDTO: DynamicVideoDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public upsertDynamicVideoUsingPOST(dynamicVideoDTO: DynamicVideoDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public upsertDynamicVideoUsingPOST(dynamicVideoDTO: DynamicVideoDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dynamicVideoDTO === null || dynamicVideoDTO === undefined) {\n            throw new Error('Required parameter dynamicVideoDTO was null or undefined when calling upsertDynamicVideoUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/appsettings/dynamicvideo/upsert`,\n            dynamicVideoDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectApiListResponseAudiencePerformanceDTO } from '../model/apiResponseObjectApiListResponseAudiencePerformanceDTO';\nimport { ApiResponseObjectArrayListCombinedAudienceAnalysisResponse } from '../model/apiResponseObjectArrayListCombinedAudienceAnalysisResponse';\nimport { ApiResponseObjectAudienceAccessDTO } from '../model/apiResponseObjectAudienceAccessDTO';\nimport { ApiResponseObjectAudienceDTO } from '../model/apiResponseObjectAudienceDTO';\nimport { ApiResponseObjectBaseModel } from '../model/apiResponseObjectBaseModel';\nimport { ApiResponseObjectChartDashboardResponse } from '../model/apiResponseObjectChartDashboardResponse';\nimport { ApiResponseObjectDmpAudienceDTO } from '../model/apiResponseObjectDmpAudienceDTO';\nimport { ApiResponseObjectEligibleUsersResponse } from '../model/apiResponseObjectEligibleUsersResponse';\nimport { ApiResponseObjectListAudienceDTO } from '../model/apiResponseObjectListAudienceDTO';\nimport { ApiResponseObjectListBackfillAudienceQueryTemplateDTO } from '../model/apiResponseObjectListBackfillAudienceQueryTemplateDTO';\nimport { ApiResponseObjectMapintResponseMessage } from '../model/apiResponseObjectMapintResponseMessage';\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { ApiResponseObjectMetaRulesDto } from '../model/apiResponseObjectMetaRulesDto';\nimport { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';\nimport { ApiResponseObjectTargetingObject } from '../model/apiResponseObjectTargetingObject';\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\nimport { AudienceAnalysisRequest } from '../model/audienceAnalysisRequest';\nimport { AudienceBackfillQueryTemplateRequest } from '../model/audienceBackfillQueryTemplateRequest';\nimport { AudienceBackfillRequest } from '../model/audienceBackfillRequest';\nimport { AudienceDTO } from '../model/audienceDTO';\nimport { DashboardRequest } from '../model/dashboardRequest';\nimport { EligibleUsersRequest } from '../model/eligibleUsersRequest';\nimport { PixelRemoteConfigDTO } from '../model/pixelRemoteConfigDTO';\nimport { PlatformAudienceDTO } from '../model/platformAudienceDTO';\nimport { SearchRequest } from '../model/searchRequest';\nimport { TotalUniqueUserRequest } from '../model/totalUniqueUserRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class AudienceControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Api to deactivate Lists of Audience id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMapintResponseMessage>;\n    public activateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMapintResponseMessage>>;\n    public activateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMapintResponseMessage>>;\n    public activateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling activateAudienceUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMapintResponseMessage>(`${this.basePath}/v2/api/audience/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to activate a backfill rule\n     * \n     * @param id id\n     * @param queryID queryID\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateBackfillRuleUsingGET(id: number, queryID: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public activateBackfillRuleUsingGET(id: number, queryID: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public activateBackfillRuleUsingGET(id: number, queryID: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public activateBackfillRuleUsingGET(id: number, queryID: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling activateBackfillRuleUsingGET.');\n        }\n\n        if (queryID === null || queryID === undefined) {\n            throw new Error('Required parameter queryID was null or undefined when calling activateBackfillRuleUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/audience/${encodeURIComponent(String(id))}/${encodeURIComponent(String(queryID))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to add a backfile rule to the audience\n     * \n     * @param request request\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public addBackfillRuleUsingPOST(request: AudienceBackfillRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public addBackfillRuleUsingPOST(request: AudienceBackfillRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public addBackfillRuleUsingPOST(request: AudienceBackfillRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public addBackfillRuleUsingPOST(request: AudienceBackfillRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (request === null || request === undefined) {\n            throw new Error('Required parameter request was null or undefined when calling addBackfillRuleUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/audience/addbackfillrule`,\n            request,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create to checkConnection.\n     * \n     * @param config config\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public checkConnectionUsingPOST(config: PixelRemoteConfigDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBaseModel>;\n    public checkConnectionUsingPOST(config: PixelRemoteConfigDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBaseModel>>;\n    public checkConnectionUsingPOST(config: PixelRemoteConfigDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBaseModel>>;\n    public checkConnectionUsingPOST(config: PixelRemoteConfigDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (config === null || config === undefined) {\n            throw new Error('Required parameter config was null or undefined when calling checkConnectionUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectBaseModel>(`${this.basePath}/v2/api/audience/check_connection`,\n            config,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Create Api For Audience.\n     * \n     * @param audience audience\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createAudienceUsingPOST(audience: AudienceDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAudienceDTO>;\n    public createAudienceUsingPOST(audience: AudienceDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAudienceDTO>>;\n    public createAudienceUsingPOST(audience: AudienceDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAudienceDTO>>;\n    public createAudienceUsingPOST(audience: AudienceDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (audience === null || audience === undefined) {\n            throw new Error('Required parameter audience was null or undefined when calling createAudienceUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectAudienceDTO>(`${this.basePath}/v2/api/audience`,\n            audience,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to deactivate Lists of Audience id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMapintResponseMessage>;\n    public deactivateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMapintResponseMessage>>;\n    public deactivateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMapintResponseMessage>>;\n    public deactivateAudienceUsingPOST(id: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling deactivateAudienceUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMapintResponseMessage>(`${this.basePath}/v2/api/audience/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Audience Access\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAccessUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAudienceAccessDTO>;\n    public getAccessUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAudienceAccessDTO>>;\n    public getAccessUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAudienceAccessDTO>>;\n    public getAccessUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getAccessUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectAudienceAccessDTO>(`${this.basePath}/v2/api/audience/access/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to fetch all active templates\n     * \n     * @param id id\n     * @param request request\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getActiveTemplatesUsingPOST(id: number, request: AudienceBackfillQueryTemplateRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListBackfillAudienceQueryTemplateDTO>;\n    public getActiveTemplatesUsingPOST(id: number, request: AudienceBackfillQueryTemplateRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListBackfillAudienceQueryTemplateDTO>>;\n    public getActiveTemplatesUsingPOST(id: number, request: AudienceBackfillQueryTemplateRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListBackfillAudienceQueryTemplateDTO>>;\n    public getActiveTemplatesUsingPOST(id: number, request: AudienceBackfillQueryTemplateRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getActiveTemplatesUsingPOST.');\n        }\n\n        if (request === null || request === undefined) {\n            throw new Error('Required parameter request was null or undefined when calling getActiveTemplatesUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectListBackfillAudienceQueryTemplateDTO>(`${this.basePath}/v2/api/audience/activetemplates/${encodeURIComponent(String(id))}`,\n            request,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get All Audience\n     * \n     * @param advertiser_id advertiser_id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllAudienceUsingPOST(advertiser_id?: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseAudiencePerformanceDTO>;\n    public getAllAudienceUsingPOST(advertiser_id?: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseAudiencePerformanceDTO>>;\n    public getAllAudienceUsingPOST(advertiser_id?: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseAudiencePerformanceDTO>>;\n    public getAllAudienceUsingPOST(advertiser_id?: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseAudiencePerformanceDTO>(`${this.basePath}/v2/api/audience/all`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Affle DMP Audience List\n     * \n     * @param advertiser_id advertiser_id\n     * @param limit limit\n     * @param reqId request id\n     * @param start start\n     * @param stype stype\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllDmpAudienceUsingGET(advertiser_id: number, limit?: number, reqId?: string, start?: number, stype?: number, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectDmpAudienceDTO>;\n    public getAllDmpAudienceUsingGET(advertiser_id: number, limit?: number, reqId?: string, start?: number, stype?: number, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectDmpAudienceDTO>>;\n    public getAllDmpAudienceUsingGET(advertiser_id: number, limit?: number, reqId?: string, start?: number, stype?: number, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectDmpAudienceDTO>>;\n    public getAllDmpAudienceUsingGET(advertiser_id: number, limit?: number, reqId?: string, start?: number, stype?: number, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser_id === null || advertiser_id === undefined) {\n            throw new Error('Required parameter advertiser_id was null or undefined when calling getAllDmpAudienceUsingGET.');\n        }\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n        if (limit !== undefined && limit !== null) {\n            queryParameters = queryParameters.set('limit', <any>limit);\n        }\n        if (start !== undefined && start !== null) {\n            queryParameters = queryParameters.set('start', <any>start);\n        }\n        if (stype !== undefined && stype !== null) {\n            queryParameters = queryParameters.set('stype', <any>stype);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectDmpAudienceDTO>(`${this.basePath}/v2/api/audience/dmp`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * APi to get audience analysis count\n     * \n     * @param totalUniqueUserRequest totalUniqueUserRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAnalysisAudienceCountUsingPOST(totalUniqueUserRequest: TotalUniqueUserRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectEligibleUsersResponse>;\n    public getAnalysisAudienceCountUsingPOST(totalUniqueUserRequest: TotalUniqueUserRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectEligibleUsersResponse>>;\n    public getAnalysisAudienceCountUsingPOST(totalUniqueUserRequest: TotalUniqueUserRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectEligibleUsersResponse>>;\n    public getAnalysisAudienceCountUsingPOST(totalUniqueUserRequest: TotalUniqueUserRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (totalUniqueUserRequest === null || totalUniqueUserRequest === undefined) {\n            throw new Error('Required parameter totalUniqueUserRequest was null or undefined when calling getAnalysisAudienceCountUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectEligibleUsersResponse>(`${this.basePath}/v2/api/audience/audienceanalysis`,\n            totalUniqueUserRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * getAudienceStrategyMapping\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAudienceStrategyMappingUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectTargetingObject>;\n    public getAudienceStrategyMappingUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectTargetingObject>>;\n    public getAudienceStrategyMappingUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectTargetingObject>>;\n    public getAudienceStrategyMappingUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getAudienceStrategyMappingUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectTargetingObject>(`${this.basePath}/v2/api/audience/${encodeURIComponent(String(id))}/strategies`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Audience\n     * \n     * @param id id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getByIdUsingGET1(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAudienceDTO>;\n    public getByIdUsingGET1(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAudienceDTO>>;\n    public getByIdUsingGET1(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAudienceDTO>>;\n    public getByIdUsingGET1(id: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getByIdUsingGET1.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectAudienceDTO>(`${this.basePath}/v2/api/audience/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get chart data for audience\n     * \n     * @param audienceType audienceType\n     * @param dashboardRequest dashboardRequest\n     * @param id id\n     * @param metric metric\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getChartDataUsingPOST(audienceType: 'WEB_BROWSING' | 'MOBILE_APP' | 'DMP' | 'CRM' | 'RULE_BASED' | 'RULE_BASED_BACKFILL' | 'CRM_EMAIL' | 'CRM_PHONE' | 'LOOKALIKE_AUDIENCE' | 'FACEBOOK_ID' | 'BACKFILL', dashboardRequest: DashboardRequest, id: number, metric: string, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectChartDashboardResponse>;\n    public getChartDataUsingPOST(audienceType: 'WEB_BROWSING' | 'MOBILE_APP' | 'DMP' | 'CRM' | 'RULE_BASED' | 'RULE_BASED_BACKFILL' | 'CRM_EMAIL' | 'CRM_PHONE' | 'LOOKALIKE_AUDIENCE' | 'FACEBOOK_ID' | 'BACKFILL', dashboardRequest: DashboardRequest, id: number, metric: string, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectChartDashboardResponse>>;\n    public getChartDataUsingPOST(audienceType: 'WEB_BROWSING' | 'MOBILE_APP' | 'DMP' | 'CRM' | 'RULE_BASED' | 'RULE_BASED_BACKFILL' | 'CRM_EMAIL' | 'CRM_PHONE' | 'LOOKALIKE_AUDIENCE' | 'FACEBOOK_ID' | 'BACKFILL', dashboardRequest: DashboardRequest, id: number, metric: string, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectChartDashboardResponse>>;\n    public getChartDataUsingPOST(audienceType: 'WEB_BROWSING' | 'MOBILE_APP' | 'DMP' | 'CRM' | 'RULE_BASED' | 'RULE_BASED_BACKFILL' | 'CRM_EMAIL' | 'CRM_PHONE' | 'LOOKALIKE_AUDIENCE' | 'FACEBOOK_ID' | 'BACKFILL', dashboardRequest: DashboardRequest, id: number, metric: string, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (audienceType === null || audienceType === undefined) {\n            throw new Error('Required parameter audienceType was null or undefined when calling getChartDataUsingPOST.');\n        }\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getChartDataUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getChartDataUsingPOST.');\n        }\n\n        if (metric === null || metric === undefined) {\n            throw new Error('Required parameter metric was null or undefined when calling getChartDataUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (audienceType !== undefined && audienceType !== null) {\n            queryParameters = queryParameters.set('audienceType', <any>audienceType);\n        }\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n        if (metric !== undefined && metric !== null) {\n            queryParameters = queryParameters.set('metric', <any>metric);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectChartDashboardResponse>(`${this.basePath}/v2/api/audience/chart`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * APi to get audience analysis count for all combination\n     * \n     * @param audienceAnalysisRequest audienceAnalysisRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCombinedAnalysisAudienceCountUsingPOST(audienceAnalysisRequest: AudienceAnalysisRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectArrayListCombinedAudienceAnalysisResponse>;\n    public getCombinedAnalysisAudienceCountUsingPOST(audienceAnalysisRequest: AudienceAnalysisRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectArrayListCombinedAudienceAnalysisResponse>>;\n    public getCombinedAnalysisAudienceCountUsingPOST(audienceAnalysisRequest: AudienceAnalysisRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectArrayListCombinedAudienceAnalysisResponse>>;\n    public getCombinedAnalysisAudienceCountUsingPOST(audienceAnalysisRequest: AudienceAnalysisRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (audienceAnalysisRequest === null || audienceAnalysisRequest === undefined) {\n            throw new Error('Required parameter audienceAnalysisRequest was null or undefined when calling getCombinedAnalysisAudienceCountUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectArrayListCombinedAudienceAnalysisResponse>(`${this.basePath}/v2/api/audience/audienceanalysis/combination`,\n            audienceAnalysisRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get EligibleUsers\n     * \n     * @param eligibleUsersRequest eligibleUsersRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getEligibleUsersCountUsingPOST(eligibleUsersRequest: EligibleUsersRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectEligibleUsersResponse>;\n    public getEligibleUsersCountUsingPOST(eligibleUsersRequest: EligibleUsersRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectEligibleUsersResponse>>;\n    public getEligibleUsersCountUsingPOST(eligibleUsersRequest: EligibleUsersRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectEligibleUsersResponse>>;\n    public getEligibleUsersCountUsingPOST(eligibleUsersRequest: EligibleUsersRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (eligibleUsersRequest === null || eligibleUsersRequest === undefined) {\n            throw new Error('Required parameter eligibleUsersRequest was null or undefined when calling getEligibleUsersCountUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectEligibleUsersResponse>(`${this.basePath}/v2/api/audience/eligibleusers`,\n            eligibleUsersRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Audience Meta Rule\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getMetaRulesUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMetaRulesDto>;\n    public getMetaRulesUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMetaRulesDto>>;\n    public getMetaRulesUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMetaRulesDto>>;\n    public getMetaRulesUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectMetaRulesDto>(`${this.basePath}/v2/api/audience/rules`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Affle DMP Synced Audience List\n     * \n     * @param advertiser_id advertiser_id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSyncedDmpAudienceUsingGET(advertiser_id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAudienceDTO>;\n    public getSyncedDmpAudienceUsingGET(advertiser_id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAudienceDTO>>;\n    public getSyncedDmpAudienceUsingGET(advertiser_id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAudienceDTO>>;\n    public getSyncedDmpAudienceUsingGET(advertiser_id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser_id === null || advertiser_id === undefined) {\n            throw new Error('Required parameter advertiser_id was null or undefined when calling getSyncedDmpAudienceUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListAudienceDTO>(`${this.basePath}/v2/api/audience/dmp/synced`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to run refresh cycle for lookalike audience, given Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public refreshLookalikeAudienceUsingPOST(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAudienceDTO>;\n    public refreshLookalikeAudienceUsingPOST(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAudienceDTO>>;\n    public refreshLookalikeAudienceUsingPOST(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAudienceDTO>>;\n    public refreshLookalikeAudienceUsingPOST(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling refreshLookalikeAudienceUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectAudienceDTO>(`${this.basePath}/v2/api/audience/lookalike/refresh/${encodeURIComponent(String(id))}`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to re-try scheduler for the failed advertisers\n     * \n     * @param advIds advIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public retrySchedulerForAdvertisersUsingGET(advIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public retrySchedulerForAdvertisersUsingGET(advIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public retrySchedulerForAdvertisersUsingGET(advIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public retrySchedulerForAdvertisersUsingGET(advIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advIds === null || advIds === undefined) {\n            throw new Error('Required parameter advIds was null or undefined when calling retrySchedulerForAdvertisersUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advIds !== undefined && advIds !== null) {\n            queryParameters = queryParameters.set('advIds', <any>advIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/audience/schedulerRetry`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to sync DMP Aduience\n     * \n     * @param platformAudienceDTO platformAudienceDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public syncAudienceUsingPOST(platformAudienceDTO: PlatformAudienceDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<any>;\n    public syncAudienceUsingPOST(platformAudienceDTO: PlatformAudienceDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<any>>;\n    public syncAudienceUsingPOST(platformAudienceDTO: PlatformAudienceDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<any>>;\n    public syncAudienceUsingPOST(platformAudienceDTO: PlatformAudienceDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (platformAudienceDTO === null || platformAudienceDTO === undefined) {\n            throw new Error('Required parameter platformAudienceDTO was null or undefined when calling syncAudienceUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<any>(`${this.basePath}/v2/api/audience/sync`,\n            platformAudienceDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to syncRemoteAudience by Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public syncRemoteAudienceUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBaseModel>;\n    public syncRemoteAudienceUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBaseModel>>;\n    public syncRemoteAudienceUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBaseModel>>;\n    public syncRemoteAudienceUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling syncRemoteAudienceUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectBaseModel>(`${this.basePath}/v2/api/audience/${encodeURIComponent(String(id))}/sync_remote`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Api For Audience.\n     * \n     * @param audience audience\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateAudienceUsingPOST(audience: AudienceDTO, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAudienceDTO>;\n    public updateAudienceUsingPOST(audience: AudienceDTO, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAudienceDTO>>;\n    public updateAudienceUsingPOST(audience: AudienceDTO, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAudienceDTO>>;\n    public updateAudienceUsingPOST(audience: AudienceDTO, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (audience === null || audience === undefined) {\n            throw new Error('Required parameter audience was null or undefined when calling updateAudienceUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateAudienceUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectAudienceDTO>(`${this.basePath}/v2/api/audience/${encodeURIComponent(String(id))}`,\n            audience,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to validate a backfill rule\n     * \n     * @param query query\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public validateBackfillRuleUsingPOST(query: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public validateBackfillRuleUsingPOST(query: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public validateBackfillRuleUsingPOST(query: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public validateBackfillRuleUsingPOST(query: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (query === null || query === undefined) {\n            throw new Error('Required parameter query was null or undefined when calling validateBackfillRuleUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/audience/validatebackfillrule`,\n            query,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiListResponseActivityLog } from '../model/apiListResponseActivityLog';\nimport { ApiResponseObjectListAuditDetails } from '../model/apiResponseObjectListAuditDetails';\nimport { ApiResponseObjectListAuditMarker } from '../model/apiResponseObjectListAuditMarker';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class AuditControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * get Audit Detail for campaign and strategy\n     * \n     * @param endTime endTime\n     * @param entity entity\n     * @param id id\n     * @param startTime startTime\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAuditDetailsUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAuditDetails>;\n    public getAuditDetailsUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAuditDetails>>;\n    public getAuditDetailsUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAuditDetails>>;\n    public getAuditDetailsUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (endTime === null || endTime === undefined) {\n            throw new Error('Required parameter endTime was null or undefined when calling getAuditDetailsUsingGET.');\n        }\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getAuditDetailsUsingGET.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getAuditDetailsUsingGET.');\n        }\n\n        if (startTime === null || startTime === undefined) {\n            throw new Error('Required parameter startTime was null or undefined when calling getAuditDetailsUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (endTime !== undefined && endTime !== null) {\n            queryParameters = queryParameters.set('endTime', <any>endTime);\n        }\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n        if (startTime !== undefined && startTime !== null) {\n            queryParameters = queryParameters.set('startTime', <any>startTime);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListAuditDetails>(`${this.basePath}/v2/api/activity/detail/${encodeURIComponent(String(entity))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get Audit Log for campaign and strategy\n     * \n     * @param endTime endTime\n     * @param entity entity\n     * @param id id\n     * @param startTime startTime\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAuditLogUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAuditMarker>;\n    public getAuditLogUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAuditMarker>>;\n    public getAuditLogUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAuditMarker>>;\n    public getAuditLogUsingGET(endTime: number, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', id: number, startTime: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (endTime === null || endTime === undefined) {\n            throw new Error('Required parameter endTime was null or undefined when calling getAuditLogUsingGET.');\n        }\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getAuditLogUsingGET.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getAuditLogUsingGET.');\n        }\n\n        if (startTime === null || startTime === undefined) {\n            throw new Error('Required parameter startTime was null or undefined when calling getAuditLogUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (endTime !== undefined && endTime !== null) {\n            queryParameters = queryParameters.set('endTime', <any>endTime);\n        }\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n        if (startTime !== undefined && startTime !== null) {\n            queryParameters = queryParameters.set('startTime', <any>startTime);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListAuditMarker>(`${this.basePath}/v2/api/activity/log/${encodeURIComponent(String(entity))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get user activity log\n     * \n     * @param entities entities\n     * @param pageNumber pageNumber\n     * @param pageSize pageSize\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getUserActivityLogUsingGET(entities?: string, pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseActivityLog>;\n    public getUserActivityLogUsingGET(entities?: string, pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseActivityLog>>;\n    public getUserActivityLogUsingGET(entities?: string, pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseActivityLog>>;\n    public getUserActivityLogUsingGET(entities?: string, pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (entities !== undefined && entities !== null) {\n            queryParameters = queryParameters.set('entities', <any>entities);\n        }\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseActivityLog>(`${this.basePath}/v2/api/useractivitylog`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectBidToConversionDTO } from '../model/apiResponseObjectBidToConversionDTO';\nimport { ApiResponseObjectBidToConversionFilterMap } from '../model/apiResponseObjectBidToConversionFilterMap';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class BidFunnelControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * API to get bid to conversion funnel details\n     * \n     * @param end end\n     * @param entity entity\n     * @param id id\n     * @param start start\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getBidToConversionDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBidToConversionDTO>;\n    public getBidToConversionDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBidToConversionDTO>>;\n    public getBidToConversionDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBidToConversionDTO>>;\n    public getBidToConversionDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (end === null || end === undefined) {\n            throw new Error('Required parameter end was null or undefined when calling getBidToConversionDetailsUsingGET.');\n        }\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getBidToConversionDetailsUsingGET.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getBidToConversionDetailsUsingGET.');\n        }\n\n        if (start === null || start === undefined) {\n            throw new Error('Required parameter start was null or undefined when calling getBidToConversionDetailsUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (end !== undefined && end !== null) {\n            queryParameters = queryParameters.set('end', <any>end);\n        }\n        if (entity !== undefined && entity !== null) {\n            queryParameters = queryParameters.set('entity', <any>entity);\n        }\n        if (start !== undefined && start !== null) {\n            queryParameters = queryParameters.set('start', <any>start);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectBidToConversionDTO>(`${this.basePath}/v2/api/bidfunnel/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get bid to conversion filter details\n     * \n     * @param end end\n     * @param entity entity\n     * @param id id\n     * @param start start\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getBidToConversionFilterDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBidToConversionFilterMap>;\n    public getBidToConversionFilterDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBidToConversionFilterMap>>;\n    public getBidToConversionFilterDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBidToConversionFilterMap>>;\n    public getBidToConversionFilterDetailsUsingGET(end: string, entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', id: number, start: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (end === null || end === undefined) {\n            throw new Error('Required parameter end was null or undefined when calling getBidToConversionFilterDetailsUsingGET.');\n        }\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getBidToConversionFilterDetailsUsingGET.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getBidToConversionFilterDetailsUsingGET.');\n        }\n\n        if (start === null || start === undefined) {\n            throw new Error('Required parameter start was null or undefined when calling getBidToConversionFilterDetailsUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (end !== undefined && end !== null) {\n            queryParameters = queryParameters.set('end', <any>end);\n        }\n        if (entity !== undefined && entity !== null) {\n            queryParameters = queryParameters.set('entity', <any>entity);\n        }\n        if (start !== undefined && start !== null) {\n            queryParameters = queryParameters.set('start', <any>start);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectBidToConversionFilterMap>(`${this.basePath}/v2/api/bidfunnel/${encodeURIComponent(String(id))}/filters`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectApiListResponseActivityLogsStrategyBulkUpdateDTO } from '../model/apiResponseObjectApiListResponseActivityLogsStrategyBulkUpdateDTO';\nimport { ApiResponseObjectBulkEditStrategiesResponse } from '../model/apiResponseObjectBulkEditStrategiesResponse';\nimport { ApiResponseObjectBulkstrategiesUpdateResponse } from '../model/apiResponseObjectBulkstrategiesUpdateResponse';\nimport { ApiResponseObjectFileDownloadResponse } from '../model/apiResponseObjectFileDownloadResponse';\nimport { ApiResponseObjectListBulkstrategiesValidationResponse } from '../model/apiResponseObjectListBulkstrategiesValidationResponse';\nimport { BulkEditStrategiesDTO } from '../model/bulkEditStrategiesDTO';\nimport { BulkstrategiesRequest } from '../model/bulkstrategiesRequest';\nimport { BulkstrategiesValidationRequest } from '../model/bulkstrategiesValidationRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class BulkStrategyControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Api to get Strategy Bulk Edit Activity Log.\n     * \n     * @param pageNumber pageNumber\n     * @param pageSize pageSize\n     * @param reqId request id\n     * @param sort sort\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public bulkEditActivityLogUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseActivityLogsStrategyBulkUpdateDTO>;\n    public bulkEditActivityLogUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseActivityLogsStrategyBulkUpdateDTO>>;\n    public bulkEditActivityLogUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseActivityLogsStrategyBulkUpdateDTO>>;\n    public bulkEditActivityLogUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n        if (sort !== undefined && sort !== null) {\n            queryParameters = queryParameters.set('sort', <any>sort);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectApiListResponseActivityLogsStrategyBulkUpdateDTO>(`${this.basePath}/v2/api/strategies/bulkupdateActivityLog`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Bulk Strategy Api For Validate CSV .\n     * \n     * @param request request\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public confirmUpdateUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBulkstrategiesUpdateResponse>;\n    public confirmUpdateUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBulkstrategiesUpdateResponse>>;\n    public confirmUpdateUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBulkstrategiesUpdateResponse>>;\n    public confirmUpdateUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (request === null || request === undefined) {\n            throw new Error('Required parameter request was null or undefined when calling confirmUpdateUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectBulkstrategiesUpdateResponse>(`${this.basePath}/v2/api/strategies/update`,\n            request,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to bulk edit strategies.\n     * \n     * @param request request\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public editStrategiesUsingPOST(request: BulkEditStrategiesDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBulkEditStrategiesResponse>;\n    public editStrategiesUsingPOST(request: BulkEditStrategiesDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBulkEditStrategiesResponse>>;\n    public editStrategiesUsingPOST(request: BulkEditStrategiesDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBulkEditStrategiesResponse>>;\n    public editStrategiesUsingPOST(request: BulkEditStrategiesDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (request === null || request === undefined) {\n            throw new Error('Required parameter request was null or undefined when calling editStrategiesUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectBulkEditStrategiesResponse>(`${this.basePath}/v2/api/strategies/bulkupdate`,\n            request,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Bulk Strategy Api For export CSV .\n     * \n     * @param bulkstrategiesRequest bulkstrategiesRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public exportStrategiesDataUsingPOST(bulkstrategiesRequest: BulkstrategiesRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectFileDownloadResponse>;\n    public exportStrategiesDataUsingPOST(bulkstrategiesRequest: BulkstrategiesRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectFileDownloadResponse>>;\n    public exportStrategiesDataUsingPOST(bulkstrategiesRequest: BulkstrategiesRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectFileDownloadResponse>>;\n    public exportStrategiesDataUsingPOST(bulkstrategiesRequest: BulkstrategiesRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (bulkstrategiesRequest === null || bulkstrategiesRequest === undefined) {\n            throw new Error('Required parameter bulkstrategiesRequest was null or undefined when calling exportStrategiesDataUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectFileDownloadResponse>(`${this.basePath}/v2/api/strategies/export`,\n            bulkstrategiesRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Bulk Strategy Api For Validate CSV .\n     * \n     * @param request request\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public importAndValidateTSVFileUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListBulkstrategiesValidationResponse>;\n    public importAndValidateTSVFileUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListBulkstrategiesValidationResponse>>;\n    public importAndValidateTSVFileUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListBulkstrategiesValidationResponse>>;\n    public importAndValidateTSVFileUsingPOST(request: BulkstrategiesValidationRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (request === null || request === undefined) {\n            throw new Error('Required parameter request was null or undefined when calling importAndValidateTSVFileUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectListBulkstrategiesValidationResponse>(`${this.basePath}/v2/api/strategies/validate`,\n            request,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectWhitelabelingEntity } from '../model/apiResponseObjectWhitelabelingEntity';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CSSThemeController_Service {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * CSSTheme By LicenseeId\n     * \n     * @param licenseeId licenseeId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public themeByLicenseeIdUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectWhitelabelingEntity>;\n    public themeByLicenseeIdUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectWhitelabelingEntity>>;\n    public themeByLicenseeIdUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectWhitelabelingEntity>>;\n    public themeByLicenseeIdUsingGET(licenseeId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (licenseeId === null || licenseeId === undefined) {\n            throw new Error('Required parameter licenseeId was null or undefined when calling themeByLicenseeIdUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectWhitelabelingEntity>(`${this.basePath}/v2/theme/licensee/${encodeURIComponent(String(licenseeId))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * CSSTheme By SubDomain\n     * \n     * @param subdomain subdomain\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public themeBySubDomainUsingGET(subdomain: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectWhitelabelingEntity>;\n    public themeBySubDomainUsingGET(subdomain: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectWhitelabelingEntity>>;\n    public themeBySubDomainUsingGET(subdomain: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectWhitelabelingEntity>>;\n    public themeBySubDomainUsingGET(subdomain: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (subdomain === null || subdomain === undefined) {\n            throw new Error('Required parameter subdomain was null or undefined when calling themeBySubDomainUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectWhitelabelingEntity>(`${this.basePath}/v2/theme/subdomain/${encodeURIComponent(String(subdomain))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectBudgetStatsDTO } from '../model/apiResponseObjectBudgetStatsDTO';\nimport { ApiResponseObjectCampaignDTO } from '../model/apiResponseObjectCampaignDTO';\nimport { ApiResponseObjectCampaignDTOList } from '../model/apiResponseObjectCampaignDTOList';\nimport { ApiResponseObjectListCampaignDTO } from '../model/apiResponseObjectListCampaignDTO';\nimport { ApiResponseObjectMapintResponseMessage } from '../model/apiResponseObjectMapintResponseMessage';\nimport { ApiResponseObjectboolean } from '../model/apiResponseObjectboolean';\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\nimport { CampaignDTO } from '../model/campaignDTO';\nimport { DuplicateCampaignStrategyRequestDTO } from '../model/duplicateCampaignStrategyRequestDTO';\nimport { IncrementalityReportDTO } from '../model/incrementalityReportDTO';\nimport { IncrementalityResponse } from '../model/incrementalityResponse';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CampaignControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Api to activate Lists of Campaigns id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMapintResponseMessage>;\n    public activateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMapintResponseMessage>>;\n    public activateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMapintResponseMessage>>;\n    public activateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling activateCampaignUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMapintResponseMessage>(`${this.basePath}/v2/api/campaigns/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to create Campaign\n     * \n     * @param campaign campaign\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createCampaignUsingPOST(campaign: CampaignDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCampaignDTO>;\n    public createCampaignUsingPOST(campaign: CampaignDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCampaignDTO>>;\n    public createCampaignUsingPOST(campaign: CampaignDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCampaignDTO>>;\n    public createCampaignUsingPOST(campaign: CampaignDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (campaign === null || campaign === undefined) {\n            throw new Error('Required parameter campaign was null or undefined when calling createCampaignUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCampaignDTO>(`${this.basePath}/v2/api/campaigns`,\n            campaign,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to deactivate Lists of Campaigns id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMapintResponseMessage>;\n    public deactivateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMapintResponseMessage>>;\n    public deactivateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMapintResponseMessage>>;\n    public deactivateCampaignUsingPOST(id: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling deactivateCampaignUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMapintResponseMessage>(`${this.basePath}/v2/api/campaigns/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to Create duplicate Campaign\n     * \n     * @param dto dto\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public duplicateCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public duplicateCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public duplicateCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public duplicateCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling duplicateCampaignUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling duplicateCampaignUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectstring>(`${this.basePath}/v2/api/campaigns/duplicate/${encodeURIComponent(String(id))}`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get All Campaign for given Adv Id\n     * \n     * @param advertiser_id advertiser_id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllCampaignUsingGET(advertiser_id: number, refresh?: boolean, reqId?: string, search?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListCampaignDTO>;\n    public getAllCampaignUsingGET(advertiser_id: number, refresh?: boolean, reqId?: string, search?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListCampaignDTO>>;\n    public getAllCampaignUsingGET(advertiser_id: number, refresh?: boolean, reqId?: string, search?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListCampaignDTO>>;\n    public getAllCampaignUsingGET(advertiser_id: number, refresh?: boolean, reqId?: string, search?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser_id === null || advertiser_id === undefined) {\n            throw new Error('Required parameter advertiser_id was null or undefined when calling getAllCampaignUsingGET.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (search !== undefined && search !== null) {\n            queryParameters = queryParameters.set('search', <any>search);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListCampaignDTO>(`${this.basePath}/v2/api/campaigns`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get consumed budget statistics for a campaign\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCampaignBudgetStatsUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBudgetStatsDTO>;\n    public getCampaignBudgetStatsUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBudgetStatsDTO>>;\n    public getCampaignBudgetStatsUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBudgetStatsDTO>>;\n    public getCampaignBudgetStatsUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getCampaignBudgetStatsUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectBudgetStatsDTO>(`${this.basePath}/v2/api/campaigns/fetch/budget/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Campaign by Id\n     * \n     * @param id id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCampaignByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCampaignDTO>;\n    public getCampaignByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCampaignDTO>>;\n    public getCampaignByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCampaignDTO>>;\n    public getCampaignByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getCampaignByIdUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectCampaignDTO>(`${this.basePath}/v2/api/campaigns/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Campaigns by Ids\n     * \n     * @param campaignIds campaignIds\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCampaignsByIdsUsingPOST(campaignIds: Array<number>, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCampaignDTOList>;\n    public getCampaignsByIdsUsingPOST(campaignIds: Array<number>, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCampaignDTOList>>;\n    public getCampaignsByIdsUsingPOST(campaignIds: Array<number>, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCampaignDTOList>>;\n    public getCampaignsByIdsUsingPOST(campaignIds: Array<number>, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (campaignIds === null || campaignIds === undefined) {\n            throw new Error('Required parameter campaignIds was null or undefined when calling getCampaignsByIdsUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCampaignDTOList>(`${this.basePath}/v2/api/campaigns/ids/`,\n            campaignIds,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to fetch incrementality report\n     * \n     * @param incrementalityReportDTO incrementalityReportDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public incrementalityReportUsingPOST(incrementalityReportDTO: IncrementalityReportDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<IncrementalityResponse>;\n    public incrementalityReportUsingPOST(incrementalityReportDTO: IncrementalityReportDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<IncrementalityResponse>>;\n    public incrementalityReportUsingPOST(incrementalityReportDTO: IncrementalityReportDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<IncrementalityResponse>>;\n    public incrementalityReportUsingPOST(incrementalityReportDTO: IncrementalityReportDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (incrementalityReportDTO === null || incrementalityReportDTO === undefined) {\n            throw new Error('Required parameter incrementalityReportDTO was null or undefined when calling incrementalityReportUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<IncrementalityResponse>(`${this.basePath}/v2/api/campaigns/incrementalityreport`,\n            incrementalityReportDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to update Campaign\n     * \n     * @param campaign campaign\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateCampaignUsingPOST(campaign: CampaignDTO, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCampaignDTO>;\n    public updateCampaignUsingPOST(campaign: CampaignDTO, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCampaignDTO>>;\n    public updateCampaignUsingPOST(campaign: CampaignDTO, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCampaignDTO>>;\n    public updateCampaignUsingPOST(campaign: CampaignDTO, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (campaign === null || campaign === undefined) {\n            throw new Error('Required parameter campaign was null or undefined when calling updateCampaignUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateCampaignUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCampaignDTO>(`${this.basePath}/v2/api/campaigns/${encodeURIComponent(String(id))}`,\n            campaign,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to validate Campaign before Cloning\n     * \n     * @param dto dto\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public validateCloneCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectboolean>;\n    public validateCloneCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectboolean>>;\n    public validateCloneCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectboolean>>;\n    public validateCloneCampaignUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling validateCloneCampaignUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling validateCloneCampaignUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectboolean>(`${this.basePath}/v2/api/campaigns/clone/validate/${encodeURIComponent(String(id))}`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiListResponseMacro } from '../model/apiListResponseMacro';\nimport { ApiResponseObjectApiListResponseCatalogFeed } from '../model/apiResponseObjectApiListResponseCatalogFeed';\nimport { ApiResponseObjectApiListResponseVariablesMappingDTO } from '../model/apiResponseObjectApiListResponseVariablesMappingDTO';\nimport { ApiResponseObjectCatalogFeed } from '../model/apiResponseObjectCatalogFeed';\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\nimport { SearchRequest } from '../model/searchRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CatalogControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * get feed by feed Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getByIdUsingGET2(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCatalogFeed>;\n    public getByIdUsingGET2(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCatalogFeed>>;\n    public getByIdUsingGET2(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCatalogFeed>>;\n    public getByIdUsingGET2(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getByIdUsingGET2.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectCatalogFeed>(`${this.basePath}/v2/api/catalog/feeds/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get List of catalog Feeds for given advertiserId\n     * \n     * @param advertiser_id advertiser_id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCatalogFeedsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseCatalogFeed>;\n    public getCatalogFeedsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseCatalogFeed>>;\n    public getCatalogFeedsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseCatalogFeed>>;\n    public getCatalogFeedsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser_id === null || advertiser_id === undefined) {\n            throw new Error('Required parameter advertiser_id was null or undefined when calling getCatalogFeedsUsingPOST.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseCatalogFeed>(`${this.basePath}/v2/api/catalog/feeds`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get feed by advertiser Id\n     * \n     * @param advertiserId advertiserId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getFeedsByAdvertiserIdUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public getFeedsByAdvertiserIdUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public getFeedsByAdvertiserIdUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public getFeedsByAdvertiserIdUsingGET(advertiserId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiserId === null || advertiserId === undefined) {\n            throw new Error('Required parameter advertiserId was null or undefined when calling getFeedsByAdvertiserIdUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/catalog/feeds`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get List of catalog macros for given advertiserId\n     * \n     * @param advertiser_id advertiser_id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getMacrosUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseMacro>;\n    public getMacrosUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseMacro>>;\n    public getMacrosUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseMacro>>;\n    public getMacrosUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser_id === null || advertiser_id === undefined) {\n            throw new Error('Required parameter advertiser_id was null or undefined when calling getMacrosUsingPOST.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiListResponseMacro>(`${this.basePath}/v2/api/catalog/macros`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get List of catalog Variable Mappings for given feedId\n     * \n     * @param feedId feedId\n     * @param refresh refresh\n     * @param reqId request id\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getVariableMappingsUsingPOST(feedId: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseVariablesMappingDTO>;\n    public getVariableMappingsUsingPOST(feedId: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseVariablesMappingDTO>>;\n    public getVariableMappingsUsingPOST(feedId: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseVariablesMappingDTO>>;\n    public getVariableMappingsUsingPOST(feedId: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (feedId === null || feedId === undefined) {\n            throw new Error('Required parameter feedId was null or undefined when calling getVariableMappingsUsingPOST.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (feedId !== undefined && feedId !== null) {\n            queryParameters = queryParameters.set('feedId', <any>feedId);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseVariablesMappingDTO>(`${this.basePath}/v2/api/catalog/variables`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectApiListResponseClickDestination } from '../model/apiResponseObjectApiListResponseClickDestination';\nimport { ApiResponseObjectClickDestination } from '../model/apiResponseObjectClickDestination';\nimport { ApiResponseObjectClickDestinationAutomationUrls } from '../model/apiResponseObjectClickDestinationAutomationUrls';\nimport { ClickDestination } from '../model/clickDestination';\nimport { SearchRequest } from '../model/searchRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class ClickDestinationControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     *  Api to create click Destination\n     * \n     * @param clickDestination clickDestination\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createClickDestinationUsingPOST(clickDestination: ClickDestination, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectClickDestination>;\n    public createClickDestinationUsingPOST(clickDestination: ClickDestination, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectClickDestination>>;\n    public createClickDestinationUsingPOST(clickDestination: ClickDestination, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectClickDestination>>;\n    public createClickDestinationUsingPOST(clickDestination: ClickDestination, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (clickDestination === null || clickDestination === undefined) {\n            throw new Error('Required parameter clickDestination was null or undefined when calling createClickDestinationUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectClickDestination>(`${this.basePath}/v2/api/clickdestinations`,\n            clickDestination,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get all click destination\n     * \n     * @param advertiser_id advertiser_id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllClickDestinationUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseClickDestination>;\n    public getAllClickDestinationUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseClickDestination>>;\n    public getAllClickDestinationUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseClickDestination>>;\n    public getAllClickDestinationUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser_id === null || advertiser_id === undefined) {\n            throw new Error('Required parameter advertiser_id was null or undefined when calling getAllClickDestinationUsingPOST.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseClickDestination>(`${this.basePath}/v2/api/clickdestinations/search`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get click destination by Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getClickDestinationByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectClickDestination>;\n    public getClickDestinationByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectClickDestination>>;\n    public getClickDestinationByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectClickDestination>>;\n    public getClickDestinationByIdUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getClickDestinationByIdUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectClickDestination>(`${this.basePath}/v2/api/clickdestinations/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * getMmpParameters\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getMmpParametersUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectClickDestinationAutomationUrls>;\n    public getMmpParametersUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectClickDestinationAutomationUrls>>;\n    public getMmpParametersUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectClickDestinationAutomationUrls>>;\n    public getMmpParametersUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getMmpParametersUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectClickDestinationAutomationUrls>(`${this.basePath}/v2/api/clickdestinations/mmpparameters/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to update  Click Destination\n     * \n     * @param clickDestination clickDestination\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateClickDestinationUsingPOST(clickDestination: ClickDestination, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectClickDestination>;\n    public updateClickDestinationUsingPOST(clickDestination: ClickDestination, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectClickDestination>>;\n    public updateClickDestinationUsingPOST(clickDestination: ClickDestination, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectClickDestination>>;\n    public updateClickDestinationUsingPOST(clickDestination: ClickDestination, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (clickDestination === null || clickDestination === undefined) {\n            throw new Error('Required parameter clickDestination was null or undefined when calling updateClickDestinationUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateClickDestinationUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectClickDestination>(`${this.basePath}/v2/api/clickdestinations/${encodeURIComponent(String(id))}`,\n            clickDestination,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiListResponseCreativeDTO } from '../model/apiListResponseCreativeDTO';\nimport { ApiListResponseHotstarNativeFileRequest } from '../model/apiListResponseHotstarNativeFileRequest';\nimport { ApiListResponseSizeWithPreview } from '../model/apiListResponseSizeWithPreview';\nimport { ApiResponseObjectApiListResponseCreativeCompactDTO } from '../model/apiResponseObjectApiListResponseCreativeCompactDTO';\nimport { ApiResponseObjectApiListResponseCreativeDTO } from '../model/apiResponseObjectApiListResponseCreativeDTO';\nimport { ApiResponseObjectCreativeDTO } from '../model/apiResponseObjectCreativeDTO';\nimport { ApiResponseObjectCreativePerformanceData } from '../model/apiResponseObjectCreativePerformanceData';\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { CreativeDTO } from '../model/creativeDTO';\nimport { CreativeHtmlMockupDTO } from '../model/creativeHtmlMockupDTO';\nimport { CreativeMockUpsDTO } from '../model/creativeMockUpsDTO';\nimport { CreativeThirdPartyAdTag } from '../model/creativeThirdPartyAdTag';\nimport { DashboardRequest } from '../model/dashboardRequest';\nimport { HotstarFileRequest } from '../model/hotstarFileRequest';\nimport { SearchRequest } from '../model/searchRequest';\nimport { VideoAdTagVerifyRequest } from '../model/videoAdTagVerifyRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CreativeControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * activate Lists of creative id\n     * \n     * @param commaSepratedIds commaSepratedIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public activateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public activateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public activateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (commaSepratedIds === null || commaSepratedIds === undefined) {\n            throw new Error('Required parameter commaSepratedIds was null or undefined when calling activateCreativeUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (commaSepratedIds !== undefined && commaSepratedIds !== null) {\n            queryParameters = queryParameters.set('commaSepratedIds', <any>commaSepratedIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/creatives/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to batch create creatives\n     * \n     * @param creativeDTOs creativeDTOs\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createCreativeUsingPOST(creativeDTOs: Array<CreativeDTO>, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseCreativeDTO>;\n    public createCreativeUsingPOST(creativeDTOs: Array<CreativeDTO>, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseCreativeDTO>>;\n    public createCreativeUsingPOST(creativeDTOs: Array<CreativeDTO>, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseCreativeDTO>>;\n    public createCreativeUsingPOST(creativeDTOs: Array<CreativeDTO>, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (creativeDTOs === null || creativeDTOs === undefined) {\n            throw new Error('Required parameter creativeDTOs was null or undefined when calling createCreativeUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiListResponseCreativeDTO>(`${this.basePath}/v2/api/creatives`,\n            creativeDTOs,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to  create creatives mockups\n     * \n     * @param mockupDTO mockupDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createHtmlMockupsUsingPOST(mockupDTO: CreativeHtmlMockupDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseCreativeDTO>;\n    public createHtmlMockupsUsingPOST(mockupDTO: CreativeHtmlMockupDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseCreativeDTO>>;\n    public createHtmlMockupsUsingPOST(mockupDTO: CreativeHtmlMockupDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseCreativeDTO>>;\n    public createHtmlMockupsUsingPOST(mockupDTO: CreativeHtmlMockupDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (mockupDTO === null || mockupDTO === undefined) {\n            throw new Error('Required parameter mockupDTO was null or undefined when calling createHtmlMockupsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiListResponseCreativeDTO>(`${this.basePath}/v2/api/creatives/htmlmockups`,\n            mockupDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to  create creatives mockups\n     * \n     * @param mockupDTO mockupDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createMockupsUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseCreativeDTO>;\n    public createMockupsUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseCreativeDTO>>;\n    public createMockupsUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseCreativeDTO>>;\n    public createMockupsUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (mockupDTO === null || mockupDTO === undefined) {\n            throw new Error('Required parameter mockupDTO was null or undefined when calling createMockupsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiListResponseCreativeDTO>(`${this.basePath}/v2/api/creatives/mockups`,\n            mockupDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * deactivate Lists of creative id\n     * \n     * @param commaSepratedIds commaSepratedIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public deactivateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateCreativeUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (commaSepratedIds === null || commaSepratedIds === undefined) {\n            throw new Error('Required parameter commaSepratedIds was null or undefined when calling deactivateCreativeUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (commaSepratedIds !== undefined && commaSepratedIds !== null) {\n            queryParameters = queryParameters.set('commaSepratedIds', <any>commaSepratedIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/creatives/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to  get Third party adtag creatives\n     * \n     * @param adTag adTag\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAdTagCreativeUsingPOST(adTag: CreativeThirdPartyAdTag, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativeDTO>;\n    public getAdTagCreativeUsingPOST(adTag: CreativeThirdPartyAdTag, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativeDTO>>;\n    public getAdTagCreativeUsingPOST(adTag: CreativeThirdPartyAdTag, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativeDTO>>;\n    public getAdTagCreativeUsingPOST(adTag: CreativeThirdPartyAdTag, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (adTag === null || adTag === undefined) {\n            throw new Error('Required parameter adTag was null or undefined when calling getAdTagCreativeUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCreativeDTO>(`${this.basePath}/v2/api/creatives/adtag`,\n            adTag,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get Creative by Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCreativeByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativeDTO>;\n    public getCreativeByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativeDTO>>;\n    public getCreativeByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativeDTO>>;\n    public getCreativeByIdUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getCreativeByIdUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectCreativeDTO>(`${this.basePath}/v2/api/creatives/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get Performance Data by Creative by Id\n     * \n     * @param id id\n     * @param search search\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getPerformanceForCreativeByIdUsingPOST(id: number, search: DashboardRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativePerformanceData>;\n    public getPerformanceForCreativeByIdUsingPOST(id: number, search: DashboardRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativePerformanceData>>;\n    public getPerformanceForCreativeByIdUsingPOST(id: number, search: DashboardRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativePerformanceData>>;\n    public getPerformanceForCreativeByIdUsingPOST(id: number, search: DashboardRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getPerformanceForCreativeByIdUsingPOST.');\n        }\n\n        if (search === null || search === undefined) {\n            throw new Error('Required parameter search was null or undefined when calling getPerformanceForCreativeByIdUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCreativePerformanceData>(`${this.basePath}/v2/api/creatives/performance/${encodeURIComponent(String(id))}`,\n            search,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get/search creatives compacts\n     * \n     * @param search search\n     * @param refresh refresh\n     * @param reqId request id\n     * @param skadtarget skadtarget\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public searchCreativesCompactUsingPOST(search: SearchRequest, refresh?: boolean, reqId?: string, skadtarget?: boolean, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseCreativeCompactDTO>;\n    public searchCreativesCompactUsingPOST(search: SearchRequest, refresh?: boolean, reqId?: string, skadtarget?: boolean, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseCreativeCompactDTO>>;\n    public searchCreativesCompactUsingPOST(search: SearchRequest, refresh?: boolean, reqId?: string, skadtarget?: boolean, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseCreativeCompactDTO>>;\n    public searchCreativesCompactUsingPOST(search: SearchRequest, refresh?: boolean, reqId?: string, skadtarget?: boolean, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (search === null || search === undefined) {\n            throw new Error('Required parameter search was null or undefined when calling searchCreativesCompactUsingPOST.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (skadtarget !== undefined && skadtarget !== null) {\n            queryParameters = queryParameters.set('skadtarget', <any>skadtarget);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseCreativeCompactDTO>(`${this.basePath}/v2/api/creatives/search/compact`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get/search creatives\n     * \n     * @param search search\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public searchCreativesUsingPOST(search: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseCreativeDTO>;\n    public searchCreativesUsingPOST(search: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseCreativeDTO>>;\n    public searchCreativesUsingPOST(search: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseCreativeDTO>>;\n    public searchCreativesUsingPOST(search: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (search === null || search === undefined) {\n            throw new Error('Required parameter search was null or undefined when calling searchCreativesUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseCreativeDTO>(`${this.basePath}/v2/api/creatives/search`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * update  Creative\n     * \n     * @param creative creative\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateCreativeUsingPOST(creative: CreativeDTO, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativeDTO>;\n    public updateCreativeUsingPOST(creative: CreativeDTO, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativeDTO>>;\n    public updateCreativeUsingPOST(creative: CreativeDTO, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativeDTO>>;\n    public updateCreativeUsingPOST(creative: CreativeDTO, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (creative === null || creative === undefined) {\n            throw new Error('Required parameter creative was null or undefined when calling updateCreativeUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateCreativeUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCreativeDTO>(`${this.basePath}/v2/api/creatives/${encodeURIComponent(String(id))}`,\n            creative,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get mp4 files for Hotstar Native Video.\n     * \n     * @param hotstarFileRequest hotstarFileRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public uploadHotstarNativeVideoFilesUsingPOST(hotstarFileRequest: HotstarFileRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseHotstarNativeFileRequest>;\n    public uploadHotstarNativeVideoFilesUsingPOST(hotstarFileRequest: HotstarFileRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseHotstarNativeFileRequest>>;\n    public uploadHotstarNativeVideoFilesUsingPOST(hotstarFileRequest: HotstarFileRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseHotstarNativeFileRequest>>;\n    public uploadHotstarNativeVideoFilesUsingPOST(hotstarFileRequest: HotstarFileRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (hotstarFileRequest === null || hotstarFileRequest === undefined) {\n            throw new Error('Required parameter hotstarFileRequest was null or undefined when calling uploadHotstarNativeVideoFilesUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiListResponseHotstarNativeFileRequest>(`${this.basePath}/v2/api/creatives/convert/creative`,\n            hotstarFileRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to verify and get Third party video adtag creative details\n     * \n     * @param request request\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public verifyAndGetVideoAdTagCreativeDetailsUsingPOST(request: VideoAdTagVerifyRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseSizeWithPreview>;\n    public verifyAndGetVideoAdTagCreativeDetailsUsingPOST(request: VideoAdTagVerifyRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseSizeWithPreview>>;\n    public verifyAndGetVideoAdTagCreativeDetailsUsingPOST(request: VideoAdTagVerifyRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseSizeWithPreview>>;\n    public verifyAndGetVideoAdTagCreativeDetailsUsingPOST(request: VideoAdTagVerifyRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (request === null || request === undefined) {\n            throw new Error('Required parameter request was null or undefined when calling verifyAndGetVideoAdTagCreativeDetailsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiListResponseSizeWithPreview>(`${this.basePath}/v2/api/creatives/videoAdtag`,\n            request,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiListResponseCreativeTemplateDTO } from '../model/apiListResponseCreativeTemplateDTO';\nimport { ApiResponseObjectAdvertiserDynamicDetails } from '../model/apiResponseObjectAdvertiserDynamicDetails';\nimport { ApiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO } from '../model/apiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO';\nimport { ApiResponseObjectApiListResponseCreativePerformanceList } from '../model/apiResponseObjectApiListResponseCreativePerformanceList';\nimport { ApiResponseObjectApiListResponseCreativeSetDashboardMetric } from '../model/apiResponseObjectApiListResponseCreativeSetDashboardMetric';\nimport { ApiResponseObjectApiListResponseCreativeSetPerformanceList } from '../model/apiResponseObjectApiListResponseCreativeSetPerformanceList';\nimport { ApiResponseObjectBulkEditCreativeSetsResponse } from '../model/apiResponseObjectBulkEditCreativeSetsResponse';\nimport { ApiResponseObjectCreativePreviewDTO } from '../model/apiResponseObjectCreativePreviewDTO';\nimport { ApiResponseObjectCreativeSetDetails } from '../model/apiResponseObjectCreativeSetDetails';\nimport { ApiResponseObjectCreativeSetResponse } from '../model/apiResponseObjectCreativeSetResponse';\nimport { ApiResponseObjectDashboardMetrics } from '../model/apiResponseObjectDashboardMetrics';\nimport { ApiResponseObjectDashboardResponse } from '../model/apiResponseObjectDashboardResponse';\nimport { ApiResponseObjectDuplicateCreativeSetResponse } from '../model/apiResponseObjectDuplicateCreativeSetResponse';\nimport { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';\nimport { BulkEditCreativeSetsDTO } from '../model/bulkEditCreativeSetsDTO';\nimport { CreativeSetRequest } from '../model/creativeSetRequest';\nimport { CreativeSetRescheduleRequest } from '../model/creativeSetRescheduleRequest';\nimport { DashboardRequest } from '../model/dashboardRequest';\nimport { DuplicateCreativeSetsRequestDTO } from '../model/duplicateCreativeSetsRequestDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CreativeSetsControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Api to get Creative Sets Bulk Edit Activity Log\n     * \n     * @param pageNumber pageNumber\n     * @param pageSize pageSize\n     * @param reqId request id\n     * @param sort sort\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public bulkEditActivityLogUsingGET1(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO>;\n    public bulkEditActivityLogUsingGET1(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO>>;\n    public bulkEditActivityLogUsingGET1(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO>>;\n    public bulkEditActivityLogUsingGET1(pageNumber?: number, pageSize?: number, reqId?: string, sort?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n        if (sort !== undefined && sort !== null) {\n            queryParameters = queryParameters.set('sort', <any>sort);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectApiListResponseActivityLogsCreativeSetsBulkUpdateDTO>(`${this.basePath}/v2/api/creativesets/bulkupdateActivityLog`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to bulk edit creative sets\n     * \n     * @param dto dto\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public bulkEditCreativeSetsUsingPOST(dto: BulkEditCreativeSetsDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBulkEditCreativeSetsResponse>;\n    public bulkEditCreativeSetsUsingPOST(dto: BulkEditCreativeSetsDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBulkEditCreativeSetsResponse>>;\n    public bulkEditCreativeSetsUsingPOST(dto: BulkEditCreativeSetsDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBulkEditCreativeSetsResponse>>;\n    public bulkEditCreativeSetsUsingPOST(dto: BulkEditCreativeSetsDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling bulkEditCreativeSetsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectBulkEditCreativeSetsResponse>(`${this.basePath}/v2/api/creativesets/bulkupdate`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to  create creative sets\n     * \n     * @param creativeSetRequest creativeSetRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createUsingPOST(creativeSetRequest: CreativeSetRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativeSetResponse>;\n    public createUsingPOST(creativeSetRequest: CreativeSetRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativeSetResponse>>;\n    public createUsingPOST(creativeSetRequest: CreativeSetRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativeSetResponse>>;\n    public createUsingPOST(creativeSetRequest: CreativeSetRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (creativeSetRequest === null || creativeSetRequest === undefined) {\n            throw new Error('Required parameter creativeSetRequest was null or undefined when calling createUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCreativeSetResponse>(`${this.basePath}/v2/api/creativesets`,\n            creativeSetRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to duplicate creative sets\n     * \n     * @param dto dto\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public duplicateCreativeSetsUsingPOST(dto: DuplicateCreativeSetsRequestDTO, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectDuplicateCreativeSetResponse>;\n    public duplicateCreativeSetsUsingPOST(dto: DuplicateCreativeSetsRequestDTO, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectDuplicateCreativeSetResponse>>;\n    public duplicateCreativeSetsUsingPOST(dto: DuplicateCreativeSetsRequestDTO, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectDuplicateCreativeSetResponse>>;\n    public duplicateCreativeSetsUsingPOST(dto: DuplicateCreativeSetsRequestDTO, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling duplicateCreativeSetsUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling duplicateCreativeSetsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectDuplicateCreativeSetResponse>(`${this.basePath}/v2/api/creativesets/duplicate/${encodeURIComponent(String(id))}`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get creative sets dimension details\n     * \n     * @param advertiserId advertiserId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAdvertiserDynamicDetailsUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserDynamicDetails>;\n    public getAdvertiserDynamicDetailsUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserDynamicDetails>>;\n    public getAdvertiserDynamicDetailsUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserDynamicDetails>>;\n    public getAdvertiserDynamicDetailsUsingGET(advertiserId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiserId === null || advertiserId === undefined) {\n            throw new Error('Required parameter advertiserId was null or undefined when calling getAdvertiserDynamicDetailsUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectAdvertiserDynamicDetails>(`${this.basePath}/v2/api/creativesets/dynamicdetails`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get creative sets\n     * \n     * @param id id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getByIdUsingGET3(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativeSetDetails>;\n    public getByIdUsingGET3(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativeSetDetails>>;\n    public getByIdUsingGET3(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativeSetDetails>>;\n    public getByIdUsingGET3(id: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getByIdUsingGET3.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectCreativeSetDetails>(`${this.basePath}/v2/api/creativesets/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get list of creatives with performance data\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCreativePerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseCreativePerformanceList>;\n    public getCreativePerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseCreativePerformanceList>>;\n    public getCreativePerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseCreativePerformanceList>>;\n    public getCreativePerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getCreativePerformanceDataUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseCreativePerformanceList>(`${this.basePath}/v2/api/creativesets/performance/new/creative`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get creative preview modal details\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCreativePreviewModalDataUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativePreviewDTO>;\n    public getCreativePreviewModalDataUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativePreviewDTO>>;\n    public getCreativePreviewModalDataUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativePreviewDTO>>;\n    public getCreativePreviewModalDataUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getCreativePreviewModalDataUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectCreativePreviewDTO>(`${this.basePath}/v2/api/creativesets/creative/perview/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get list of creative sets with performance data\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCreativeSetsPerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseCreativeSetPerformanceList>;\n    public getCreativeSetsPerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseCreativeSetPerformanceList>>;\n    public getCreativeSetsPerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseCreativeSetPerformanceList>>;\n    public getCreativeSetsPerformanceDataUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getCreativeSetsPerformanceDataUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseCreativeSetPerformanceList>(`${this.basePath}/v2/api/creativesets/performance/new`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get list of creative sets with performance \n     * \n     * @param dashboardRequest dashboardRequest\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCreativeSetsPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseCreativeSetDashboardMetric>;\n    public getCreativeSetsPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseCreativeSetDashboardMetric>>;\n    public getCreativeSetsPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseCreativeSetDashboardMetric>>;\n    public getCreativeSetsPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getCreativeSetsPerformanceUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponseCreativeSetDashboardMetric>(`${this.basePath}/v2/api/creativesets/performance/`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get individual creative performance\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCreativesPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectDashboardResponse>;\n    public getCreativesPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectDashboardResponse>>;\n    public getCreativesPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectDashboardResponse>>;\n    public getCreativesPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getCreativesPerformanceUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectDashboardResponse>(`${this.basePath}/v2/api/creativesets/creatives/performance/`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to get individual creative set performance\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param id id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getPerformanceByIdUsingPOST(dashboardRequest: DashboardRequest, id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectDashboardMetrics>;\n    public getPerformanceByIdUsingPOST(dashboardRequest: DashboardRequest, id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectDashboardMetrics>>;\n    public getPerformanceByIdUsingPOST(dashboardRequest: DashboardRequest, id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectDashboardMetrics>>;\n    public getPerformanceByIdUsingPOST(dashboardRequest: DashboardRequest, id: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getPerformanceByIdUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getPerformanceByIdUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectDashboardMetrics>(`${this.basePath}/v2/api/creativesets/performance/${encodeURIComponent(String(id))}`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get available hybrid ad templates for the uploaded videos\n     * \n     * @param advertiserId advertiserId\n     * @param type type\n     * @param filters filters\n     * @param hybridSupportType hybridSupportType\n     * @param isPlacebo isPlacebo\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getTemplateListUsingGET(advertiserId: number, type: 'DCO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD', filters?: string, hybridSupportType?: 'IMAGE' | 'VIDEO', isPlacebo?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseCreativeTemplateDTO>;\n    public getTemplateListUsingGET(advertiserId: number, type: 'DCO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD', filters?: string, hybridSupportType?: 'IMAGE' | 'VIDEO', isPlacebo?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseCreativeTemplateDTO>>;\n    public getTemplateListUsingGET(advertiserId: number, type: 'DCO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD', filters?: string, hybridSupportType?: 'IMAGE' | 'VIDEO', isPlacebo?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseCreativeTemplateDTO>>;\n    public getTemplateListUsingGET(advertiserId: number, type: 'DCO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD', filters?: string, hybridSupportType?: 'IMAGE' | 'VIDEO', isPlacebo?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiserId === null || advertiserId === undefined) {\n            throw new Error('Required parameter advertiserId was null or undefined when calling getTemplateListUsingGET.');\n        }\n\n        if (type === null || type === undefined) {\n            throw new Error('Required parameter type was null or undefined when calling getTemplateListUsingGET.');\n        }\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n        if (filters !== undefined && filters !== null) {\n            queryParameters = queryParameters.set('filters', <any>filters);\n        }\n        if (hybridSupportType !== undefined && hybridSupportType !== null) {\n            queryParameters = queryParameters.set('hybridSupportType', <any>hybridSupportType);\n        }\n        if (isPlacebo !== undefined && isPlacebo !== null) {\n            queryParameters = queryParameters.set('isPlacebo', <any>isPlacebo);\n        }\n        if (type !== undefined && type !== null) {\n            queryParameters = queryParameters.set('type', <any>type);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseCreativeTemplateDTO>(`${this.basePath}/v2/api/creativesets/templates`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to reschedule a creative sets\n     * \n     * @param creativeSetRescheduleRequest creativeSetRescheduleRequest\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public rescheduleUsingPOST(creativeSetRescheduleRequest: CreativeSetRescheduleRequest, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public rescheduleUsingPOST(creativeSetRescheduleRequest: CreativeSetRescheduleRequest, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public rescheduleUsingPOST(creativeSetRescheduleRequest: CreativeSetRescheduleRequest, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public rescheduleUsingPOST(creativeSetRescheduleRequest: CreativeSetRescheduleRequest, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (creativeSetRescheduleRequest === null || creativeSetRescheduleRequest === undefined) {\n            throw new Error('Required parameter creativeSetRescheduleRequest was null or undefined when calling rescheduleUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling rescheduleUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/creativesets/reschedule/${encodeURIComponent(String(id))}`,\n            creativeSetRescheduleRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to update creative sets\n     * \n     * @param creativeSetRequest creativeSetRequest\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateUsingPOST(creativeSetRequest: CreativeSetRequest, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativeSetResponse>;\n    public updateUsingPOST(creativeSetRequest: CreativeSetRequest, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativeSetResponse>>;\n    public updateUsingPOST(creativeSetRequest: CreativeSetRequest, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativeSetResponse>>;\n    public updateUsingPOST(creativeSetRequest: CreativeSetRequest, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (creativeSetRequest === null || creativeSetRequest === undefined) {\n            throw new Error('Required parameter creativeSetRequest was null or undefined when calling updateUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectCreativeSetResponse>(`${this.basePath}/v2/api/creativesets/${encodeURIComponent(String(id))}`,\n            creativeSetRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectListTemplateThemeDTO } from '../model/apiResponseObjectListTemplateThemeDTO';\nimport { ApiResponseObjectTemplateThemeDTO } from '../model/apiResponseObjectTemplateThemeDTO';\nimport { TemplateThemeDTO } from '../model/templateThemeDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CreativeTemplateThemesControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Create Creative template theme\n     * \n     * @param themeDTO themeDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createTemplateThemeUsingPOST(themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectTemplateThemeDTO>;\n    public createTemplateThemeUsingPOST(themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectTemplateThemeDTO>>;\n    public createTemplateThemeUsingPOST(themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectTemplateThemeDTO>>;\n    public createTemplateThemeUsingPOST(themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (themeDTO === null || themeDTO === undefined) {\n            throw new Error('Required parameter themeDTO was null or undefined when calling createTemplateThemeUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectTemplateThemeDTO>(`${this.basePath}/v2/api/creatives/templates/themes`,\n            themeDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch Creative template based on id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getTemplateThemeByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectTemplateThemeDTO>;\n    public getTemplateThemeByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectTemplateThemeDTO>>;\n    public getTemplateThemeByIdUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectTemplateThemeDTO>>;\n    public getTemplateThemeByIdUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getTemplateThemeByIdUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectTemplateThemeDTO>(`${this.basePath}/v2/api/creatives/templates/themes/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch Creative template themes for an advertiser\n     * \n     * @param advertiserId advertiserId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getTemplateThemesUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListTemplateThemeDTO>;\n    public getTemplateThemesUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListTemplateThemeDTO>>;\n    public getTemplateThemesUsingGET(advertiserId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListTemplateThemeDTO>>;\n    public getTemplateThemesUsingGET(advertiserId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiserId === null || advertiserId === undefined) {\n            throw new Error('Required parameter advertiserId was null or undefined when calling getTemplateThemesUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListTemplateThemeDTO>(`${this.basePath}/v2/api/creatives/templates/themes`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update Creative template theme\n     * \n     * @param id id\n     * @param themeDTO themeDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateTemplateThemeUsingPOST(id: number, themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectTemplateThemeDTO>;\n    public updateTemplateThemeUsingPOST(id: number, themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectTemplateThemeDTO>>;\n    public updateTemplateThemeUsingPOST(id: number, themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectTemplateThemeDTO>>;\n    public updateTemplateThemeUsingPOST(id: number, themeDTO: TemplateThemeDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateTemplateThemeUsingPOST.');\n        }\n\n        if (themeDTO === null || themeDTO === undefined) {\n            throw new Error('Required parameter themeDTO was null or undefined when calling updateTemplateThemeUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectTemplateThemeDTO>(`${this.basePath}/v2/api/creatives/templates/themes/${encodeURIComponent(String(id))}`,\n            themeDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectListTemplateVariablesDTO } from '../model/apiResponseObjectListTemplateVariablesDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CreativeTemplateVariablesControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Fetch Creative template variables\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getTemplateVariablesUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListTemplateVariablesDTO>;\n    public getTemplateVariablesUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListTemplateVariablesDTO>>;\n    public getTemplateVariablesUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListTemplateVariablesDTO>>;\n    public getTemplateVariablesUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListTemplateVariablesDTO>(`${this.basePath}/v2/api/creatives/templates/variables`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectApiListResponseCreativeTemplateDTO } from '../model/apiResponseObjectApiListResponseCreativeTemplateDTO';\nimport { ApiResponseObjectCreativeTemplatesMetadataDTO } from '../model/apiResponseObjectCreativeTemplatesMetadataDTO';\nimport { ApiResponseObjectListCreativeFiles } from '../model/apiResponseObjectListCreativeFiles';\nimport { CreativeMockUpsDTO } from '../model/creativeMockUpsDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CreativeTemplatesControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Fetch HTML templates for creatives\n     * \n     * @param advertiserId advertiserId\n     * @param dynamic dynamic\n     * @param pageNumber pageNumber\n     * @param pageSize pageSize\n     * @param reqId request id\n     * @param slots slots\n     * @param templateSizes templateSizes\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCreativeTemplatesUsingGET(advertiserId?: number, dynamic?: boolean, pageNumber?: number, pageSize?: number, reqId?: string, slots?: number, templateSizes?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseCreativeTemplateDTO>;\n    public getCreativeTemplatesUsingGET(advertiserId?: number, dynamic?: boolean, pageNumber?: number, pageSize?: number, reqId?: string, slots?: number, templateSizes?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseCreativeTemplateDTO>>;\n    public getCreativeTemplatesUsingGET(advertiserId?: number, dynamic?: boolean, pageNumber?: number, pageSize?: number, reqId?: string, slots?: number, templateSizes?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseCreativeTemplateDTO>>;\n    public getCreativeTemplatesUsingGET(advertiserId?: number, dynamic?: boolean, pageNumber?: number, pageSize?: number, reqId?: string, slots?: number, templateSizes?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiserId !== undefined && advertiserId !== null) {\n            queryParameters = queryParameters.set('advertiserId', <any>advertiserId);\n        }\n        if (dynamic !== undefined && dynamic !== null) {\n            queryParameters = queryParameters.set('dynamic', <any>dynamic);\n        }\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n        if (slots !== undefined && slots !== null) {\n            queryParameters = queryParameters.set('slots', <any>slots);\n        }\n        if (templateSizes !== undefined && templateSizes !== null) {\n            queryParameters = queryParameters.set('templateSizes', <any>templateSizes);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectApiListResponseCreativeTemplateDTO>(`${this.basePath}/v2/api/creatives/templates`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fetch creative templates metadata\n     * \n     * @param active active\n     * @param dynamic dynamic\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getTemplatesMetadataUsingGET(active?: boolean, dynamic?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCreativeTemplatesMetadataDTO>;\n    public getTemplatesMetadataUsingGET(active?: boolean, dynamic?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCreativeTemplatesMetadataDTO>>;\n    public getTemplatesMetadataUsingGET(active?: boolean, dynamic?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCreativeTemplatesMetadataDTO>>;\n    public getTemplatesMetadataUsingGET(active?: boolean, dynamic?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (active !== undefined && active !== null) {\n            queryParameters = queryParameters.set('active', <any>active);\n        }\n        if (dynamic !== undefined && dynamic !== null) {\n            queryParameters = queryParameters.set('dynamic', <any>dynamic);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectCreativeTemplatesMetadataDTO>(`${this.basePath}/v2/api/creatives/templates/metadata`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Save product images\n     * \n     * @param mockupDTO mockupDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public saveProductImagesUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListCreativeFiles>;\n    public saveProductImagesUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListCreativeFiles>>;\n    public saveProductImagesUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListCreativeFiles>>;\n    public saveProductImagesUsingPOST(mockupDTO: CreativeMockUpsDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (mockupDTO === null || mockupDTO === undefined) {\n            throw new Error('Required parameter mockupDTO was null or undefined when calling saveProductImagesUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectListCreativeFiles>(`${this.basePath}/v2/api/creatives/templates/productimages`,\n            mockupDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { CustomerReportingRequest } from '../model/customerReportingRequest';\nimport { CustomerReportingResponse } from '../model/customerReportingResponse';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class CustomerReportingControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * API to fetch  customer report data\n     * \n     * @param customerReportingRequest customerReportingRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public customerReportUsingPOST(customerReportingRequest: CustomerReportingRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<CustomerReportingResponse>;\n    public customerReportUsingPOST(customerReportingRequest: CustomerReportingRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CustomerReportingResponse>>;\n    public customerReportUsingPOST(customerReportingRequest: CustomerReportingRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CustomerReportingResponse>>;\n    public customerReportUsingPOST(customerReportingRequest: CustomerReportingRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (customerReportingRequest === null || customerReportingRequest === undefined) {\n            throw new Error('Required parameter customerReportingRequest was null or undefined when calling customerReportUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<CustomerReportingResponse>(`${this.basePath}/v2/api/creport/aliexpress`,\n            customerReportingRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectBaseModel } from '../model/apiResponseObjectBaseModel';\nimport { ApiResponseObjectChartDashboardResponse } from '../model/apiResponseObjectChartDashboardResponse';\nimport { ApiResponseObjectDashboardResponse } from '../model/apiResponseObjectDashboardResponse';\nimport { ApiResponseObjectDictionaryResponse } from '../model/apiResponseObjectDictionaryResponse';\nimport { ApiResponseObjectEResponseobject } from '../model/apiResponseObjectEResponseobject';\nimport { ApiResponseObjectFileDownloadResponse } from '../model/apiResponseObjectFileDownloadResponse';\nimport { ApiResponseObjectListBaseModel } from '../model/apiResponseObjectListBaseModel';\nimport { ApiResponseObjectListMenuCrubResponse } from '../model/apiResponseObjectListMenuCrubResponse';\nimport { ApiResponseObjectMapintResponseMessage } from '../model/apiResponseObjectMapintResponseMessage';\nimport { ApiResponseObjectMenuCrubResponse } from '../model/apiResponseObjectMenuCrubResponse';\nimport { ApiResponseObjectParentBasedObject } from '../model/apiResponseObjectParentBasedObject';\nimport { ApiResponseObjectWidgetPerformanceMetrics } from '../model/apiResponseObjectWidgetPerformanceMetrics';\nimport { DashboardRequest } from '../model/dashboardRequest';\nimport { SearchRequest } from '../model/searchRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class DashboardControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * DashBoard Api For archiving dashboard entities\n     * \n     * @param id id\n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public archiveEntitiesUsingPOST(id: Array<number>, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMapintResponseMessage>;\n    public archiveEntitiesUsingPOST(id: Array<number>, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMapintResponseMessage>>;\n    public archiveEntitiesUsingPOST(id: Array<number>, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMapintResponseMessage>>;\n    public archiveEntitiesUsingPOST(id: Array<number>, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling archiveEntitiesUsingPOST.');\n        }\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling archiveEntitiesUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id) {\n            id.forEach((element) => {\n                queryParameters = queryParameters.append('id', <any>element);\n            })\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMapintResponseMessage>(`${this.basePath}/v2/api/archive/${encodeURIComponent(String(tableEntity))}`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * getById\n     * \n     * @param id id\n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getByIdUsingGET4(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectBaseModel>;\n    public getByIdUsingGET4(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectBaseModel>>;\n    public getByIdUsingGET4(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectBaseModel>>;\n    public getByIdUsingGET4(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getByIdUsingGET4.');\n        }\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling getByIdUsingGET4.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectBaseModel>(`${this.basePath}/v2/api/${encodeURIComponent(String(tableEntity))}/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For download TimeLine CSV BY Stream.\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDashboardDataChartCsvStreamUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<any>;\n    public getDashboardDataChartCsvStreamUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<any>>;\n    public getDashboardDataChartCsvStreamUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<any>>;\n    public getDashboardDataChartCsvStreamUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getDashboardDataChartCsvStreamUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<any>(`${this.basePath}/v2/api/chart/csv/stream`,\n            dashboardRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For download TimeLine CSV .\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDashboardDataChartCsvUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectFileDownloadResponse>;\n    public getDashboardDataChartCsvUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectFileDownloadResponse>>;\n    public getDashboardDataChartCsvUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectFileDownloadResponse>>;\n    public getDashboardDataChartCsvUsingPOST(dashboardRequest: DashboardRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getDashboardDataChartCsvUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectFileDownloadResponse>(`${this.basePath}/v2/api/chart/csv`,\n            dashboardRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For TimeLine.\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param showuu showuu\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDashboardDataChartUsingPOST(dashboardRequest: DashboardRequest, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectChartDashboardResponse>;\n    public getDashboardDataChartUsingPOST(dashboardRequest: DashboardRequest, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectChartDashboardResponse>>;\n    public getDashboardDataChartUsingPOST(dashboardRequest: DashboardRequest, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectChartDashboardResponse>>;\n    public getDashboardDataChartUsingPOST(dashboardRequest: DashboardRequest, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getDashboardDataChartUsingPOST.');\n        }\n\n        if (showuu === null || showuu === undefined) {\n            throw new Error('Required parameter showuu was null or undefined when calling getDashboardDataChartUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (showuu !== undefined && showuu !== null) {\n            queryParameters = queryParameters.set('showuu', <any>showuu);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectChartDashboardResponse>(`${this.basePath}/v2/api/chart`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For Download List CSV By Stream.\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param entity entity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDashboardDataListCsvStreamUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<any>;\n    public getDashboardDataListCsvStreamUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<any>>;\n    public getDashboardDataListCsvStreamUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<any>>;\n    public getDashboardDataListCsvStreamUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getDashboardDataListCsvStreamUsingPOST.');\n        }\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getDashboardDataListCsvStreamUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<any>(`${this.basePath}/v2/api/list/${encodeURIComponent(String(entity))}/csv/stream`,\n            dashboardRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For Download List CSV.\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param entity entity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDashboardDataListCsvUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectFileDownloadResponse>;\n    public getDashboardDataListCsvUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectFileDownloadResponse>>;\n    public getDashboardDataListCsvUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectFileDownloadResponse>>;\n    public getDashboardDataListCsvUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getDashboardDataListCsvUsingPOST.');\n        }\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getDashboardDataListCsvUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectFileDownloadResponse>(`${this.basePath}/v2/api/list/${encodeURIComponent(String(entity))}/csv`,\n            dashboardRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For DashBoard.\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param entity entity\n     * @param showuu showuu\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDashboardDataListUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectDashboardResponse>;\n    public getDashboardDataListUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectDashboardResponse>>;\n    public getDashboardDataListUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectDashboardResponse>>;\n    public getDashboardDataListUsingPOST(dashboardRequest: DashboardRequest, entity: 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'HOMEPAGE' | 'PRODUCT_CATALOG' | 'CATEGORY_PERFORMANCE' | 'CREATIVE_SET', showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getDashboardDataListUsingPOST.');\n        }\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getDashboardDataListUsingPOST.');\n        }\n\n        if (showuu === null || showuu === undefined) {\n            throw new Error('Required parameter showuu was null or undefined when calling getDashboardDataListUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (showuu !== undefined && showuu !== null) {\n            queryParameters = queryParameters.set('showuu', <any>showuu);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectDashboardResponse>(`${this.basePath}/v2/api/list/${encodeURIComponent(String(entity))}`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * getDetailById\n     * \n     * @param id id\n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDetailByIdUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectParentBasedObject>;\n    public getDetailByIdUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectParentBasedObject>>;\n    public getDetailByIdUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectParentBasedObject>>;\n    public getDetailByIdUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getDetailByIdUsingGET.');\n        }\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling getDetailByIdUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectParentBasedObject>(`${this.basePath}/v2/api/detail/${encodeURIComponent(String(tableEntity))}/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For Getting Table Name And Id.\n     * \n     * @param tableEntity tableEntity\n     * @param pageNumber pageNumber\n     * @param pageSize pageSize\n     * @param refresh refresh\n     * @param reqId request id\n     * @param request request\n     * @param sort sort\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDetailDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectEResponseobject>;\n    public getDetailDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectEResponseobject>>;\n    public getDetailDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectEResponseobject>>;\n    public getDetailDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling getDetailDictionaryUsingPOST.');\n        }\n\n\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (sort !== undefined && sort !== null) {\n            queryParameters = queryParameters.set('sort', <any>sort);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectEResponseobject>(`${this.basePath}/v2/api/detaildictionary/${encodeURIComponent(String(tableEntity))}`,\n            request,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For Getting Table Name And Id.\n     * \n     * @param tableEntity tableEntity\n     * @param pageNumber pageNumber\n     * @param pageSize pageSize\n     * @param refresh refresh\n     * @param reqId request id\n     * @param request request\n     * @param sort sort\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectDictionaryResponse>;\n    public getDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectDictionaryResponse>>;\n    public getDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectDictionaryResponse>>;\n    public getDictionaryUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', pageNumber?: number, pageSize?: number, refresh?: boolean, reqId?: string, request?: SearchRequest, sort?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling getDictionaryUsingPOST.');\n        }\n\n\n\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (sort !== undefined && sort !== null) {\n            queryParameters = queryParameters.set('sort', <any>sort);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectDictionaryResponse>(`${this.basePath}/v2/api/dictionary/${encodeURIComponent(String(tableEntity))}`,\n            request,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * getMenuCrumbs\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getMenuCrumbsUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListMenuCrubResponse>;\n    public getMenuCrumbsUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListMenuCrubResponse>>;\n    public getMenuCrumbsUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListMenuCrubResponse>>;\n    public getMenuCrumbsUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListMenuCrubResponse>(`${this.basePath}/v2/api/menucrumbs`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard API for performance metrics comparison over a given interval of time\n     * \n     * @param dashboardRequest dashboardRequest\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getWidgetDataPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectWidgetPerformanceMetrics>;\n    public getWidgetDataPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectWidgetPerformanceMetrics>>;\n    public getWidgetDataPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectWidgetPerformanceMetrics>>;\n    public getWidgetDataPerformanceUsingPOST(dashboardRequest: DashboardRequest, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dashboardRequest === null || dashboardRequest === undefined) {\n            throw new Error('Required parameter dashboardRequest was null or undefined when calling getWidgetDataPerformanceUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectWidgetPerformanceMetrics>(`${this.basePath}/v2/api/widget/comparison`,\n            dashboardRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For pricingType .\n     * \n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getpricingTypeUsingGET(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListBaseModel>;\n    public getpricingTypeUsingGET(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListBaseModel>>;\n    public getpricingTypeUsingGET(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListBaseModel>>;\n    public getpricingTypeUsingGET(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling getpricingTypeUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListBaseModel>(`${this.basePath}/v2/api/pricing/${encodeURIComponent(String(tableEntity))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * searchByName\n     * \n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param request request\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public searchByNameUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, request?: SearchRequest, search?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMenuCrubResponse>;\n    public searchByNameUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, request?: SearchRequest, search?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMenuCrubResponse>>;\n    public searchByNameUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, request?: SearchRequest, search?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMenuCrubResponse>>;\n    public searchByNameUsingPOST(tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, request?: SearchRequest, search?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling searchByNameUsingPOST.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (search !== undefined && search !== null) {\n            queryParameters = queryParameters.set('search', <any>search);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectMenuCrubResponse>(`${this.basePath}/v2/api/searchbyname/${encodeURIComponent(String(tableEntity))}`,\n            request,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * DashBoard Api For updating status of dashboard metrics\n     * \n     * @param id id\n     * @param status status\n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateStatusUsingPOST(id: string, status: boolean, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMapintResponseMessage>;\n    public updateStatusUsingPOST(id: string, status: boolean, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMapintResponseMessage>>;\n    public updateStatusUsingPOST(id: string, status: boolean, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMapintResponseMessage>>;\n    public updateStatusUsingPOST(id: string, status: boolean, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateStatusUsingPOST.');\n        }\n\n        if (status === null || status === undefined) {\n            throw new Error('Required parameter status was null or undefined when calling updateStatusUsingPOST.');\n        }\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling updateStatusUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMapintResponseMessage>(`${this.basePath}/v2/api/${encodeURIComponent(String(tableEntity))}/${encodeURIComponent(String(status))}`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ABTestingDTO } from '../model/aBTestingDTO';\nimport { ApiResponseObjectABTestingResponseDetails } from '../model/apiResponseObjectABTestingResponseDetails';\nimport { ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject } from '../model/apiResponseObjectIncrementalityTestCreateFormAudienceResponseObject';\nimport { ApiResponseObjectIncrementalityTestDetails } from '../model/apiResponseObjectIncrementalityTestDetails';\nimport { ApiResponseObjectIncrementalityTestReportCalculationDetails } from '../model/apiResponseObjectIncrementalityTestReportCalculationDetails';\nimport { ApiResponseObjectIncrementalityTestResponse } from '../model/apiResponseObjectIncrementalityTestResponse';\nimport { ApiResponseObjectListABTestingResponseDetails } from '../model/apiResponseObjectListABTestingResponseDetails';\nimport { ApiResponseObjectListDashboardResponse } from '../model/apiResponseObjectListDashboardResponse';\nimport { ApiResponseObjectListExperimentsEntity } from '../model/apiResponseObjectListExperimentsEntity';\nimport { ApiResponseObjectListIncrementalityTestDetails } from '../model/apiResponseObjectListIncrementalityTestDetails';\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { ApiResponseObjectStrategyAudienceIncTestMap } from '../model/apiResponseObjectStrategyAudienceIncTestMap';\nimport { ApiResponseObjectVoid } from '../model/apiResponseObjectVoid';\nimport { IncrementalityTestDTO } from '../model/incrementalityTestDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class ExperimentsControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     *  API to activate AB Test Experiment.\n     * \n     * @param expId expId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectVoid>;\n    public activateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectVoid>>;\n    public activateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectVoid>>;\n    public activateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (expId === null || expId === undefined) {\n            throw new Error('Required parameter expId was null or undefined when calling activateABTestUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (expId !== undefined && expId !== null) {\n            queryParameters = queryParameters.set('expId', <any>expId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectVoid>(`${this.basePath}/v2/api/experiments/abtest/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to Activate Lists of Incrementality Test Experiment Ids.\n     * \n     * @param experimentIds experimentIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public activateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public activateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public activateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentIds === null || experimentIds === undefined) {\n            throw new Error('Required parameter experimentIds was null or undefined when calling activateExperimentUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (experimentIds !== undefined && experimentIds !== null) {\n            queryParameters = queryParameters.set('experimentIds', <any>experimentIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/experiments/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to archive AB Test Experiment.\n     * \n     * @param expId expId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public archiveABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectVoid>;\n    public archiveABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectVoid>>;\n    public archiveABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectVoid>>;\n    public archiveABTestUsingPOST(expId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (expId === null || expId === undefined) {\n            throw new Error('Required parameter expId was null or undefined when calling archiveABTestUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (expId !== undefined && expId !== null) {\n            queryParameters = queryParameters.set('expId', <any>expId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectVoid>(`${this.basePath}/v2/api/experiments/abtest/archive`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to Archive Lists of Incrementality Test Experiment ids\n     * \n     * @param experimentIds experimentIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public archiveExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public archiveExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public archiveExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public archiveExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentIds === null || experimentIds === undefined) {\n            throw new Error('Required parameter experimentIds was null or undefined when calling archiveExperimentUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (experimentIds !== undefined && experimentIds !== null) {\n            queryParameters = queryParameters.set('experimentIds', <any>experimentIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/experiments/archive`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to  create AB Test Experiment.\n     * \n     * @param dto dto\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createABTestUsingPOST(dto: ABTestingDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestingResponseDetails>;\n    public createABTestUsingPOST(dto: ABTestingDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestingResponseDetails>>;\n    public createABTestUsingPOST(dto: ABTestingDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestingResponseDetails>>;\n    public createABTestUsingPOST(dto: ABTestingDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling createABTestUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectABTestingResponseDetails>(`${this.basePath}/v2/api/experiments/abtest/create`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to  create Incrementality Test Experiment.\n     * \n     * @param incrementalityTestRequest incrementalityTestRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createIncrementalityTestUsingPOST(incrementalityTestRequest: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestResponse>;\n    public createIncrementalityTestUsingPOST(incrementalityTestRequest: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestResponse>>;\n    public createIncrementalityTestUsingPOST(incrementalityTestRequest: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestResponse>>;\n    public createIncrementalityTestUsingPOST(incrementalityTestRequest: IncrementalityTestDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (incrementalityTestRequest === null || incrementalityTestRequest === undefined) {\n            throw new Error('Required parameter incrementalityTestRequest was null or undefined when calling createIncrementalityTestUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectIncrementalityTestResponse>(`${this.basePath}/v2/api/experiments/incrementalitytest/create`,\n            incrementalityTestRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to deactivate AB Test Experiment.\n     * \n     * @param expId expId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectVoid>;\n    public deactivateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectVoid>>;\n    public deactivateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectVoid>>;\n    public deactivateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (expId === null || expId === undefined) {\n            throw new Error('Required parameter expId was null or undefined when calling deactivateABTestUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (expId !== undefined && expId !== null) {\n            queryParameters = queryParameters.set('expId', <any>expId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectVoid>(`${this.basePath}/v2/api/experiments/abtest/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to Deactivate Lists of Incrementality Test Experiment Ids\n     * \n     * @param experimentIds experimentIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public deactivateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentIds === null || experimentIds === undefined) {\n            throw new Error('Required parameter experimentIds was null or undefined when calling deactivateExperimentUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (experimentIds !== undefined && experimentIds !== null) {\n            queryParameters = queryParameters.set('experimentIds', <any>experimentIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/experiments/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to get an existing AB Test Metadata by Experiment Id.\n     * \n     * @param experimentId experimentId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getABTestByIdUsingGET(experimentId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestingResponseDetails>;\n    public getABTestByIdUsingGET(experimentId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestingResponseDetails>>;\n    public getABTestByIdUsingGET(experimentId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestingResponseDetails>>;\n    public getABTestByIdUsingGET(experimentId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentId === null || experimentId === undefined) {\n            throw new Error('Required parameter experimentId was null or undefined when calling getABTestByIdUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectABTestingResponseDetails>(`${this.basePath}/v2/api/experiments/abtest/get/${encodeURIComponent(String(experimentId))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get all experiments of type ABTest.\n     * \n     * @param licenseeId licenseeId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllABTestsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListABTestingResponseDetails>;\n    public getAllABTestsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListABTestingResponseDetails>>;\n    public getAllABTestsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListABTestingResponseDetails>>;\n    public getAllABTestsUsingGET(licenseeId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (licenseeId === null || licenseeId === undefined) {\n            throw new Error('Required parameter licenseeId was null or undefined when calling getAllABTestsUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListABTestingResponseDetails>(`${this.basePath}/v2/api/experiments/abtest/all/get/${encodeURIComponent(String(licenseeId))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get all experiments by Licensee Id.\n     * \n     * @param licenseeId licenseeId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllExperimentsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListExperimentsEntity>;\n    public getAllExperimentsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListExperimentsEntity>>;\n    public getAllExperimentsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListExperimentsEntity>>;\n    public getAllExperimentsUsingGET(licenseeId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (licenseeId === null || licenseeId === undefined) {\n            throw new Error('Required parameter licenseeId was null or undefined when calling getAllExperimentsUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListExperimentsEntity>(`${this.basePath}/v2/api/experiments/all/get/${encodeURIComponent(String(licenseeId))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get all Incrementality Tests for a given Licensee Id.\n     * \n     * @param licenseeId licenseeId\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllReportsForIncrementalityTestUsingGET(licenseeId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListIncrementalityTestDetails>;\n    public getAllReportsForIncrementalityTestUsingGET(licenseeId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListIncrementalityTestDetails>>;\n    public getAllReportsForIncrementalityTestUsingGET(licenseeId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListIncrementalityTestDetails>>;\n    public getAllReportsForIncrementalityTestUsingGET(licenseeId: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (licenseeId === null || licenseeId === undefined) {\n            throw new Error('Required parameter licenseeId was null or undefined when calling getAllReportsForIncrementalityTestUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListIncrementalityTestDetails>(`${this.basePath}/v2/api/experiments/incrementalitytest/all/get/${encodeURIComponent(String(licenseeId))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get Globally Blocked and Targeted Audiences for an Experiment, given the Campaign Id.\n     * \n     * @param campaignId campaignId\n     * @param experimentId experimentId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAudienceForIncrementalityTestUsingGET(campaignId: number, experimentId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject>;\n    public getAudienceForIncrementalityTestUsingGET(campaignId: number, experimentId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject>>;\n    public getAudienceForIncrementalityTestUsingGET(campaignId: number, experimentId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject>>;\n    public getAudienceForIncrementalityTestUsingGET(campaignId: number, experimentId?: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (campaignId === null || campaignId === undefined) {\n            throw new Error('Required parameter campaignId was null or undefined when calling getAudienceForIncrementalityTestUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (experimentId !== undefined && experimentId !== null) {\n            queryParameters = queryParameters.set('experimentId', <any>experimentId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject>(`${this.basePath}/v2/api/experiments/incrementalitytest/audience/get/${encodeURIComponent(String(campaignId))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get all Audiences in Strategy Update/Create for an Experiment, given the Campaign Id.\n     * \n     * @param campaignId campaignId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAudienceForStrategyUpdateInIncrementalityTestUsingPOST(campaignId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyAudienceIncTestMap>;\n    public getAudienceForStrategyUpdateInIncrementalityTestUsingPOST(campaignId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyAudienceIncTestMap>>;\n    public getAudienceForStrategyUpdateInIncrementalityTestUsingPOST(campaignId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyAudienceIncTestMap>>;\n    public getAudienceForStrategyUpdateInIncrementalityTestUsingPOST(campaignId?: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (campaignId !== undefined && campaignId !== null) {\n            queryParameters = queryParameters.set('campaignId', <any>campaignId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectStrategyAudienceIncTestMap>(`${this.basePath}/v2/api/experiments/incrementalitytest/strategy/audience`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to get an existing Incrementality Test Metadata by Experiment Id.\n     * \n     * @param experimentId experimentId\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestDetails>;\n    public getIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestDetails>>;\n    public getIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestDetails>>;\n    public getIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentId === null || experimentId === undefined) {\n            throw new Error('Required parameter experimentId was null or undefined when calling getIncrementalityTestByIdUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectIncrementalityTestDetails>(`${this.basePath}/v2/api/experiments/incrementalitytest/get/${encodeURIComponent(String(experimentId))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to download an existing Incrementality Test Report CSV by Experiment Id.\n     * \n     * @param experimentId experimentId\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getIncrementalityTestReportCsvByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestDetails>;\n    public getIncrementalityTestReportCsvByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestDetails>>;\n    public getIncrementalityTestReportCsvByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestDetails>>;\n    public getIncrementalityTestReportCsvByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentId === null || experimentId === undefined) {\n            throw new Error('Required parameter experimentId was null or undefined when calling getIncrementalityTestReportCsvByIdUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectIncrementalityTestDetails>(`${this.basePath}/v2/api/experiments/incrementalitytest/report/csv/get/${encodeURIComponent(String(experimentId))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get Report for an Incrementality Test By Experiment Id\n     * \n     * @param experimentId experimentId\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getReportForIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestReportCalculationDetails>;\n    public getReportForIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestReportCalculationDetails>>;\n    public getReportForIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestReportCalculationDetails>>;\n    public getReportForIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentId === null || experimentId === undefined) {\n            throw new Error('Required parameter experimentId was null or undefined when calling getReportForIncrementalityTestByIdUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectIncrementalityTestReportCalculationDetails>(`${this.basePath}/v2/api/experiments/incrementalitytest/report/get/${encodeURIComponent(String(experimentId))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get AB Testing Variant Report by Experiment Id.\n     * \n     * @param experimentId experimentId\n     * @param showuu showuu\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getVariantReportByExperimentIdUsingPOST(experimentId: number, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListDashboardResponse>;\n    public getVariantReportByExperimentIdUsingPOST(experimentId: number, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListDashboardResponse>>;\n    public getVariantReportByExperimentIdUsingPOST(experimentId: number, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListDashboardResponse>>;\n    public getVariantReportByExperimentIdUsingPOST(experimentId: number, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentId === null || experimentId === undefined) {\n            throw new Error('Required parameter experimentId was null or undefined when calling getVariantReportByExperimentIdUsingPOST.');\n        }\n\n        if (showuu === null || showuu === undefined) {\n            throw new Error('Required parameter showuu was null or undefined when calling getVariantReportByExperimentIdUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (showuu !== undefined && showuu !== null) {\n            queryParameters = queryParameters.set('showuu', <any>showuu);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectListDashboardResponse>(`${this.basePath}/v2/api/experiments/abtest/report/get/${encodeURIComponent(String(experimentId))}`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to  update exisiting AB Test Experiment.\n     * \n     * @param dto dto\n     * @param experimentId experimentId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateABTestUsingPOST(dto: ABTestingDTO, experimentId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestingResponseDetails>;\n    public updateABTestUsingPOST(dto: ABTestingDTO, experimentId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestingResponseDetails>>;\n    public updateABTestUsingPOST(dto: ABTestingDTO, experimentId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestingResponseDetails>>;\n    public updateABTestUsingPOST(dto: ABTestingDTO, experimentId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling updateABTestUsingPOST.');\n        }\n\n        if (experimentId === null || experimentId === undefined) {\n            throw new Error('Required parameter experimentId was null or undefined when calling updateABTestUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectABTestingResponseDetails>(`${this.basePath}/v2/api/experiments/abtest/update/${encodeURIComponent(String(experimentId))}`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to update Incrementality Test Experiment by Experiment Id.\n     * \n     * @param experimentId experimentId\n     * @param incrementalityTestDTO incrementalityTestDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateIncrementalityTestUsingPOST(experimentId: number, incrementalityTestDTO: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestDetails>;\n    public updateIncrementalityTestUsingPOST(experimentId: number, incrementalityTestDTO: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestDetails>>;\n    public updateIncrementalityTestUsingPOST(experimentId: number, incrementalityTestDTO: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestDetails>>;\n    public updateIncrementalityTestUsingPOST(experimentId: number, incrementalityTestDTO: IncrementalityTestDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (experimentId === null || experimentId === undefined) {\n            throw new Error('Required parameter experimentId was null or undefined when calling updateIncrementalityTestUsingPOST.');\n        }\n\n        if (incrementalityTestDTO === null || incrementalityTestDTO === undefined) {\n            throw new Error('Required parameter incrementalityTestDTO was null or undefined when calling updateIncrementalityTestUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectIncrementalityTestDetails>(`${this.basePath}/v2/api/experiments/incrementalitytest/update/${encodeURIComponent(String(experimentId))}`,\n            incrementalityTestDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';\nimport { NotificationListResponseNotificationResponse } from '../model/notificationListResponseNotificationResponse';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class NotificationsControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     *  Api to Get Notifications for a user\n     * \n     * @param pageNumber pageNumber\n     * @param pageSize pageSize\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getNotificationUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<NotificationListResponseNotificationResponse>;\n    public getNotificationUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<NotificationListResponseNotificationResponse>>;\n    public getNotificationUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<NotificationListResponseNotificationResponse>>;\n    public getNotificationUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (pageNumber !== undefined && pageNumber !== null) {\n            queryParameters = queryParameters.set('pageNumber', <any>pageNumber);\n        }\n        if (pageSize !== undefined && pageSize !== null) {\n            queryParameters = queryParameters.set('pageSize', <any>pageSize);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<NotificationListResponseNotificationResponse>(`${this.basePath}/v2/api/notifications`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to mark all notifications seen\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public markAllSeenUsingPOST(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public markAllSeenUsingPOST(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public markAllSeenUsingPOST(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public markAllSeenUsingPOST(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/notifications/v2/api/notifications/seenAll`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to mark notifications seen\n     * \n     * @param commaSeparatedIds commaSeparatedIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public markSeenUsingPOST(commaSeparatedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public markSeenUsingPOST(commaSeparatedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public markSeenUsingPOST(commaSeparatedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public markSeenUsingPOST(commaSeparatedIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (commaSeparatedIds === null || commaSeparatedIds === undefined) {\n            throw new Error('Required parameter commaSeparatedIds was null or undefined when calling markSeenUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (commaSeparatedIds !== undefined && commaSeparatedIds !== null) {\n            queryParameters = queryParameters.set('commaSeparatedIds', <any>commaSeparatedIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/notifications/v2/api/notifications/seen/${encodeURIComponent(String(commaSeparatedIds))}`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to make notifications as read : STATIC - mark as seen, ACTIONABLE - mark as resolved\n     * \n     * @param duration duration\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readNotificationUsingPOST(duration: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public readNotificationUsingPOST(duration: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public readNotificationUsingPOST(duration: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public readNotificationUsingPOST(duration: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (duration === null || duration === undefined) {\n            throw new Error('Required parameter duration was null or undefined when calling readNotificationUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/notifications/markAllRead/${encodeURIComponent(String(duration))}`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  Api to resolve a notification\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public resolveNotificationUsingPOST(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public resolveNotificationUsingPOST(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public resolveNotificationUsingPOST(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public resolveNotificationUsingPOST(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling resolveNotificationUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/notifications/v2/api/notifications/resolve/${encodeURIComponent(String(id))}`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectApiListResponsePixel } from '../model/apiResponseObjectApiListResponsePixel';\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { ApiResponseObjectPixel } from '../model/apiResponseObjectPixel';\nimport { ApiResponseObjectTag } from '../model/apiResponseObjectTag';\nimport { Pixel } from '../model/pixel';\nimport { SearchRequest } from '../model/searchRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class PixelControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * activate Lists of pixel id\n     * \n     * @param commaSepratedIds commaSepratedIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public activateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public activateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public activateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (commaSepratedIds === null || commaSepratedIds === undefined) {\n            throw new Error('Required parameter commaSepratedIds was null or undefined when calling activateUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (commaSepratedIds !== undefined && commaSepratedIds !== null) {\n            queryParameters = queryParameters.set('commaSepratedIds', <any>commaSepratedIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/pixels/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * create pixel\n     * \n     * @param pixel pixel\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createUsingPOST1(pixel: Pixel, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectPixel>;\n    public createUsingPOST1(pixel: Pixel, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectPixel>>;\n    public createUsingPOST1(pixel: Pixel, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectPixel>>;\n    public createUsingPOST1(pixel: Pixel, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (pixel === null || pixel === undefined) {\n            throw new Error('Required parameter pixel was null or undefined when calling createUsingPOST1.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectPixel>(`${this.basePath}/v2/api/pixels`,\n            pixel,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * deactivate Lists of Pixel id\n     * \n     * @param commaSepratedIds commaSepratedIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public deactivateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (commaSepratedIds === null || commaSepratedIds === undefined) {\n            throw new Error('Required parameter commaSepratedIds was null or undefined when calling deactivateUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (commaSepratedIds !== undefined && commaSepratedIds !== null) {\n            queryParameters = queryParameters.set('commaSepratedIds', <any>commaSepratedIds);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/pixels/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get pixel by Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getByIdUsingGET5(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectPixel>;\n    public getByIdUsingGET5(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectPixel>>;\n    public getByIdUsingGET5(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectPixel>>;\n    public getByIdUsingGET5(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getByIdUsingGET5.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectPixel>(`${this.basePath}/v2/api/pixels/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get tracking code\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getTrackingCodeUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectTag>;\n    public getTrackingCodeUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectTag>>;\n    public getTrackingCodeUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectTag>>;\n    public getTrackingCodeUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getTrackingCodeUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectTag>(`${this.basePath}/v2/api/pixels/${encodeURIComponent(String(id))}/trackingcode`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * get/search pixels\n     * \n     * @param advertiser_id advertiser_id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param search search\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public searchPixelsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponsePixel>;\n    public searchPixelsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponsePixel>>;\n    public searchPixelsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponsePixel>>;\n    public searchPixelsUsingPOST(advertiser_id: number, refresh?: boolean, reqId?: string, search?: SearchRequest, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (advertiser_id === null || advertiser_id === undefined) {\n            throw new Error('Required parameter advertiser_id was null or undefined when calling searchPixelsUsingPOST.');\n        }\n\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (advertiser_id !== undefined && advertiser_id !== null) {\n            queryParameters = queryParameters.set('advertiser_id', <any>advertiser_id);\n        }\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectApiListResponsePixel>(`${this.basePath}/v2/api/pixels/search`,\n            search,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * update  Pixel\n     * \n     * @param id id\n     * @param pixel pixel\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateUsingPOST1(id: number, pixel: Pixel, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectPixel>;\n    public updateUsingPOST1(id: number, pixel: Pixel, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectPixel>>;\n    public updateUsingPOST1(id: number, pixel: Pixel, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectPixel>>;\n    public updateUsingPOST1(id: number, pixel: Pixel, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateUsingPOST1.');\n        }\n\n        if (pixel === null || pixel === undefined) {\n            throw new Error('Required parameter pixel was null or undefined when calling updateUsingPOST1.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id !== undefined && id !== null) {\n            queryParameters = queryParameters.set('id', <any>id);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectPixel>(`${this.basePath}/v2/api/pixels/${encodeURIComponent(String(id))}`,\n            pixel,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectReportResponse } from '../model/apiResponseObjectReportResponse';\nimport { ReportRequest } from '../model/reportRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class ReportControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * API to export report data as csv based on entity.\n     * \n     * @param entity entity\n     * @param reportRequest reportRequest\n     * @param options options\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public exportReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectReportResponse>;\n    public exportReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectReportResponse>>;\n    public exportReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectReportResponse>>;\n    public exportReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling exportReportUsingPOST.');\n        }\n\n        if (reportRequest === null || reportRequest === undefined) {\n            throw new Error('Required parameter reportRequest was null or undefined when calling exportReportUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (options !== undefined && options !== null) {\n            queryParameters = queryParameters.set('options', <any>options);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectReportResponse>(`${this.basePath}/v3/api/report/${encodeURIComponent(String(entity))}/export`,\n            reportRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to fetch report data based on entity.\n     * \n     * @param entity entity\n     * @param reportRequest reportRequest\n     * @param options options\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectReportResponse>;\n    public getReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectReportResponse>>;\n    public getReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectReportResponse>>;\n    public getReportUsingPOST(entity: string, reportRequest: ReportRequest, options?: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getReportUsingPOST.');\n        }\n\n        if (reportRequest === null || reportRequest === undefined) {\n            throw new Error('Required parameter reportRequest was null or undefined when calling getReportUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (options !== undefined && options !== null) {\n            queryParameters = queryParameters.set('options', <any>options);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectReportResponse>(`${this.basePath}/v3/api/report/${encodeURIComponent(String(entity))}`,\n            reportRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectReportingResponse } from '../model/apiResponseObjectReportingResponse';\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\nimport { ReportingRequest } from '../model/reportingRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class ReportingControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * API to export report data as csv based on entity.\n     * \n     * @param entity entity\n     * @param reportingRequest reportingRequest\n     * @param options options\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public customReportCSVUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectReportingResponse>;\n    public customReportCSVUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectReportingResponse>>;\n    public customReportCSVUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectReportingResponse>>;\n    public customReportCSVUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling customReportCSVUsingPOST.');\n        }\n\n        if (reportingRequest === null || reportingRequest === undefined) {\n            throw new Error('Required parameter reportingRequest was null or undefined when calling customReportCSVUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (options !== undefined && options !== null) {\n            queryParameters = queryParameters.set('options', <any>options);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectReportingResponse>(`${this.basePath}/v2/api/performance/${encodeURIComponent(String(entity))}.csv`,\n            reportingRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to fetch report data based on entity.\n     * \n     * @param entity entity\n     * @param reportingRequest reportingRequest\n     * @param options options\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public customReportUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectReportingResponse>;\n    public customReportUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectReportingResponse>>;\n    public customReportUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectReportingResponse>>;\n    public customReportUsingPOST(entity: string, reportingRequest: ReportingRequest, options?: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling customReportUsingPOST.');\n        }\n\n        if (reportingRequest === null || reportingRequest === undefined) {\n            throw new Error('Required parameter reportingRequest was null or undefined when calling customReportUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (options !== undefined && options !== null) {\n            queryParameters = queryParameters.set('options', <any>options);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectReportingResponse>(`${this.basePath}/v2/api/performance/${encodeURIComponent(String(entity))}`,\n            reportingRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to fetch configuration for rendering video reports on UI.\n     * \n     * @param entity entity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public reportConfigUsingGET(entity: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public reportConfigUsingGET(entity: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public reportConfigUsingGET(entity: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public reportConfigUsingGET(entity: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling reportConfigUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (entity !== undefined && entity !== null) {\n            queryParameters = queryParameters.set('entity', <any>entity);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/performance/config`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiListResponseBaseModel } from '../model/apiListResponseBaseModel';\nimport { ApiListResponseReportingSchedulerResponse } from '../model/apiListResponseReportingSchedulerResponse';\nimport { ApiListResponseReportingSchedulerUserResponse } from '../model/apiListResponseReportingSchedulerUserResponse';\nimport { ApiResponseObjectReportingSchedulerResponse } from '../model/apiResponseObjectReportingSchedulerResponse';\nimport { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';\nimport { ReportingSchedulerRequest } from '../model/reportingSchedulerRequest';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class ReportingSchedulerControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * create scheduled report\n     * \n     * @param reportingSchedulerRequest reportingSchedulerRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createScheduledReportUsingPOST(reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public createScheduledReportUsingPOST(reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public createScheduledReportUsingPOST(reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public createScheduledReportUsingPOST(reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (reportingSchedulerRequest === null || reportingSchedulerRequest === undefined) {\n            throw new Error('Required parameter reportingSchedulerRequest was null or undefined when calling createScheduledReportUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/report/schedule/create`,\n            reportingSchedulerRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * fetch all scheduler jobs\n     * \n     * @param refresh refresh\n     * @param reportType reportType\n     * @param reqId request id\n     * @param status status\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllSchedulerJobsUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseReportingSchedulerResponse>;\n    public getAllSchedulerJobsUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseReportingSchedulerResponse>>;\n    public getAllSchedulerJobsUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseReportingSchedulerResponse>>;\n    public getAllSchedulerJobsUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (refresh === null || refresh === undefined) {\n            throw new Error('Required parameter refresh was null or undefined when calling getAllSchedulerJobsUsingGET.');\n        }\n\n        if (reportType === null || reportType === undefined) {\n            throw new Error('Required parameter reportType was null or undefined when calling getAllSchedulerJobsUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (reportType !== undefined && reportType !== null) {\n            queryParameters = queryParameters.set('reportType', <any>reportType);\n        }\n        if (status !== undefined && status !== null) {\n            queryParameters = queryParameters.set('status', <any>status);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseReportingSchedulerResponse>(`${this.basePath}/v2/api/report/schedule/all`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * fetch all templates\n     * \n     * @param refresh refresh\n     * @param reportType reportType\n     * @param reqId request id\n     * @param status status\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllTemplatesUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseBaseModel>;\n    public getAllTemplatesUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseBaseModel>>;\n    public getAllTemplatesUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseBaseModel>>;\n    public getAllTemplatesUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (refresh === null || refresh === undefined) {\n            throw new Error('Required parameter refresh was null or undefined when calling getAllTemplatesUsingGET.');\n        }\n\n        if (reportType === null || reportType === undefined) {\n            throw new Error('Required parameter reportType was null or undefined when calling getAllTemplatesUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n        if (reportType !== undefined && reportType !== null) {\n            queryParameters = queryParameters.set('reportType', <any>reportType);\n        }\n        if (status !== undefined && status !== null) {\n            queryParameters = queryParameters.set('status', <any>status);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseBaseModel>(`${this.basePath}/v2/api/report/schedule/all/templates`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * fetch all users\n     * \n     * @param isCostMetricsSelected isCostMetricsSelected\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllUsersUsingGET(isCostMetricsSelected: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseReportingSchedulerUserResponse>;\n    public getAllUsersUsingGET(isCostMetricsSelected: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseReportingSchedulerUserResponse>>;\n    public getAllUsersUsingGET(isCostMetricsSelected: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseReportingSchedulerUserResponse>>;\n    public getAllUsersUsingGET(isCostMetricsSelected: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (isCostMetricsSelected === null || isCostMetricsSelected === undefined) {\n            throw new Error('Required parameter isCostMetricsSelected was null or undefined when calling getAllUsersUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (isCostMetricsSelected !== undefined && isCostMetricsSelected !== null) {\n            queryParameters = queryParameters.set('isCostMetricsSelected', <any>isCostMetricsSelected);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseReportingSchedulerUserResponse>(`${this.basePath}/v2/api/report/schedule/users`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * fetch specific report template\n     * \n     * @param id id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getReportTemplateUsingGET(id: number, refresh: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectReportingSchedulerResponse>;\n    public getReportTemplateUsingGET(id: number, refresh: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectReportingSchedulerResponse>>;\n    public getReportTemplateUsingGET(id: number, refresh: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectReportingSchedulerResponse>>;\n    public getReportTemplateUsingGET(id: number, refresh: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getReportTemplateUsingGET.');\n        }\n\n        if (refresh === null || refresh === undefined) {\n            throw new Error('Required parameter refresh was null or undefined when calling getReportTemplateUsingGET.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectReportingSchedulerResponse>(`${this.basePath}/v2/api/report/schedule/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * update status of scheduled report\n     * \n     * @param ids ids\n     * @param status status\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public statusScheduledReportUsingPOST(ids: string, status: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public statusScheduledReportUsingPOST(ids: string, status: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public statusScheduledReportUsingPOST(ids: string, status: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public statusScheduledReportUsingPOST(ids: string, status: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (ids === null || ids === undefined) {\n            throw new Error('Required parameter ids was null or undefined when calling statusScheduledReportUsingPOST.');\n        }\n\n        if (status === null || status === undefined) {\n            throw new Error('Required parameter status was null or undefined when calling statusScheduledReportUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (ids !== undefined && ids !== null) {\n            queryParameters = queryParameters.set('ids', <any>ids);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/report/schedule/${encodeURIComponent(String(status))}`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * update scheduled report\n     * \n     * @param id id\n     * @param reportingSchedulerRequest reportingSchedulerRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateScheduledReportUsingPOST(id: number, reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public updateScheduledReportUsingPOST(id: number, reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public updateScheduledReportUsingPOST(id: number, reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public updateScheduledReportUsingPOST(id: number, reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateScheduledReportUsingPOST.');\n        }\n\n        if (reportingSchedulerRequest === null || reportingSchedulerRequest === undefined) {\n            throw new Error('Required parameter reportingSchedulerRequest was null or undefined when calling updateScheduledReportUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/report/schedule/update/${encodeURIComponent(String(id))}`,\n            reportingSchedulerRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectSlicexChartResponse } from '../model/apiResponseObjectSlicexChartResponse';\nimport { ApiResponseObjectSlicexListResponse } from '../model/apiResponseObjectSlicexListResponse';\nimport { FileDownloadResponse } from '../model/fileDownloadResponse';\nimport { SlicexRequest } from '../model/slicexRequest';\nimport { SlicexRequestExtended } from '../model/slicexRequestExtended';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class SliceXControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Slicex API for graph.\n     * \n     * @param slicexRequest slicexRequest\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSlicexDataChartUsingPOST(slicexRequest: SlicexRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectSlicexChartResponse>;\n    public getSlicexDataChartUsingPOST(slicexRequest: SlicexRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectSlicexChartResponse>>;\n    public getSlicexDataChartUsingPOST(slicexRequest: SlicexRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectSlicexChartResponse>>;\n    public getSlicexDataChartUsingPOST(slicexRequest: SlicexRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (slicexRequest === null || slicexRequest === undefined) {\n            throw new Error('Required parameter slicexRequest was null or undefined when calling getSlicexDataChartUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectSlicexChartResponse>(`${this.basePath}/v2/api/slicex/chart`,\n            slicexRequest,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Slicex API for grid.\n     * \n     * @param entity entity\n     * @param slicexRequest slicexRequest\n     * @param reqId request id\n     * @param sort sort\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSlicexDataListUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectSlicexListResponse>;\n    public getSlicexDataListUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectSlicexListResponse>>;\n    public getSlicexDataListUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectSlicexListResponse>>;\n    public getSlicexDataListUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getSlicexDataListUsingPOST.');\n        }\n\n        if (slicexRequest === null || slicexRequest === undefined) {\n            throw new Error('Required parameter slicexRequest was null or undefined when calling getSlicexDataListUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (sort !== undefined && sort !== null) {\n            queryParameters = queryParameters.set('sort', <any>sort);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectSlicexListResponse>(`${this.basePath}/v2/api/slicex/list/${encodeURIComponent(String(entity))}`,\n            slicexRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Slicex API for grid with compare.\n     * \n     * @param entity entity\n     * @param slicexRequest slicexRequest\n     * @param reqId request id\n     * @param sort sort\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSlicexDataListWithCompareUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectSlicexListResponse>;\n    public getSlicexDataListWithCompareUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectSlicexListResponse>>;\n    public getSlicexDataListWithCompareUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectSlicexListResponse>>;\n    public getSlicexDataListWithCompareUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getSlicexDataListWithCompareUsingPOST.');\n        }\n\n        if (slicexRequest === null || slicexRequest === undefined) {\n            throw new Error('Required parameter slicexRequest was null or undefined when calling getSlicexDataListWithCompareUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (sort !== undefined && sort !== null) {\n            queryParameters = queryParameters.set('sort', <any>sort);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectSlicexListResponse>(`${this.basePath}/v2/api/slicex/list/compare/${encodeURIComponent(String(entity))}`,\n            slicexRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Slicex API for grid details.\n     * \n     * @param entity entity\n     * @param slicexRequestExt slicexRequestExt\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSlicexGridDetailsUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequestExt: SlicexRequestExtended, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectSlicexListResponse>;\n    public getSlicexGridDetailsUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequestExt: SlicexRequestExtended, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectSlicexListResponse>>;\n    public getSlicexGridDetailsUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequestExt: SlicexRequestExtended, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectSlicexListResponse>>;\n    public getSlicexGridDetailsUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequestExt: SlicexRequestExtended, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getSlicexGridDetailsUsingPOST.');\n        }\n\n        if (slicexRequestExt === null || slicexRequestExt === undefined) {\n            throw new Error('Required parameter slicexRequestExt was null or undefined when calling getSlicexGridDetailsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectSlicexListResponse>(`${this.basePath}/v2/api/slicex/list/details/${encodeURIComponent(String(entity))}`,\n            slicexRequestExt,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Slicex API for List Export.\n     * \n     * @param entity entity\n     * @param slicexRequest slicexRequest\n     * @param reqId request id\n     * @param sort sort\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSlicexListDataForExportUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<FileDownloadResponse>;\n    public getSlicexListDataForExportUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<FileDownloadResponse>>;\n    public getSlicexListDataForExportUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<FileDownloadResponse>>;\n    public getSlicexListDataForExportUsingPOST(entity: 'licensee' | 'advertiser' | 'campaign' | 'strategy' | 'creativeSize' | 'aggregator' | 'app' | 'os' | 'creative' | 'country' | 'city' | 'pricing' | 'pixel' | 'campaignObjective' | 'advregions' | 'creativeSets' | 'creativeSetsType' | 'videoPlacement' | 'sourceType' | 'deal', slicexRequest: SlicexRequest, reqId?: string, sort?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling getSlicexListDataForExportUsingPOST.');\n        }\n\n        if (slicexRequest === null || slicexRequest === undefined) {\n            throw new Error('Required parameter slicexRequest was null or undefined when calling getSlicexListDataForExportUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (sort !== undefined && sort !== null) {\n            queryParameters = queryParameters.set('sort', <any>sort);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<FileDownloadResponse>(`${this.basePath}/v2/api/slicex/list/csv/${encodeURIComponent(String(entity))}`,\n            slicexRequest,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ABTestDTO } from '../model/aBTestDTO';\nimport { ApiListResponseABTestDTO } from '../model/apiListResponseABTestDTO';\nimport { ApiListResponseBaseModel } from '../model/apiListResponseBaseModel';\nimport { ApiListResponseStrategyRuleResponse } from '../model/apiListResponseStrategyRuleResponse';\nimport { ApiResponseObjectABTestDTO } from '../model/apiResponseObjectABTestDTO';\nimport { ApiResponseObjectGeoListDTO } from '../model/apiResponseObjectGeoListDTO';\nimport { ApiResponseObjectListStrategy } from '../model/apiResponseObjectListStrategy';\nimport { ApiResponseObjectListStrategyCreativeSetsCloneDataResponse } from '../model/apiResponseObjectListStrategyCreativeSetsCloneDataResponse';\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { ApiResponseObjectOptimizationRuleResponse } from '../model/apiResponseObjectOptimizationRuleResponse';\nimport { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';\nimport { ApiResponseObjectSiteListDTO } from '../model/apiResponseObjectSiteListDTO';\nimport { ApiResponseObjectStrategyCreativeAssociationResponseDTO } from '../model/apiResponseObjectStrategyCreativeAssociationResponseDTO';\nimport { ApiResponseObjectStrategyDTO } from '../model/apiResponseObjectStrategyDTO';\nimport { ApiResponseObjectStrategyOptRecommendationResponse } from '../model/apiResponseObjectStrategyOptRecommendationResponse';\nimport { ApiResponseObjectStrategyOptimizationDataResponse } from '../model/apiResponseObjectStrategyOptimizationDataResponse';\nimport { ApiResponseObjectStrategyQuickEditDTO } from '../model/apiResponseObjectStrategyQuickEditDTO';\nimport { ApiResponseObjectStrategyRuleResponse } from '../model/apiResponseObjectStrategyRuleResponse';\nimport { ApiResponseObjectboolean } from '../model/apiResponseObjectboolean';\nimport { ApiResponseObjectlong } from '../model/apiResponseObjectlong';\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\nimport { BudgetCapStrategyDTO } from '../model/budgetCapStrategyDTO';\nimport { DuplicateCampaignStrategyRequestDTO } from '../model/duplicateCampaignStrategyRequestDTO';\nimport { GeoListRequest } from '../model/geoListRequest';\nimport { OptimizationRuleAuditLogDTOList } from '../model/optimizationRuleAuditLogDTOList';\nimport { OptimizationRuleDTO } from '../model/optimizationRuleDTO';\nimport { SiteListRequest } from '../model/siteListRequest';\nimport { StrategyCreativeAssociationRequestDTO } from '../model/strategyCreativeAssociationRequestDTO';\nimport { StrategyDTO } from '../model/strategyDTO';\nimport { StrategyInlineDTO } from '../model/strategyInlineDTO';\nimport { StrategyOptBlockTargetingReq } from '../model/strategyOptBlockTargetingReq';\nimport { StrategyQuickEditDTO } from '../model/strategyQuickEditDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class StrategyControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Api to activate Lists of Strategy id\n     * \n     * @param ids ids\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public activateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public activateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public activateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public activateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (ids === null || ids === undefined) {\n            throw new Error('Required parameter ids was null or undefined when calling activateStrategyUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (ids !== undefined && ids !== null) {\n            queryParameters = queryParameters.set('ids', <any>ids);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/strategies/activate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to associate strategy to creative \n     * \n     * @param request request\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public associateCreativesWithStrategiesUsingPOST(request: StrategyCreativeAssociationRequestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyCreativeAssociationResponseDTO>;\n    public associateCreativesWithStrategiesUsingPOST(request: StrategyCreativeAssociationRequestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyCreativeAssociationResponseDTO>>;\n    public associateCreativesWithStrategiesUsingPOST(request: StrategyCreativeAssociationRequestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyCreativeAssociationResponseDTO>>;\n    public associateCreativesWithStrategiesUsingPOST(request: StrategyCreativeAssociationRequestDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (request === null || request === undefined) {\n            throw new Error('Required parameter request was null or undefined when calling associateCreativesWithStrategiesUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectStrategyCreativeAssociationResponseDTO>(`${this.basePath}/v2/api/strategies/associatecreativesstrategies`,\n            request,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to create AB Test experiment\n     * \n     * @param abTestDTO abTestDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createABTestExperimentUsingPOST(abTestDTO: ABTestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestDTO>;\n    public createABTestExperimentUsingPOST(abTestDTO: ABTestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestDTO>>;\n    public createABTestExperimentUsingPOST(abTestDTO: ABTestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestDTO>>;\n    public createABTestExperimentUsingPOST(abTestDTO: ABTestDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (abTestDTO === null || abTestDTO === undefined) {\n            throw new Error('Required parameter abTestDTO was null or undefined when calling createABTestExperimentUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectABTestDTO>(`${this.basePath}/v2/api/strategies/abtest/create`,\n            abTestDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to do create strategy optimization rule\n     * \n     * @param id id\n     * @param req req\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectOptimizationRuleResponse>;\n    public createStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectOptimizationRuleResponse>>;\n    public createStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectOptimizationRuleResponse>>;\n    public createStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling createStrategyOptimizationRuleUsingPOST.');\n        }\n\n        if (req === null || req === undefined) {\n            throw new Error('Required parameter req was null or undefined when calling createStrategyOptimizationRuleUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectOptimizationRuleResponse>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/orule`,\n            req,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to create Strategy\n     * \n     * @param strategy strategy\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createStrategyUsingPOST(strategy: StrategyDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyDTO>;\n    public createStrategyUsingPOST(strategy: StrategyDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyDTO>>;\n    public createStrategyUsingPOST(strategy: StrategyDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyDTO>>;\n    public createStrategyUsingPOST(strategy: StrategyDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (strategy === null || strategy === undefined) {\n            throw new Error('Required parameter strategy was null or undefined when calling createStrategyUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectStrategyDTO>(`${this.basePath}/v2/api/strategies`,\n            strategy,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to deactivate rule\n     * \n     * @param ruleId ruleId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectOptimizationRuleResponse>;\n    public deactivateRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectOptimizationRuleResponse>>;\n    public deactivateRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectOptimizationRuleResponse>>;\n    public deactivateRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (ruleId === null || ruleId === undefined) {\n            throw new Error('Required parameter ruleId was null or undefined when calling deactivateRuleUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectOptimizationRuleResponse>(`${this.basePath}/v2/api/strategies/orule/${encodeURIComponent(String(ruleId))}/deactivate`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to deactivate Lists of Strategy ids\n     * \n     * @param ids ids\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deactivateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public deactivateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public deactivateStrategyUsingPOST(ids: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (ids === null || ids === undefined) {\n            throw new Error('Required parameter ids was null or undefined when calling deactivateStrategyUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (ids !== undefined && ids !== null) {\n            queryParameters = queryParameters.set('ids', <any>ids);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/strategies/deactivate`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to disassociate strategy to creative set \n     * \n     * @param creativeSetIdsToBeRemoved creativeSetIdsToBeRemoved\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public disassociateStrategyWithCreativeSetsUsingPOST(creativeSetIdsToBeRemoved: Array<number>, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectlong>;\n    public disassociateStrategyWithCreativeSetsUsingPOST(creativeSetIdsToBeRemoved: Array<number>, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectlong>>;\n    public disassociateStrategyWithCreativeSetsUsingPOST(creativeSetIdsToBeRemoved: Array<number>, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectlong>>;\n    public disassociateStrategyWithCreativeSetsUsingPOST(creativeSetIdsToBeRemoved: Array<number>, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (creativeSetIdsToBeRemoved === null || creativeSetIdsToBeRemoved === undefined) {\n            throw new Error('Required parameter creativeSetIdsToBeRemoved was null or undefined when calling disassociateStrategyWithCreativeSetsUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling disassociateStrategyWithCreativeSetsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectlong>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/disassociate/creativesets`,\n            creativeSetIdsToBeRemoved,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to Create duplicate Strategy\n     * \n     * @param dto dto\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public duplicateStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyDTO>;\n    public duplicateStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyDTO>>;\n    public duplicateStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyDTO>>;\n    public duplicateStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling duplicateStrategyUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectStrategyDTO>(`${this.basePath}/v2/api/strategies/duplicate`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to fetch all rules for a strategy\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fetchAllRulesUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseStrategyRuleResponse>;\n    public fetchAllRulesUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseStrategyRuleResponse>>;\n    public fetchAllRulesUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseStrategyRuleResponse>>;\n    public fetchAllRulesUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling fetchAllRulesUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseStrategyRuleResponse>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/orule/all`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to fetch rule By id\n     * \n     * @param ruleId ruleId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fetchRuleByIdUsingGET(ruleId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyRuleResponse>;\n    public fetchRuleByIdUsingGET(ruleId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyRuleResponse>>;\n    public fetchRuleByIdUsingGET(ruleId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyRuleResponse>>;\n    public fetchRuleByIdUsingGET(ruleId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (ruleId === null || ruleId === undefined) {\n            throw new Error('Required parameter ruleId was null or undefined when calling fetchRuleByIdUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectStrategyRuleResponse>(`${this.basePath}/v2/api/strategies/orule/${encodeURIComponent(String(ruleId))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to fetch strategy optimization audit logs\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fetchRuleLogsUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<{ [key: string]: OptimizationRuleAuditLogDTOList; }>;\n    public fetchRuleLogsUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<{ [key: string]: OptimizationRuleAuditLogDTOList; }>>;\n    public fetchRuleLogsUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<{ [key: string]: OptimizationRuleAuditLogDTOList; }>>;\n    public fetchRuleLogsUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling fetchRuleLogsUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<{ [key: string]: OptimizationRuleAuditLogDTOList; }>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/orule/logs`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Startegy Optimization data by Id\n     * \n     * @param id id\n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fetchStrategyTargetingUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyOptimizationDataResponse>;\n    public fetchStrategyTargetingUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyOptimizationDataResponse>>;\n    public fetchStrategyTargetingUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyOptimizationDataResponse>>;\n    public fetchStrategyTargetingUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling fetchStrategyTargetingUsingGET.');\n        }\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling fetchStrategyTargetingUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectStrategyOptimizationDataResponse>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/fetch/${encodeURIComponent(String(tableEntity))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get an AB Test experiment details\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getABTestExperimentUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestDTO>;\n    public getABTestExperimentUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestDTO>>;\n    public getABTestExperimentUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestDTO>>;\n    public getABTestExperimentUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getABTestExperimentUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectABTestDTO>(`${this.basePath}/v2/api/strategies/abtest/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to don&#39;t block apps\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getNeverBlockAppsUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseBaseModel>;\n    public getNeverBlockAppsUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseBaseModel>>;\n    public getNeverBlockAppsUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseBaseModel>>;\n    public getNeverBlockAppsUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getNeverBlockAppsUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseBaseModel>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/appsneverBlock`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to fetch settings for a SKAD Strategy\n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getSkadSettingsUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public getSkadSettingsUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public getSkadSettingsUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public getSkadSettingsUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/strategies/skadsettings`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to get all Strategies and Creative Sets associated to these strategies, by Campaign Id\n     * \n     * @param campaignId campaignId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getStrategiesCreativeSetsByCampaignIdUsingGET(campaignId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListStrategyCreativeSetsCloneDataResponse>;\n    public getStrategiesCreativeSetsByCampaignIdUsingGET(campaignId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListStrategyCreativeSetsCloneDataResponse>>;\n    public getStrategiesCreativeSetsByCampaignIdUsingGET(campaignId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListStrategyCreativeSetsCloneDataResponse>>;\n    public getStrategiesCreativeSetsByCampaignIdUsingGET(campaignId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (campaignId === null || campaignId === undefined) {\n            throw new Error('Required parameter campaignId was null or undefined when calling getStrategiesCreativeSetsByCampaignIdUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListStrategyCreativeSetsCloneDataResponse>(`${this.basePath}/v2/api/strategies/get/${encodeURIComponent(String(campaignId))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Startegy by Id\n     * \n     * @param id id\n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getStrategyByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyDTO>;\n    public getStrategyByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyDTO>>;\n    public getStrategyByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyDTO>>;\n    public getStrategyByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getStrategyByIdUsingGET.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectStrategyDTO>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Startegy Quick Edit Details by Id\n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getStrategyQuickEditDetailsUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyQuickEditDTO>;\n    public getStrategyQuickEditDetailsUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyQuickEditDTO>>;\n    public getStrategyQuickEditDetailsUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyQuickEditDTO>>;\n    public getStrategyQuickEditDetailsUsingGET(id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getStrategyQuickEditDetailsUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectStrategyQuickEditDTO>(`${this.basePath}/v2/api/strategies/quickEdit/${encodeURIComponent(String(id))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get Startegy Optimization data by Id\n     * \n     * @param id id\n     * @param tableEntity tableEntity\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getStrategyTargetingRecommendationUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyOptRecommendationResponse>;\n    public getStrategyTargetingRecommendationUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyOptRecommendationResponse>>;\n    public getStrategyTargetingRecommendationUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyOptRecommendationResponse>>;\n    public getStrategyTargetingRecommendationUsingGET(id: number, tableEntity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling getStrategyTargetingRecommendationUsingGET.');\n        }\n\n        if (tableEntity === null || tableEntity === undefined) {\n            throw new Error('Required parameter tableEntity was null or undefined when calling getStrategyTargetingRecommendationUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectStrategyOptRecommendationResponse>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/recommendation/${encodeURIComponent(String(tableEntity))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api for strategy in-line edit\n     * \n     * @param id id\n     * @param strategyInlineDTO strategyInlineDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public inlineEditStrategyUsingPOST(id: number, strategyInlineDTO: StrategyInlineDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyDTO>;\n    public inlineEditStrategyUsingPOST(id: number, strategyInlineDTO: StrategyInlineDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyDTO>>;\n    public inlineEditStrategyUsingPOST(id: number, strategyInlineDTO: StrategyInlineDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyDTO>>;\n    public inlineEditStrategyUsingPOST(id: number, strategyInlineDTO: StrategyInlineDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling inlineEditStrategyUsingPOST.');\n        }\n\n        if (strategyInlineDTO === null || strategyInlineDTO === undefined) {\n            throw new Error('Required parameter strategyInlineDTO was null or undefined when calling inlineEditStrategyUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectStrategyDTO>(`${this.basePath}/v2/api/strategies/inlineEdit/${encodeURIComponent(String(id))}`,\n            strategyInlineDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to list AB Test experiment under the specified entity\n     * \n     * @param entity entity\n     * @param entityId entityId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public listABTestExperimentUsingGET(entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', entityId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseABTestDTO>;\n    public listABTestExperimentUsingGET(entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', entityId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseABTestDTO>>;\n    public listABTestExperimentUsingGET(entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', entityId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseABTestDTO>>;\n    public listABTestExperimentUsingGET(entity: 'LICENSEE' | 'ADVERTISER' | 'CAMPAIGN' | 'STRATEGY' | 'CREATIVE' | 'AGGREGATOR' | 'AUDIENCE' | 'APP_AUDIENCE' | 'WEB_AUDIENCE' | 'LOOKALIKE_AUDIENCE' | 'DMP_AUDIENCE' | 'PIXEL' | 'SITE' | 'COUNTRY' | 'STATE' | 'CITY' | 'OS' | 'PRICING' | 'CURRENCY' | 'LANGUAGE' | 'TIMEZONE' | 'CATEGORY' | 'MMP' | 'CDTYPE' | 'CDSUBTYPE' | 'DEVICE' | 'DELIVERY_PRIORITY' | 'PACING_TYPE' | 'OS_VERSION' | 'DEVICE_MODEL' | 'DEVICE_BRAND' | 'SOURCE_TYPE' | 'PLATFORM' | 'APP_CATEGORY' | 'BROWSER' | 'CALL_TO_ACTION' | 'CREATIVE_SIZE' | 'DEAL_CATEGORY' | 'ADVERTISER_REGION' | 'CLICK_DESTINATION' | 'ADVERTISER_LOGO' | 'LOSS_REASON_CODES' | 'CREATIVE_SET' | 'USER_FREQUENCY_BUCKET_MAPPING' | 'CREATIVE_SET_TYPE' | 'AUDIENCE_UU_COUNT' | 'STRATEGY_TEMPLATE' | 'FEED_PRODUCT_CATEGORY' | 'STRATEGY_CREATIVE_MAPPING' | 'MMP_EVENT_NAME' | 'CONTENT_GENRE' | 'CONTENT_LANGUAGE' | 'AD_POD' | 'AD_BREAK' | 'INCREMENTALITY_TEST' | 'DEAL' | 'WEATHER' | 'ADO_KKTU' | 'CLICK_SIGNING', entityId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (entity === null || entity === undefined) {\n            throw new Error('Required parameter entity was null or undefined when calling listABTestExperimentUsingGET.');\n        }\n\n        if (entityId === null || entityId === undefined) {\n            throw new Error('Required parameter entityId was null or undefined when calling listABTestExperimentUsingGET.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseABTestDTO>(`${this.basePath}/v2/api/strategies/abtest/list/${encodeURIComponent(String(entity))}/${encodeURIComponent(String(entityId))}`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to don&#39;t block apps\n     * \n     * @param id id\n     * @param appIds appIds\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public neverBlockAppsUsingPOST(id: number, appIds?: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseBaseModel>;\n    public neverBlockAppsUsingPOST(id: number, appIds?: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseBaseModel>>;\n    public neverBlockAppsUsingPOST(id: number, appIds?: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseBaseModel>>;\n    public neverBlockAppsUsingPOST(id: number, appIds?: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling neverBlockAppsUsingPOST.');\n        }\n\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiListResponseBaseModel>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/appsneverBlock`,\n            appIds,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to do run strategy optimization rule\n     * \n     * @param ruleId ruleId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public runStrategyOptimizationRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseBaseModel>;\n    public runStrategyOptimizationRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseBaseModel>>;\n    public runStrategyOptimizationRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseBaseModel>>;\n    public runStrategyOptimizationRuleUsingPOST(ruleId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (ruleId === null || ruleId === undefined) {\n            throw new Error('Required parameter ruleId was null or undefined when calling runStrategyOptimizationRuleUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiListResponseBaseModel>(`${this.basePath}/v2/api/strategies/orule/${encodeURIComponent(String(ruleId))}/run`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to update Startegy Quick Edit Details by Id\n     * \n     * @param id id\n     * @param strategyQuickEditDTO strategyQuickEditDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public saveStrategyQuickEditDetailsUsingPOST(id: number, strategyQuickEditDTO: StrategyQuickEditDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyDTO>;\n    public saveStrategyQuickEditDetailsUsingPOST(id: number, strategyQuickEditDTO: StrategyQuickEditDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyDTO>>;\n    public saveStrategyQuickEditDetailsUsingPOST(id: number, strategyQuickEditDTO: StrategyQuickEditDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyDTO>>;\n    public saveStrategyQuickEditDetailsUsingPOST(id: number, strategyQuickEditDTO: StrategyQuickEditDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling saveStrategyQuickEditDetailsUsingPOST.');\n        }\n\n        if (strategyQuickEditDTO === null || strategyQuickEditDTO === undefined) {\n            throw new Error('Required parameter strategyQuickEditDTO was null or undefined when calling saveStrategyQuickEditDetailsUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectStrategyDTO>(`${this.basePath}/v2/api/strategies/quickEdit/${encodeURIComponent(String(id))}`,\n            strategyQuickEditDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to do strategy optimization\n     * \n     * @param id id\n     * @param req req\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public strategyOptimizationUsingPOST(id: number, req: StrategyOptBlockTargetingReq, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;\n    public strategyOptimizationUsingPOST(id: number, req: StrategyOptBlockTargetingReq, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;\n    public strategyOptimizationUsingPOST(id: number, req: StrategyOptBlockTargetingReq, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;\n    public strategyOptimizationUsingPOST(id: number, req: StrategyOptBlockTargetingReq, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling strategyOptimizationUsingPOST.');\n        }\n\n        if (req === null || req === undefined) {\n            throw new Error('Required parameter req was null or undefined when calling strategyOptimizationUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectResponseMessage>(`${this.basePath}/v2/api/strategies/optimization/${encodeURIComponent(String(id))}`,\n            req,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to update AB Test experiment\n     * \n     * @param id id\n     * @param status status\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateABTestExperimentStatusUsingPOST(id: number, status: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectlong>;\n    public updateABTestExperimentStatusUsingPOST(id: number, status: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectlong>>;\n    public updateABTestExperimentStatusUsingPOST(id: number, status: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectlong>>;\n    public updateABTestExperimentStatusUsingPOST(id: number, status: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateABTestExperimentStatusUsingPOST.');\n        }\n\n        if (status === null || status === undefined) {\n            throw new Error('Required parameter status was null or undefined when calling updateABTestExperimentStatusUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectlong>(`${this.basePath}/v2/api/strategies/abtest/updateStatus/${encodeURIComponent(String(id))}/${encodeURIComponent(String(status))}`,\n            null,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to update AB Test experiment\n     * \n     * @param abTestDTO abTestDTO\n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateABTestExperimentUsingPOST(abTestDTO: ABTestDTO, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestDTO>;\n    public updateABTestExperimentUsingPOST(abTestDTO: ABTestDTO, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestDTO>>;\n    public updateABTestExperimentUsingPOST(abTestDTO: ABTestDTO, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestDTO>>;\n    public updateABTestExperimentUsingPOST(abTestDTO: ABTestDTO, id: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (abTestDTO === null || abTestDTO === undefined) {\n            throw new Error('Required parameter abTestDTO was null or undefined when calling updateABTestExperimentUsingPOST.');\n        }\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateABTestExperimentUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectABTestDTO>(`${this.basePath}/v2/api/strategies/abtest/update/${encodeURIComponent(String(id))}`,\n            abTestDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to update daily advertiser spend budget of strategy\n     * \n     * @param budgetCapStrategyDTO budgetCapStrategyDTO\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateDailyAdvertiserSpendBudgetForStrategyUsingPOST(budgetCapStrategyDTO: BudgetCapStrategyDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListStrategy>;\n    public updateDailyAdvertiserSpendBudgetForStrategyUsingPOST(budgetCapStrategyDTO: BudgetCapStrategyDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListStrategy>>;\n    public updateDailyAdvertiserSpendBudgetForStrategyUsingPOST(budgetCapStrategyDTO: BudgetCapStrategyDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListStrategy>>;\n    public updateDailyAdvertiserSpendBudgetForStrategyUsingPOST(budgetCapStrategyDTO: BudgetCapStrategyDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (budgetCapStrategyDTO === null || budgetCapStrategyDTO === undefined) {\n            throw new Error('Required parameter budgetCapStrategyDTO was null or undefined when calling updateDailyAdvertiserSpendBudgetForStrategyUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectListStrategy>(`${this.basePath}/v2/api/strategies/updateDailyAdvertiserSpendBudgetForStrategy`,\n            budgetCapStrategyDTO,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * API to do update strategy optimization rule\n     * \n     * @param id id\n     * @param req req\n     * @param ruleId ruleId\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, ruleId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectOptimizationRuleResponse>;\n    public updateStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, ruleId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectOptimizationRuleResponse>>;\n    public updateStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, ruleId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectOptimizationRuleResponse>>;\n    public updateStrategyOptimizationRuleUsingPOST(id: number, req: OptimizationRuleDTO, ruleId: number, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateStrategyOptimizationRuleUsingPOST.');\n        }\n\n        if (req === null || req === undefined) {\n            throw new Error('Required parameter req was null or undefined when calling updateStrategyOptimizationRuleUsingPOST.');\n        }\n\n        if (ruleId === null || ruleId === undefined) {\n            throw new Error('Required parameter ruleId was null or undefined when calling updateStrategyOptimizationRuleUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectOptimizationRuleResponse>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}/orule/${encodeURIComponent(String(ruleId))}`,\n            req,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to update Strategy\n     * \n     * @param id id\n     * @param strategy strategy\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateStrategyUsingPOST(id: number, strategy: StrategyDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyDTO>;\n    public updateStrategyUsingPOST(id: number, strategy: StrategyDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyDTO>>;\n    public updateStrategyUsingPOST(id: number, strategy: StrategyDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyDTO>>;\n    public updateStrategyUsingPOST(id: number, strategy: StrategyDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling updateStrategyUsingPOST.');\n        }\n\n        if (strategy === null || strategy === undefined) {\n            throw new Error('Required parameter strategy was null or undefined when calling updateStrategyUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectStrategyDTO>(`${this.basePath}/v2/api/strategies/${encodeURIComponent(String(id))}`,\n            strategy,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to validate Strategy before Cloning\n     * \n     * @param dto dto\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public validateCloneStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectboolean>;\n    public validateCloneStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectboolean>>;\n    public validateCloneStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectboolean>>;\n    public validateCloneStrategyUsingPOST(dto: DuplicateCampaignStrategyRequestDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (dto === null || dto === undefined) {\n            throw new Error('Required parameter dto was null or undefined when calling validateCloneStrategyUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectboolean>(`${this.basePath}/v2/api/strategies/clone/validate`,\n            dto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to Validating geo\n     * \n     * @param geos geos\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public validateGeosUsingPOST(geos: GeoListRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectGeoListDTO>;\n    public validateGeosUsingPOST(geos: GeoListRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectGeoListDTO>>;\n    public validateGeosUsingPOST(geos: GeoListRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectGeoListDTO>>;\n    public validateGeosUsingPOST(geos: GeoListRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (geos === null || geos === undefined) {\n            throw new Error('Required parameter geos was null or undefined when calling validateGeosUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectGeoListDTO>(`${this.basePath}/v2/api/strategies/validategeos`,\n            geos,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to Validating Sites\n     * \n     * @param sites sites\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public validateSitesUsingPOST(sites: SiteListRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectSiteListDTO>;\n    public validateSitesUsingPOST(sites: SiteListRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectSiteListDTO>>;\n    public validateSitesUsingPOST(sites: SiteListRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectSiteListDTO>>;\n    public validateSitesUsingPOST(sites: SiteListRequest, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (sites === null || sites === undefined) {\n            throw new Error('Required parameter sites was null or undefined when calling validateSitesUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectSiteListDTO>(`${this.basePath}/v2/api/strategies/validatedomains`,\n            sites,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiListResponseStrategyTemplateResponse } from '../model/apiListResponseStrategyTemplateResponse';\nimport { ApiResponseObjectMapintResponseMessage } from '../model/apiResponseObjectMapintResponseMessage';\nimport { StrategyTemplateDTO } from '../model/strategyTemplateDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class StrategyTemplateControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Api to create strategy template\n     * \n     * @param strategyTemplateDTO strategyTemplateDTO\n     * @param reqId request id\n     * @param strategyId strategyId\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createStrategyTemplateUsingPOST(strategyTemplateDTO: StrategyTemplateDTO, reqId?: string, strategyId?: number, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMapintResponseMessage>;\n    public createStrategyTemplateUsingPOST(strategyTemplateDTO: StrategyTemplateDTO, reqId?: string, strategyId?: number, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMapintResponseMessage>>;\n    public createStrategyTemplateUsingPOST(strategyTemplateDTO: StrategyTemplateDTO, reqId?: string, strategyId?: number, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMapintResponseMessage>>;\n    public createStrategyTemplateUsingPOST(strategyTemplateDTO: StrategyTemplateDTO, reqId?: string, strategyId?: number, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (strategyTemplateDTO === null || strategyTemplateDTO === undefined) {\n            throw new Error('Required parameter strategyTemplateDTO was null or undefined when calling createStrategyTemplateUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (strategyId !== undefined && strategyId !== null) {\n            queryParameters = queryParameters.set('strategyId', <any>strategyId);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectMapintResponseMessage>(`${this.basePath}/v2/api/strategytemplate`,\n            strategyTemplateDTO,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Api to get all Strategy templates\n     * \n     * @param refresh refresh\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAllStrategyTemplatesUsingGET(refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseStrategyTemplateResponse>;\n    public getAllStrategyTemplatesUsingGET(refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseStrategyTemplateResponse>>;\n    public getAllStrategyTemplatesUsingGET(refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseStrategyTemplateResponse>>;\n    public getAllStrategyTemplatesUsingGET(refresh?: boolean, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (refresh !== undefined && refresh !== null) {\n            queryParameters = queryParameters.set('refresh', <any>refresh);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiListResponseStrategyTemplateResponse>(`${this.basePath}/v2/api/strategytemplate/all`,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectboolean } from '../model/apiResponseObjectboolean';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class UILoggerControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     * Logging msg in Server\n     * \n     * @param logMsg logMsg\n     * @param logLevel logLevel\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public logUsingPOST(logMsg: string, logLevel?: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectboolean>;\n    public logUsingPOST(logMsg: string, logLevel?: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectboolean>>;\n    public logUsingPOST(logMsg: string, logLevel?: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectboolean>>;\n    public logUsingPOST(logMsg: string, logLevel?: string, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (logMsg === null || logMsg === undefined) {\n            throw new Error('Required parameter logMsg was null or undefined when calling logUsingPOST.');\n        }\n\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (logLevel !== undefined && logLevel !== null) {\n            queryParameters = queryParameters.set('logLevel', <any>logLevel);\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectboolean>(`${this.basePath}/v2/logging`,\n            logMsg,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent }                           from '@angular/common/http';\nimport { CustomHttpUrlEncodingCodec }                        from '../encoder';\n\nimport { Observable }                                        from 'rxjs';\n\nimport { ApiResponseObjectListUserPreferenceDTO } from '../model/apiResponseObjectListUserPreferenceDTO';\nimport { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';\nimport { ApiResponseObjectVoid } from '../model/apiResponseObjectVoid';\nimport { ApiResponseObjectstring } from '../model/apiResponseObjectstring';\nimport { UserPreferenceDTO } from '../model/userPreferenceDTO';\n\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n@Injectable()\nexport class UserPreferenceControllerService {\n\n    protected basePath = 'https://apiv2stage3.atomex.net';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (basePath) {\n            this.basePath = basePath;\n        }\n        if (configuration) {\n            this.configuration = configuration;\n            this.basePath = basePath || configuration.basePath || this.basePath;\n        }\n    }\n\n    /**\n     * @param consumes string[] mime-types\n     * @return true: consumes contains 'multipart/form-data', false: otherwise\n     */\n    private canConsumeForm(consumes: string[]): boolean {\n        const form = 'multipart/form-data';\n        for (const consume of consumes) {\n            if (form === consume) {\n                return true;\n            }\n        }\n        return false;\n    }\n\n\n    /**\n     *  Api to create User Preference \n     * \n     * @param userPreferenceDto userPreferenceDto\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createUserPreferenceDataUsingPOST(userPreferenceDto: UserPreferenceDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectVoid>;\n    public createUserPreferenceDataUsingPOST(userPreferenceDto: UserPreferenceDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectVoid>>;\n    public createUserPreferenceDataUsingPOST(userPreferenceDto: UserPreferenceDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectVoid>>;\n    public createUserPreferenceDataUsingPOST(userPreferenceDto: UserPreferenceDTO, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (userPreferenceDto === null || userPreferenceDto === undefined) {\n            throw new Error('Required parameter userPreferenceDto was null or undefined when calling createUserPreferenceDataUsingPOST.');\n        }\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            '*/*'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected != undefined) {\n            headers = headers.set('Content-Type', httpContentTypeSelected);\n        }\n\n        return this.httpClient.post<ApiResponseObjectVoid>(`${this.basePath}/v2/api/userpreference`,\n            userPreferenceDto,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to delete User Preference \n     * \n     * @param id id\n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteUserPreferenceDataUsingPOST(id: Array<number>, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;\n    public deleteUserPreferenceDataUsingPOST(id: Array<number>, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;\n    public deleteUserPreferenceDataUsingPOST(id: Array<number>, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;\n    public deleteUserPreferenceDataUsingPOST(id: Array<number>, reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling deleteUserPreferenceDataUsingPOST.');\n        }\n\n\n\n        let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()});\n        if (id) {\n            id.forEach((element) => {\n                queryParameters = queryParameters.append('id', <any>element);\n            })\n        }\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n\n        return this.httpClient.post<ApiResponseObjectMaplongResponseMessage>(`${this.basePath}/v2/api/userpreference/delete`,\n            null,\n            {\n                params: queryParameters,\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to fetch User Preference \n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getUserPreferenceDataUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListUserPreferenceDTO>;\n    public getUserPreferenceDataUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListUserPreferenceDTO>>;\n    public getUserPreferenceDataUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListUserPreferenceDTO>>;\n    public getUserPreferenceDataUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectListUserPreferenceDTO>(`${this.basePath}/v2/api/userpreference`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     *  API to fetch dashboard metrics or number of columns required for grid \n     * \n     * @param reqId request id\n     * @param token Auth Token\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getUserPreferenceEntityUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;\n    public getUserPreferenceEntityUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;\n    public getUserPreferenceEntityUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;\n    public getUserPreferenceEntityUsingGET(reqId?: string, token?: string, observe: any = 'body', reportProgress: boolean = false ): Observable<any> {\n\n\n\n        let headers = this.defaultHeaders;\n        if (reqId !== undefined && reqId !== null) {\n            headers = headers.set('reqId', String(reqId));\n        }\n        if (token !== undefined && token !== null) {\n            headers = headers.set('token', String(token));\n        }\n\n        // to determine the Accept header\n        let httpHeaderAccepts: string[] = [\n            'application/json'\n        ];\n        const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        if (httpHeaderAcceptSelected != undefined) {\n            headers = headers.set('Accept', httpHeaderAcceptSelected);\n        }\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n        ];\n\n        return this.httpClient.get<ApiResponseObjectstring>(`${this.basePath}/v2/api/userPreferenceEntity`,\n            {\n                withCredentials: this.configuration.withCredentials,\n                headers: headers,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","export * from './adminController.service';\nimport { AdminControllerService } from './adminController.service';\nexport * from './advertiserController.service';\nimport { AdvertiserControllerService } from './advertiserController.service';\nexport * from './appSettingsController.service';\nimport { AppSettingsControllerService } from './appSettingsController.service';\nexport * from './audienceController.service';\nimport { AudienceControllerService } from './audienceController.service';\nexport * from './auditController.service';\nimport { AuditControllerService } from './auditController.service';\nexport * from './bidFunnelController.service';\nimport { BidFunnelControllerService } from './bidFunnelController.service';\nexport * from './bulkStrategyController.service';\nimport { BulkStrategyControllerService } from './bulkStrategyController.service';\nexport * from './cSSThemeController_.service';\nimport { CSSThemeController_Service } from './cSSThemeController_.service';\nexport * from './campaignController.service';\nimport { CampaignControllerService } from './campaignController.service';\nexport * from './catalogController.service';\nimport { CatalogControllerService } from './catalogController.service';\nexport * from './clickDestinationController.service';\nimport { ClickDestinationControllerService } from './clickDestinationController.service';\nexport * from './creativeController.service';\nimport { CreativeControllerService } from './creativeController.service';\nexport * from './creativeSetsController.service';\nimport { CreativeSetsControllerService } from './creativeSetsController.service';\nexport * from './creativeTemplateThemesController.service';\nimport { CreativeTemplateThemesControllerService } from './creativeTemplateThemesController.service';\nexport * from './creativeTemplateVariablesController.service';\nimport { CreativeTemplateVariablesControllerService } from './creativeTemplateVariablesController.service';\nexport * from './creativeTemplatesController.service';\nimport { CreativeTemplatesControllerService } from './creativeTemplatesController.service';\nexport * from './customerReportingController.service';\nimport { CustomerReportingControllerService } from './customerReportingController.service';\nexport * from './dashboardController.service';\nimport { DashboardControllerService } from './dashboardController.service';\nexport * from './experimentsController.service';\nimport { ExperimentsControllerService } from './experimentsController.service';\nexport * from './notificationsController.service';\nimport { NotificationsControllerService } from './notificationsController.service';\nexport * from './pixelController.service';\nimport { PixelControllerService } from './pixelController.service';\nexport * from './reportController.service';\nimport { ReportControllerService } from './reportController.service';\nexport * from './reportingController.service';\nimport { ReportingControllerService } from './reportingController.service';\nexport * from './reportingSchedulerController.service';\nimport { ReportingSchedulerControllerService } from './reportingSchedulerController.service';\nexport * from './sliceXController.service';\nimport { SliceXControllerService } from './sliceXController.service';\nexport * from './strategyController.service';\nimport { StrategyControllerService } from './strategyController.service';\nexport * from './strategyTemplateController.service';\nimport { StrategyTemplateControllerService } from './strategyTemplateController.service';\nexport * from './uILoggerController.service';\nimport { UILoggerControllerService } from './uILoggerController.service';\nexport * from './userPreferenceController.service';\nimport { UserPreferenceControllerService } from './userPreferenceController.service';\nexport const APIS = [AdminControllerService, AdvertiserControllerService, AppSettingsControllerService, AudienceControllerService, AuditControllerService, BidFunnelControllerService, BulkStrategyControllerService, CSSThemeController_Service, CampaignControllerService, CatalogControllerService, ClickDestinationControllerService, CreativeControllerService, CreativeSetsControllerService, CreativeTemplateThemesControllerService, CreativeTemplateVariablesControllerService, CreativeTemplatesControllerService, CustomerReportingControllerService, DashboardControllerService, ExperimentsControllerService, NotificationsControllerService, PixelControllerService, ReportControllerService, ReportingControllerService, ReportingSchedulerControllerService, SliceXControllerService, StrategyControllerService, StrategyTemplateControllerService, UILoggerControllerService, UserPreferenceControllerService];\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ABTestingVariantDTO } from './aBTestingVariantDTO';\n\n\nexport interface ABTestingDTO { \n    abTestingVariants?: Array<ABTestingVariantDTO>;\n    advertiserId?: number;\n    baseStrategyId?: number;\n    campaignId?: number;\n    description?: string;\n    endDate?: number;\n    experimentName?: string;\n    experimentType?: ABTestingDTO.ExperimentTypeEnum;\n    licenseeId?: number;\n    startDate?: number;\n    status?: ABTestingDTO.StatusEnum;\n    winMetric?: string;\n}\nexport namespace ABTestingDTO {\n    export type ExperimentTypeEnum = 'INCREMENTALITY_TEST' | 'AB_TEST';\n    export const ExperimentTypeEnum = {\n        INCREMENTALITYTEST: 'INCREMENTALITY_TEST' as ExperimentTypeEnum,\n        ABTEST: 'AB_TEST' as ExperimentTypeEnum\n    };\n    export type StatusEnum = 'LIVE' | 'SCHEDULED' | 'GENERATING_REPORT' | 'STOPPED' | 'COMPLETED';\n    export const StatusEnum = {\n        LIVE: 'LIVE' as StatusEnum,\n        SCHEDULED: 'SCHEDULED' as StatusEnum,\n        GENERATINGREPORT: 'GENERATING_REPORT' as StatusEnum,\n        STOPPED: 'STOPPED' as StatusEnum,\n        COMPLETED: 'COMPLETED' as StatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ABTestingVariantDTO } from './aBTestingVariantDTO';\n\n\nexport interface ABTestingResponseDetails { \n    abTestIds?: string;\n    abtestingVariants?: Array<ABTestingVariantDTO>;\n    advertiserId?: number;\n    advertiserName?: string;\n    baseStrategyId?: number;\n    baseStrategyName?: string;\n    campaignId?: number;\n    campaignName?: string;\n    createdAt?: number;\n    createdBy?: string;\n    description?: string;\n    endDate?: number;\n    experimentId?: number;\n    experimentName?: string;\n    experimentType?: ABTestingResponseDetails.ExperimentTypeEnum;\n    isActive?: boolean;\n    isArchived?: boolean;\n    licenseeId?: number;\n    startDate?: number;\n    status?: ABTestingResponseDetails.StatusEnum;\n    updatedAt?: number;\n    updatedBy?: string;\n    winMetric?: string;\n}\nexport namespace ABTestingResponseDetails {\n    export type ExperimentTypeEnum = 'INCREMENTALITY_TEST' | 'AB_TEST';\n    export const ExperimentTypeEnum = {\n        INCREMENTALITYTEST: 'INCREMENTALITY_TEST' as ExperimentTypeEnum,\n        ABTEST: 'AB_TEST' as ExperimentTypeEnum\n    };\n    export type StatusEnum = 'LIVE' | 'SCHEDULED' | 'GENERATING_REPORT' | 'STOPPED' | 'COMPLETED';\n    export const StatusEnum = {\n        LIVE: 'LIVE' as StatusEnum,\n        SCHEDULED: 'SCHEDULED' as StatusEnum,\n        GENERATINGREPORT: 'GENERATING_REPORT' as StatusEnum,\n        STOPPED: 'STOPPED' as StatusEnum,\n        COMPLETED: 'COMPLETED' as StatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModelWithCreativeSetType } from './baseModelWithCreativeSetType';\nimport { TargetAppCategories } from './targetAppCategories';\nimport { VideoRewardedTypeTargeting } from './videoRewardedTypeTargeting';\nimport { VideoTargeting } from './videoTargeting';\n\n\nexport interface ABTestingVariantDTO { \n    bidAndBudgetAdjustment?: boolean;\n    bidPrice?: number;\n    bidRangeMax?: number;\n    bidRangeMin?: number;\n    creativeSets?: Array<BaseModelWithCreativeSetType>;\n    dailyMediaBudget?: number;\n    pacingTypeId?: number;\n    pricingModel?: ABTestingVariantDTO.PricingModelEnum;\n    pricingTypeId?: number;\n    targetAndroidCategories?: TargetAppCategories;\n    targetIosCategories?: TargetAppCategories;\n    variantId?: number;\n    variantName?: string;\n    variantPercentage?: number;\n    variantType?: ABTestingVariantDTO.VariantTypeEnum;\n    videoPlacement?: VideoTargeting;\n    videoRewardedTypeTargeting?: VideoRewardedTypeTargeting;\n}\nexport namespace ABTestingVariantDTO {\n    export type PricingModelEnum = 'CPM' | 'CPC' | 'CPA' | 'CTR' | 'DCPMC' | 'DCPMA' | 'CPI' | 'BOOST' | 'RCPC' | 'CPA_BOOST';\n    export const PricingModelEnum = {\n        CPM: 'CPM' as PricingModelEnum,\n        CPC: 'CPC' as PricingModelEnum,\n        CPA: 'CPA' as PricingModelEnum,\n        CTR: 'CTR' as PricingModelEnum,\n        DCPMC: 'DCPMC' as PricingModelEnum,\n        DCPMA: 'DCPMA' as PricingModelEnum,\n        CPI: 'CPI' as PricingModelEnum,\n        BOOST: 'BOOST' as PricingModelEnum,\n        RCPC: 'RCPC' as PricingModelEnum,\n        CPABOOST: 'CPA_BOOST' as PricingModelEnum\n    };\n    export type VariantTypeEnum = 'MODEL' | 'STRATEGY' | 'CREATIVE' | 'PACING_TYPE' | 'CATEGORY' | 'CREATIVE_SET' | 'PRICING' | 'VIDEO_PLACEMENT';\n    export const VariantTypeEnum = {\n        MODEL: 'MODEL' as VariantTypeEnum,\n        STRATEGY: 'STRATEGY' as VariantTypeEnum,\n        CREATIVE: 'CREATIVE' as VariantTypeEnum,\n        PACINGTYPE: 'PACING_TYPE' as VariantTypeEnum,\n        CATEGORY: 'CATEGORY' as VariantTypeEnum,\n        CREATIVESET: 'CREATIVE_SET' as VariantTypeEnum,\n        PRICING: 'PRICING' as VariantTypeEnum,\n        VIDEOPLACEMENT: 'VIDEO_PLACEMENT' as VariantTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BulkEditCreativeSetsDTO } from './bulkEditCreativeSetsDTO';\nimport { BulkEditCreativeSetsListDTO } from './bulkEditCreativeSetsListDTO';\n\n\nexport interface ActivityLogsCreativeSetsBulkUpdateDTO { \n    createdOn?: number;\n    id?: number;\n    licenseeId?: number;\n    modifiedOn?: number;\n    requestObj?: BulkEditCreativeSetsDTO;\n    responseObj?: BulkEditCreativeSetsListDTO;\n    status?: ActivityLogsCreativeSetsBulkUpdateDTO.StatusEnum;\n    userName?: string;\n}\nexport namespace ActivityLogsCreativeSetsBulkUpdateDTO {\n    export type StatusEnum = 'PENDING' | 'IN_PROGRESS' | 'FAILED' | 'SUCCESS' | 'PARTIAL_SUCCESS';\n    export const StatusEnum = {\n        PENDING: 'PENDING' as StatusEnum,\n        INPROGRESS: 'IN_PROGRESS' as StatusEnum,\n        FAILED: 'FAILED' as StatusEnum,\n        SUCCESS: 'SUCCESS' as StatusEnum,\n        PARTIALSUCCESS: 'PARTIAL_SUCCESS' as StatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BulkEditStrategiesDTO } from './bulkEditStrategiesDTO';\nimport { BulkEditStrategyListDTO } from './bulkEditStrategyListDTO';\n\n\nexport interface ActivityLogsStrategyBulkUpdateDTO { \n    createdOn?: number;\n    id?: number;\n    licenseeId?: number;\n    modifiedOn?: number;\n    requestObj?: BulkEditStrategiesDTO;\n    responseObj?: BulkEditStrategyListDTO;\n    status?: ActivityLogsStrategyBulkUpdateDTO.StatusEnum;\n    userName?: string;\n}\nexport namespace ActivityLogsStrategyBulkUpdateDTO {\n    export type StatusEnum = 'PENDING' | 'IN_PROGRESS' | 'FAILED' | 'SUCCESS' | 'PARTIAL_SUCCESS';\n    export const StatusEnum = {\n        PENDING: 'PENDING' as StatusEnum,\n        INPROGRESS: 'IN_PROGRESS' as StatusEnum,\n        FAILED: 'FAILED' as StatusEnum,\n        SUCCESS: 'SUCCESS' as StatusEnum,\n        PARTIALSUCCESS: 'PARTIAL_SUCCESS' as StatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface AdvertiserAppSettingsDTO { \n    key?: AdvertiserAppSettingsDTO.KeyEnum;\n    type?: AdvertiserAppSettingsDTO.TypeEnum;\n    value?: string;\n}\nexport namespace AdvertiserAppSettingsDTO {\n    export type KeyEnum = 'FEED_KEY' | 'LIFT_TEST_ACTIVE' | 'EVENT_FILTER_ALLOWED' | 'SKU_ALLOWED_CHARS' | 'TRANSACTION_CURRENCY' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING';\n    export const KeyEnum = {\n        FEEDKEY: 'FEED_KEY' as KeyEnum,\n        LIFTTESTACTIVE: 'LIFT_TEST_ACTIVE' as KeyEnum,\n        EVENTFILTERALLOWED: 'EVENT_FILTER_ALLOWED' as KeyEnum,\n        SKUALLOWEDCHARS: 'SKU_ALLOWED_CHARS' as KeyEnum,\n        TRANSACTIONCURRENCY: 'TRANSACTION_CURRENCY' as KeyEnum,\n        CREATIVENAMEFORMAT: 'CREATIVE_NAME_FORMAT' as KeyEnum,\n        CLICKSIGNING: 'CLICK_SIGNING' as KeyEnum\n    };\n    export type TypeEnum = 'BOOLEAN' | 'STRING' | 'JSON' | 'INTEGER' | 'DOUBLE' | 'FLOAT';\n    export const TypeEnum = {\n        BOOLEAN: 'BOOLEAN' as TypeEnum,\n        STRING: 'STRING' as TypeEnum,\n        JSON: 'JSON' as TypeEnum,\n        INTEGER: 'INTEGER' as TypeEnum,\n        DOUBLE: 'DOUBLE' as TypeEnum,\n        FLOAT: 'FLOAT' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface AdvertiserCohortDTO { \n    advertiserId?: number;\n    campaignIds?: Array<number>;\n    cohortDays?: number;\n    countryId?: number;\n    dimensionType?: AdvertiserCohortDTO.DimensionTypeEnum;\n    endDate?: number;\n    osId?: number;\n    startDate?: number;\n    strategyIds?: Array<number>;\n}\nexport namespace AdvertiserCohortDTO {\n    export type DimensionTypeEnum = 'DATE' | 'CAMPAIGN' | 'STRATEGY';\n    export const DimensionTypeEnum = {\n        DATE: 'DATE' as DimensionTypeEnum,\n        CAMPAIGN: 'CAMPAIGN' as DimensionTypeEnum,\n        STRATEGY: 'STRATEGY' as DimensionTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CohortData } from './cohortData';\n\n\nexport interface AdvertiserCohortResponse { \n    advertiserId?: number;\n    cohortDataMap?: { [key: string]: CohortData; };\n    cohortType?: AdvertiserCohortResponse.CohortTypeEnum;\n    cohortTypeDisplayId?: string;\n    nonPayers?: number;\n    payers?: number;\n    uniqueUsers?: number;\n}\nexport namespace AdvertiserCohortResponse {\n    export type CohortTypeEnum = 'DATE' | 'CAMPAIGN' | 'STRATEGY';\n    export const CohortTypeEnum = {\n        DATE: 'DATE' as CohortTypeEnum,\n        CAMPAIGN: 'CAMPAIGN' as CohortTypeEnum,\n        STRATEGY: 'STRATEGY' as CohortTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AppSettingsPropertyDTO } from './appSettingsPropertyDTO';\n\n\nexport interface AppSettingsDTO { \n    active?: boolean;\n    advertiserId?: number;\n    appSettingsProperties?: Array<AppSettingsPropertyDTO>;\n    id?: number;\n    licenseeId?: number;\n    settingsKey?: AppSettingsDTO.SettingsKeyEnum;\n    settingsType?: AppSettingsDTO.SettingsTypeEnum;\n    settingsValue?: string;\n}\nexport namespace AppSettingsDTO {\n    export type SettingsKeyEnum = 'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING';\n    export const SettingsKeyEnum = {\n        LOGOLINK: 'LOGO_LINK' as SettingsKeyEnum,\n        FALLBACKIMGLINK: 'FALLBACK_IMG_LINK' as SettingsKeyEnum,\n        OVERLAYIMGLINK: 'OVERLAY_IMG_LINK' as SettingsKeyEnum,\n        DEFAULTLOGO: 'DEFAULT_LOGO' as SettingsKeyEnum,\n        CREATIVENAMEFORMAT: 'CREATIVE_NAME_FORMAT' as SettingsKeyEnum,\n        CLICKSIGNING: 'CLICK_SIGNING' as SettingsKeyEnum\n    };\n    export type SettingsTypeEnum = 'BOOLEAN' | 'STRING' | 'JSON' | 'INTEGER' | 'DOUBLE' | 'FLOAT';\n    export const SettingsTypeEnum = {\n        BOOLEAN: 'BOOLEAN' as SettingsTypeEnum,\n        STRING: 'STRING' as SettingsTypeEnum,\n        JSON: 'JSON' as SettingsTypeEnum,\n        INTEGER: 'INTEGER' as SettingsTypeEnum,\n        DOUBLE: 'DOUBLE' as SettingsTypeEnum,\n        FLOAT: 'FLOAT' as SettingsTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface AppSettingsPropertyDTO { \n    id?: number;\n    propertyKey?: AppSettingsPropertyDTO.PropertyKeyEnum;\n    propertyValue?: string;\n}\nexport namespace AppSettingsPropertyDTO {\n    export type PropertyKeyEnum = 'DIMENSIONS';\n    export const PropertyKeyEnum = {\n        DIMENSIONS: 'DIMENSIONS' as PropertyKeyEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface AuctionTypeEditField { \n    action?: string;\n    value?: AuctionTypeEditField.ValueEnum;\n}\nexport namespace AuctionTypeEditField {\n    export type ValueEnum = 'FIRST' | 'SECOND' | 'ALL';\n    export const ValueEnum = {\n        FIRST: 'FIRST' as ValueEnum,\n        SECOND: 'SECOND' as ValueEnum,\n        ALL: 'ALL' as ValueEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface AudienceBackfillQueryTemplateRequest { \n    advertiserId?: number;\n    duration?: number;\n    durationUnit?: AudienceBackfillQueryTemplateRequest.DurationUnitEnum;\n}\nexport namespace AudienceBackfillQueryTemplateRequest {\n    export type DurationUnitEnum = 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH';\n    export const DurationUnitEnum = {\n        MINUTE: 'MINUTE' as DurationUnitEnum,\n        HOUR: 'HOUR' as DurationUnitEnum,\n        DAY: 'DAY' as DurationUnitEnum,\n        WEEK: 'WEEK' as DurationUnitEnum,\n        MONTH: 'MONTH' as DurationUnitEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AudienceDTO } from './audienceDTO';\n\n\nexport interface AudienceBackfillRequest { \n    audienceDTO?: AudienceDTO;\n    backFillScheduleHour?: number;\n    backfillQuery?: string;\n    backfillSchedule?: AudienceBackfillRequest.BackfillScheduleEnum;\n}\nexport namespace AudienceBackfillRequest {\n    export type BackfillScheduleEnum = 'ONLY_ONCE' | 'ONCE_A_DAY' | 'ONCE_A_WEEK';\n    export const BackfillScheduleEnum = {\n        ONLYONCE: 'ONLY_ONCE' as BackfillScheduleEnum,\n        ONCEADAY: 'ONCE_A_DAY' as BackfillScheduleEnum,\n        ONCEAWEEK: 'ONCE_A_WEEK' as BackfillScheduleEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AudienceBackFilledStats } from './audienceBackFilledStats';\nimport { BaseModel } from './baseModel';\nimport { IPBasedBackFill } from './iPBasedBackFill';\nimport { LookAlikeAudienceConfigDTO } from './lookAlikeAudienceConfigDTO';\nimport { PixelDataFileDTO } from './pixelDataFileDTO';\nimport { PixelDataScheduleDTO } from './pixelDataScheduleDTO';\nimport { RuleDTO } from './ruleDTO';\n\n\nexport interface AudienceDTO { \n    active?: boolean;\n    advertiser?: BaseModel;\n    audienceBackFilledStatsList?: Array<AudienceBackFilledStats>;\n    audienceBackfillQuery?: string;\n    audienceType?: AudienceDTO.AudienceTypeEnum;\n    backfillRuleExpression?: RuleDTO;\n    backfilled?: boolean;\n    backfilledUU?: number;\n    consentType?: AudienceDTO.ConsentTypeEnum;\n    createdBy?: number;\n    creationTime?: number;\n    dailyUU?: number;\n    dataSourceType?: number;\n    description?: string;\n    deviceId?: AudienceDTO.DeviceIdEnum;\n    downloadStatus?: string;\n    duration?: number;\n    durationUnit?: AudienceDTO.DurationUnitEnum;\n    hourInterval?: number;\n    id?: number;\n    interval?: AudienceDTO.IntervalEnum;\n    ipBasedBackFill?: IPBasedBackFill;\n    isArchived?: boolean;\n    lastProcessingTime?: number;\n    licensee?: BaseModel;\n    lookAlikeAudienceConfigDTO?: LookAlikeAudienceConfigDTO;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    os?: BaseModel;\n    pixelDataFile?: PixelDataFileDTO;\n    pixelDataSchedule?: PixelDataScheduleDTO;\n    pixelId?: number;\n    processingStatus?: string;\n    remoteSegmentId?: string;\n    ruleExpression?: RuleDTO;\n    segmentType?: number;\n    showBackfill?: boolean;\n    showCustomBackfill?: boolean;\n    status?: string;\n    totalUU?: number;\n    uploadStatus?: string;\n    userDataType?: number;\n    usersProcessed?: number;\n}\nexport namespace AudienceDTO {\n    export type AudienceTypeEnum = 'WEB_BROWSING' | 'MOBILE_APP' | 'DMP' | 'CRM' | 'RULE_BASED' | 'RULE_BASED_BACKFILL' | 'CRM_EMAIL' | 'CRM_PHONE' | 'LOOKALIKE_AUDIENCE' | 'FACEBOOK_ID' | 'BACKFILL';\n    export const AudienceTypeEnum = {\n        WEBBROWSING: 'WEB_BROWSING' as AudienceTypeEnum,\n        MOBILEAPP: 'MOBILE_APP' as AudienceTypeEnum,\n        DMP: 'DMP' as AudienceTypeEnum,\n        CRM: 'CRM' as AudienceTypeEnum,\n        RULEBASED: 'RULE_BASED' as AudienceTypeEnum,\n        RULEBASEDBACKFILL: 'RULE_BASED_BACKFILL' as AudienceTypeEnum,\n        CRMEMAIL: 'CRM_EMAIL' as AudienceTypeEnum,\n        CRMPHONE: 'CRM_PHONE' as AudienceTypeEnum,\n        LOOKALIKEAUDIENCE: 'LOOKALIKE_AUDIENCE' as AudienceTypeEnum,\n        FACEBOOKID: 'FACEBOOK_ID' as AudienceTypeEnum,\n        BACKFILL: 'BACKFILL' as AudienceTypeEnum\n    };\n    export type ConsentTypeEnum = 'OPTED_IN' | 'OPTED_OUT' | 'BOTH';\n    export const ConsentTypeEnum = {\n        OPTEDIN: 'OPTED_IN' as ConsentTypeEnum,\n        OPTEDOUT: 'OPTED_OUT' as ConsentTypeEnum,\n        BOTH: 'BOTH' as ConsentTypeEnum\n    };\n    export type DeviceIdEnum = 'ADID' | 'IP';\n    export const DeviceIdEnum = {\n        ADID: 'ADID' as DeviceIdEnum,\n        IP: 'IP' as DeviceIdEnum\n    };\n    export type DurationUnitEnum = 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH';\n    export const DurationUnitEnum = {\n        MINUTE: 'MINUTE' as DurationUnitEnum,\n        HOUR: 'HOUR' as DurationUnitEnum,\n        DAY: 'DAY' as DurationUnitEnum,\n        WEEK: 'WEEK' as DurationUnitEnum,\n        MONTH: 'MONTH' as DurationUnitEnum\n    };\n    export type IntervalEnum = 'ONLY_ONCE' | 'ONCE_A_DAY' | 'ONCE_A_WEEK';\n    export const IntervalEnum = {\n        ONLYONCE: 'ONLY_ONCE' as IntervalEnum,\n        ONCEADAY: 'ONCE_A_DAY' as IntervalEnum,\n        ONCEAWEEK: 'ONCE_A_WEEK' as IntervalEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface AudienceESDTO { \n    active?: boolean;\n    advertiserId?: number;\n    advertiserName?: string;\n    audience_type?: AudienceESDTO.AudienceTypeEnum;\n    backfilled?: boolean;\n    createdBy?: number;\n    creationTime?: number;\n    dailyUU?: number;\n    deviceId?: AudienceESDTO.DeviceIdEnum;\n    id?: number;\n    isArchived?: boolean;\n    licenseeId?: number;\n    lookAlikeAudienceStatus?: string;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    pixelId?: number;\n    segmentType?: number;\n    totalUU?: number;\n    user_data_type?: string;\n}\nexport namespace AudienceESDTO {\n    export type AudienceTypeEnum = 'WEB_BROWSING' | 'MOBILE_APP' | 'DMP' | 'CRM' | 'RULE_BASED' | 'RULE_BASED_BACKFILL' | 'CRM_EMAIL' | 'CRM_PHONE' | 'LOOKALIKE_AUDIENCE' | 'FACEBOOK_ID' | 'BACKFILL';\n    export const AudienceTypeEnum = {\n        WEBBROWSING: 'WEB_BROWSING' as AudienceTypeEnum,\n        MOBILEAPP: 'MOBILE_APP' as AudienceTypeEnum,\n        DMP: 'DMP' as AudienceTypeEnum,\n        CRM: 'CRM' as AudienceTypeEnum,\n        RULEBASED: 'RULE_BASED' as AudienceTypeEnum,\n        RULEBASEDBACKFILL: 'RULE_BASED_BACKFILL' as AudienceTypeEnum,\n        CRMEMAIL: 'CRM_EMAIL' as AudienceTypeEnum,\n        CRMPHONE: 'CRM_PHONE' as AudienceTypeEnum,\n        LOOKALIKEAUDIENCE: 'LOOKALIKE_AUDIENCE' as AudienceTypeEnum,\n        FACEBOOKID: 'FACEBOOK_ID' as AudienceTypeEnum,\n        BACKFILL: 'BACKFILL' as AudienceTypeEnum\n    };\n    export type DeviceIdEnum = 'ADID' | 'IP';\n    export const DeviceIdEnum = {\n        ADID: 'ADID' as DeviceIdEnum,\n        IP: 'IP' as DeviceIdEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AudienceESDTO } from './audienceESDTO';\nimport { BaseModel } from './baseModel';\n\n\nexport interface AudiencePerformanceDTO { \n    appOpen?: number;\n    attributedConversions?: number;\n    attributedInstalls?: number;\n    audienceESDTO?: AudienceESDTO;\n    clicks?: number;\n    conversionsPer1000User?: number;\n    ctr?: number;\n    device?: BaseModel;\n    gender?: AudiencePerformanceDTO.GenderEnum;\n    impressions?: number;\n    installsPer1000User?: number;\n    nonAttributedConversions?: number;\n    nonAttributedInstalls?: number;\n    os?: BaseModel;\n    timestamp?: number;\n}\nexport namespace AudiencePerformanceDTO {\n    export type GenderEnum = 'MALE' | 'FEMALE';\n    export const GenderEnum = {\n        MALE: 'MALE' as GenderEnum,\n        FEMALE: 'FEMALE' as GenderEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface BaseModelWithCreativeSetType { \n    active?: boolean;\n    archived?: boolean;\n    creativeSetType?: BaseModelWithCreativeSetType.CreativeSetTypeEnum;\n    displayText?: string;\n    id?: number;\n    name?: string;\n}\nexport namespace BaseModelWithCreativeSetType {\n    export type CreativeSetTypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const CreativeSetTypeEnum = {\n        IMAGE: 'IMAGE' as CreativeSetTypeEnum,\n        VIDEO: 'VIDEO' as CreativeSetTypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as CreativeSetTypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as CreativeSetTypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as CreativeSetTypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as CreativeSetTypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as CreativeSetTypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as CreativeSetTypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as CreativeSetTypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as CreativeSetTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as CreativeSetTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as CreativeSetTypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as CreativeSetTypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as CreativeSetTypeEnum,\n        ICON: 'ICON' as CreativeSetTypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as CreativeSetTypeEnum,\n        PLAYABLE: 'PLAYABLE' as CreativeSetTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\n\n\nexport interface ClickDestination { \n    active?: boolean;\n    advertiserId?: number;\n    androidClickUrl?: string;\n    androidImpressionTracker?: string;\n    androidS2sClickTrackingUrl?: string;\n    campaignType?: ClickDestination.CampaignTypeEnum;\n    clickUrl?: string;\n    createdBy?: number;\n    creationTime?: number;\n    creativeFormat?: ClickDestination.CreativeFormatEnum;\n    creativeSets?: Array<BaseModel>;\n    dco?: boolean;\n    enrichedEngagement?: number;\n    generatedUrlType?: ClickDestination.GeneratedUrlTypeEnum;\n    id?: number;\n    iosCLickUrl?: string;\n    iosImpressionTracker?: string;\n    iosS2sClickTrackingUrl?: string;\n    isArchived?: boolean;\n    licenseeId?: number;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    placebo?: boolean;\n    refactored?: boolean;\n    serverTrackingUrl?: string;\n    skadTarget?: boolean;\n    vtaTriggerPercentile?: number;\n    webClickUrl?: string;\n    webImpressionTracker?: string;\n    webS2sClickTrackingUrl?: string;\n}\nexport namespace ClickDestination {\n    export type CampaignTypeEnum = 'UA' | 'RT';\n    export const CampaignTypeEnum = {\n        UA: 'UA' as CampaignTypeEnum,\n        RT: 'RT' as CampaignTypeEnum\n    };\n    export type CreativeFormatEnum = 'MULTI_DEVICE' | 'CTV';\n    export const CreativeFormatEnum = {\n        MULTIDEVICE: 'MULTI_DEVICE' as CreativeFormatEnum,\n        CTV: 'CTV' as CreativeFormatEnum\n    };\n    export type GeneratedUrlTypeEnum = 'CLICK' | 'S2S' | 'SKAD';\n    export const GeneratedUrlTypeEnum = {\n        CLICK: 'CLICK' as GeneratedUrlTypeEnum,\n        S2S: 'S2S' as GeneratedUrlTypeEnum,\n        SKAD: 'SKAD' as GeneratedUrlTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface CohortCampaignStrategyDO { \n    id?: number;\n    name?: string;\n    type?: CohortCampaignStrategyDO.TypeEnum;\n}\nexport namespace CohortCampaignStrategyDO {\n    export type TypeEnum = 'DATE' | 'CAMPAIGN' | 'STRATEGY';\n    export const TypeEnum = {\n        DATE: 'DATE' as TypeEnum,\n        CAMPAIGN: 'CAMPAIGN' as TypeEnum,\n        STRATEGY: 'STRATEGY' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\nimport { Size } from './size';\n\n\nexport interface CreativeCompactDTO { \n    active?: boolean;\n    advertiser?: BaseModel;\n    content?: string;\n    createdBy?: number;\n    creationTime?: number;\n    creativeSet?: BaseModel;\n    dcoAd?: boolean;\n    id?: number;\n    isArchived?: boolean;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    nativeAd?: boolean;\n    refactored?: boolean;\n    size?: Size;\n    type?: CreativeCompactDTO.TypeEnum;\n    urlPath?: string;\n}\nexport namespace CreativeCompactDTO {\n    export type TypeEnum = 'image' | 'html' | 'zippedHTML' | 'video' | 'nativeAd' | 'nativeVideo' | 'fbxImage' | 'flash' | 'fbNewsFeed' | 'fbRightColumn' | 'fbAppInstall' | 'fbAppEngagement' | 'clickTracker' | 'fbxImageNewsFeed' | 'nativeIcon' | 'ctvVideo';\n    export const TypeEnum = {\n        Image: 'image' as TypeEnum,\n        Html: 'html' as TypeEnum,\n        ZippedHTML: 'zippedHTML' as TypeEnum,\n        Video: 'video' as TypeEnum,\n        NativeAd: 'nativeAd' as TypeEnum,\n        NativeVideo: 'nativeVideo' as TypeEnum,\n        FbxImage: 'fbxImage' as TypeEnum,\n        Flash: 'flash' as TypeEnum,\n        FbNewsFeed: 'fbNewsFeed' as TypeEnum,\n        FbRightColumn: 'fbRightColumn' as TypeEnum,\n        FbAppInstall: 'fbAppInstall' as TypeEnum,\n        FbAppEngagement: 'fbAppEngagement' as TypeEnum,\n        ClickTracker: 'clickTracker' as TypeEnum,\n        FbxImageNewsFeed: 'fbxImageNewsFeed' as TypeEnum,\n        NativeIcon: 'nativeIcon' as TypeEnum,\n        CtvVideo: 'ctvVideo' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\nimport { ClickDestination } from './clickDestination';\nimport { CreativePerformanceData } from './creativePerformanceData';\nimport { DcoAttributesDTO } from './dcoAttributesDTO';\nimport { NativeAssetPojo } from './nativeAssetPojo';\nimport { Size } from './size';\nimport { VastCreative } from './vastCreative';\nimport { VideoAttributes } from './videoAttributes';\n\n\nexport interface CreativeDTO { \n    active?: boolean;\n    advertiser?: BaseModel;\n    advertiserId?: number;\n    archived?: boolean;\n    assetPreviewId?: number;\n    clickDestination?: ClickDestination;\n    content?: string;\n    contentType?: CreativeDTO.ContentTypeEnum;\n    createdBy?: number;\n    creationTime?: number;\n    creativeSet?: BaseModel;\n    creativeSetId?: number;\n    dcoAd?: boolean;\n    dcoAttributes?: DcoAttributesDTO;\n    dynamicItemList?: string;\n    endTime?: number;\n    errorMsg?: string;\n    hybridImageAsset?: NativeAssetPojo;\n    id?: number;\n    ignoreScheduler?: boolean;\n    imageAttributeId?: number;\n    isArchived?: boolean;\n    isHybridAd?: boolean;\n    isHybridAdStatic?: boolean;\n    isPlacebo?: boolean;\n    layout?: BaseModel;\n    layoutDimensionId?: number;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    nativeAd?: boolean;\n    nativeAsset?: NativeAssetPojo;\n    originalDimension?: Size;\n    originalFileName?: string;\n    partOfPlacebo?: boolean;\n    performanceData?: CreativePerformanceData;\n    placebo?: boolean;\n    previewUrl?: string;\n    refactored?: boolean;\n    scheduledTimezone?: BaseModel;\n    size?: Size;\n    startTime?: number;\n    templateBased?: boolean;\n    thirdPartyAdTag?: string;\n    type?: CreativeDTO.TypeEnum;\n    urlPath?: string;\n    vastCreative?: VastCreative;\n    videoAttributeId?: number;\n    videoAttributes?: Array<VideoAttributes>;\n    videoUploadType?: CreativeDTO.VideoUploadTypeEnum;\n}\nexport namespace CreativeDTO {\n    export type ContentTypeEnum = 'ZIP' | 'JPG' | 'JPEG' | 'PNG' | 'GIF' | 'FLV' | 'MP4' | 'THREE_GPP' | 'MOV' | 'WEBM' | 'DASH' | 'HLS' | 'GZIP' | 'TEXT' | 'CSV' | 'UNKNOWN' | 'XMPEGURL';\n    export const ContentTypeEnum = {\n        ZIP: 'ZIP' as ContentTypeEnum,\n        JPG: 'JPG' as ContentTypeEnum,\n        JPEG: 'JPEG' as ContentTypeEnum,\n        PNG: 'PNG' as ContentTypeEnum,\n        GIF: 'GIF' as ContentTypeEnum,\n        FLV: 'FLV' as ContentTypeEnum,\n        MP4: 'MP4' as ContentTypeEnum,\n        THREEGPP: 'THREE_GPP' as ContentTypeEnum,\n        MOV: 'MOV' as ContentTypeEnum,\n        WEBM: 'WEBM' as ContentTypeEnum,\n        DASH: 'DASH' as ContentTypeEnum,\n        HLS: 'HLS' as ContentTypeEnum,\n        GZIP: 'GZIP' as ContentTypeEnum,\n        TEXT: 'TEXT' as ContentTypeEnum,\n        CSV: 'CSV' as ContentTypeEnum,\n        UNKNOWN: 'UNKNOWN' as ContentTypeEnum,\n        XMPEGURL: 'XMPEGURL' as ContentTypeEnum\n    };\n    export type TypeEnum = 'image' | 'html' | 'zippedHTML' | 'video' | 'nativeAd' | 'nativeVideo' | 'fbxImage' | 'flash' | 'fbNewsFeed' | 'fbRightColumn' | 'fbAppInstall' | 'fbAppEngagement' | 'clickTracker' | 'fbxImageNewsFeed' | 'nativeIcon' | 'ctvVideo';\n    export const TypeEnum = {\n        Image: 'image' as TypeEnum,\n        Html: 'html' as TypeEnum,\n        ZippedHTML: 'zippedHTML' as TypeEnum,\n        Video: 'video' as TypeEnum,\n        NativeAd: 'nativeAd' as TypeEnum,\n        NativeVideo: 'nativeVideo' as TypeEnum,\n        FbxImage: 'fbxImage' as TypeEnum,\n        Flash: 'flash' as TypeEnum,\n        FbNewsFeed: 'fbNewsFeed' as TypeEnum,\n        FbRightColumn: 'fbRightColumn' as TypeEnum,\n        FbAppInstall: 'fbAppInstall' as TypeEnum,\n        FbAppEngagement: 'fbAppEngagement' as TypeEnum,\n        ClickTracker: 'clickTracker' as TypeEnum,\n        FbxImageNewsFeed: 'fbxImageNewsFeed' as TypeEnum,\n        NativeIcon: 'nativeIcon' as TypeEnum,\n        CtvVideo: 'ctvVideo' as TypeEnum\n    };\n    export type VideoUploadTypeEnum = 'VIDEO' | 'VAST_WRAPPER';\n    export const VideoUploadTypeEnum = {\n        VIDEO: 'VIDEO' as VideoUploadTypeEnum,\n        VASTWRAPPER: 'VAST_WRAPPER' as VideoUploadTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { ClickDestination } from './clickDestination';\nimport { CreativeThirdPartyAdTag } from './creativeThirdPartyAdTag';\n\n\nexport interface CreativeDetails { \n    adTag?: CreativeThirdPartyAdTag;\n    advertiserId?: number;\n    clickDestination?: ClickDestination;\n    creativeSetType?: CreativeDetails.CreativeSetTypeEnum;\n    dco?: boolean;\n    isDCO?: boolean;\n    name?: string;\n}\nexport namespace CreativeDetails {\n    export type CreativeSetTypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const CreativeSetTypeEnum = {\n        IMAGE: 'IMAGE' as CreativeSetTypeEnum,\n        VIDEO: 'VIDEO' as CreativeSetTypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as CreativeSetTypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as CreativeSetTypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as CreativeSetTypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as CreativeSetTypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as CreativeSetTypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as CreativeSetTypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as CreativeSetTypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as CreativeSetTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as CreativeSetTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as CreativeSetTypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as CreativeSetTypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as CreativeSetTypeEnum,\n        ICON: 'ICON' as CreativeSetTypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as CreativeSetTypeEnum,\n        PLAYABLE: 'PLAYABLE' as CreativeSetTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BannerAdSuppDimensionsDTO } from './bannerAdSuppDimensionsDTO';\nimport { CreativeThirdPartyAdTag } from './creativeThirdPartyAdTag';\nimport { NativeAssetPojo } from './nativeAssetPojo';\nimport { Size } from './size';\nimport { VideoProperties } from './videoProperties';\n\n\nexport interface CreativeFileForSet { \n    adTag?: CreativeThirdPartyAdTag;\n    content?: string;\n    contentType?: string;\n    dco?: boolean;\n    errorMsg?: string;\n    fallbackClickUrl?: string;\n    filePath?: string;\n    height?: number;\n    macroList?: string;\n    name?: string;\n    _native?: boolean;\n    nativeAssetPojo?: NativeAssetPojo;\n    noOfSlots?: number;\n    originalDimension?: Size;\n    parentPath?: string;\n    previewUrl?: string;\n    size?: string;\n    supportedDimensions?: Array<BannerAdSuppDimensionsDTO>;\n    tagtype?: CreativeFileForSet.TagtypeEnum;\n    type?: CreativeFileForSet.TypeEnum;\n    videoAttribute?: VideoProperties;\n    width?: number;\n}\nexport namespace CreativeFileForSet {\n    export type TagtypeEnum = 'IFRAME' | 'JS';\n    export const TagtypeEnum = {\n        IFRAME: 'IFRAME' as TagtypeEnum,\n        JS: 'JS' as TagtypeEnum\n    };\n    export type TypeEnum = 'image' | 'html' | 'zippedHTML' | 'video' | 'nativeAd' | 'nativeVideo' | 'fbxImage' | 'flash' | 'fbNewsFeed' | 'fbRightColumn' | 'fbAppInstall' | 'fbAppEngagement' | 'clickTracker' | 'fbxImageNewsFeed' | 'nativeIcon' | 'ctvVideo';\n    export const TypeEnum = {\n        Image: 'image' as TypeEnum,\n        Html: 'html' as TypeEnum,\n        ZippedHTML: 'zippedHTML' as TypeEnum,\n        Video: 'video' as TypeEnum,\n        NativeAd: 'nativeAd' as TypeEnum,\n        NativeVideo: 'nativeVideo' as TypeEnum,\n        FbxImage: 'fbxImage' as TypeEnum,\n        Flash: 'flash' as TypeEnum,\n        FbNewsFeed: 'fbNewsFeed' as TypeEnum,\n        FbRightColumn: 'fbRightColumn' as TypeEnum,\n        FbAppInstall: 'fbAppInstall' as TypeEnum,\n        FbAppEngagement: 'fbAppEngagement' as TypeEnum,\n        ClickTracker: 'clickTracker' as TypeEnum,\n        FbxImageNewsFeed: 'fbxImageNewsFeed' as TypeEnum,\n        NativeIcon: 'nativeIcon' as TypeEnum,\n        CtvVideo: 'ctvVideo' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BannerAdSuppDimensionsDTO } from './bannerAdSuppDimensionsDTO';\nimport { Size } from './size';\nimport { VideoProperties } from './videoProperties';\n\n\nexport interface CreativeFiles { \n    content?: string;\n    contentType?: string;\n    dco?: boolean;\n    errorMsg?: string;\n    filePath?: string;\n    height?: number;\n    macroList?: string;\n    name?: string;\n    _native?: boolean;\n    noOfSlots?: number;\n    originalDimension?: Size;\n    parentPath?: string;\n    previewUrl?: string;\n    size?: string;\n    supportedDimensions?: Array<BannerAdSuppDimensionsDTO>;\n    tagtype?: CreativeFiles.TagtypeEnum;\n    type?: CreativeFiles.TypeEnum;\n    videoAttribute?: VideoProperties;\n    width?: number;\n}\nexport namespace CreativeFiles {\n    export type TagtypeEnum = 'IFRAME' | 'JS';\n    export const TagtypeEnum = {\n        IFRAME: 'IFRAME' as TagtypeEnum,\n        JS: 'JS' as TagtypeEnum\n    };\n    export type TypeEnum = 'image' | 'html' | 'zippedHTML' | 'video' | 'nativeAd' | 'nativeVideo' | 'fbxImage' | 'flash' | 'fbNewsFeed' | 'fbRightColumn' | 'fbAppInstall' | 'fbAppEngagement' | 'clickTracker' | 'fbxImageNewsFeed' | 'nativeIcon' | 'ctvVideo';\n    export const TypeEnum = {\n        Image: 'image' as TypeEnum,\n        Html: 'html' as TypeEnum,\n        ZippedHTML: 'zippedHTML' as TypeEnum,\n        Video: 'video' as TypeEnum,\n        NativeAd: 'nativeAd' as TypeEnum,\n        NativeVideo: 'nativeVideo' as TypeEnum,\n        FbxImage: 'fbxImage' as TypeEnum,\n        Flash: 'flash' as TypeEnum,\n        FbNewsFeed: 'fbNewsFeed' as TypeEnum,\n        FbRightColumn: 'fbRightColumn' as TypeEnum,\n        FbAppInstall: 'fbAppInstall' as TypeEnum,\n        FbAppEngagement: 'fbAppEngagement' as TypeEnum,\n        ClickTracker: 'clickTracker' as TypeEnum,\n        FbxImageNewsFeed: 'fbxImageNewsFeed' as TypeEnum,\n        NativeIcon: 'nativeIcon' as TypeEnum,\n        CtvVideo: 'ctvVideo' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { VideoProperties } from './videoProperties';\n\n\nexport interface CreativeHtmlFileForSet { \n    contentType?: string;\n    dco?: boolean;\n    dynamicItemList?: string;\n    errorMsg?: string;\n    height?: number;\n    htmlContent?: string;\n    layoutDimensionId?: number;\n    layoutId?: number;\n    layoutName?: string;\n    macroList?: string;\n    name?: string;\n    _native?: boolean;\n    noOfSlots?: number;\n    templateType?: CreativeHtmlFileForSet.TemplateTypeEnum;\n    type?: CreativeHtmlFileForSet.TypeEnum;\n    videoProp?: VideoProperties;\n    width?: number;\n}\nexport namespace CreativeHtmlFileForSet {\n    export type TemplateTypeEnum = 'DCO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD';\n    export const TemplateTypeEnum = {\n        DCO: 'DCO' as TemplateTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as TemplateTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as TemplateTypeEnum\n    };\n    export type TypeEnum = 'image' | 'html' | 'zippedHTML' | 'video' | 'nativeAd' | 'nativeVideo' | 'fbxImage' | 'flash' | 'fbNewsFeed' | 'fbRightColumn' | 'fbAppInstall' | 'fbAppEngagement' | 'clickTracker' | 'fbxImageNewsFeed' | 'nativeIcon' | 'ctvVideo';\n    export const TypeEnum = {\n        Image: 'image' as TypeEnum,\n        Html: 'html' as TypeEnum,\n        ZippedHTML: 'zippedHTML' as TypeEnum,\n        Video: 'video' as TypeEnum,\n        NativeAd: 'nativeAd' as TypeEnum,\n        NativeVideo: 'nativeVideo' as TypeEnum,\n        FbxImage: 'fbxImage' as TypeEnum,\n        Flash: 'flash' as TypeEnum,\n        FbNewsFeed: 'fbNewsFeed' as TypeEnum,\n        FbRightColumn: 'fbRightColumn' as TypeEnum,\n        FbAppInstall: 'fbAppInstall' as TypeEnum,\n        FbAppEngagement: 'fbAppEngagement' as TypeEnum,\n        ClickTracker: 'clickTracker' as TypeEnum,\n        FbxImageNewsFeed: 'fbxImageNewsFeed' as TypeEnum,\n        NativeIcon: 'nativeIcon' as TypeEnum,\n        CtvVideo: 'ctvVideo' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\nimport { Size } from './size';\n\n\nexport interface CreativeSetDashboardMetric { \n    active?: boolean;\n    advRevenue?: number;\n    appOpenUniqUsers?: number;\n    appopen?: number;\n    bidsPlaced?: number;\n    clickConversions?: number;\n    clickInstalls?: number;\n    clickUniqUsers?: number;\n    clickappopen?: number;\n    clicks?: number;\n    conversionUniqUsers?: number;\n    conversions?: number;\n    cost?: number;\n    cpmBargainer?: string;\n    cpr?: number;\n    creationTime?: number;\n    creativeSetType?: CreativeSetDashboardMetric.CreativeSetTypeEnum;\n    ctc?: number;\n    ctr?: number;\n    currencyId?: string;\n    cvr?: number;\n    dailyBudget?: number;\n    dailyUU?: number;\n    ecpa?: number;\n    ecpc?: number;\n    ecpi?: number;\n    ecpm?: number;\n    ecpo?: number;\n    eligibleBids?: number;\n    eligibleUniqUsers?: number;\n    endTime?: number;\n    erpa?: number;\n    erpc?: number;\n    erpi?: number;\n    erpm?: number;\n    erpo?: number;\n    goal?: number;\n    id?: number;\n    impInstalls?: number;\n    impressionUniqUsers?: number;\n    impressions?: number;\n    installUniqUsers?: number;\n    installs?: number;\n    invalidClicks?: number;\n    isArchived?: boolean;\n    iti?: number;\n    margin?: number;\n    maxBid?: number;\n    model?: string;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    pacing?: string;\n    placebo?: boolean;\n    reEngagements?: number;\n    reInstalls?: number;\n    revenue?: number;\n    roi?: number;\n    rpr?: number;\n    scheduledTimezone?: BaseModel;\n    sizes?: Array<Size>;\n    skanClickInstalls?: number;\n    skanViewInstalls?: number;\n    startTime?: number;\n    totalSkanInstalls?: number;\n    totalUU?: number;\n    userReach?: number;\n    viewConversions?: number;\n    viewappopen?: number;\n}\nexport namespace CreativeSetDashboardMetric {\n    export type CreativeSetTypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const CreativeSetTypeEnum = {\n        IMAGE: 'IMAGE' as CreativeSetTypeEnum,\n        VIDEO: 'VIDEO' as CreativeSetTypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as CreativeSetTypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as CreativeSetTypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as CreativeSetTypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as CreativeSetTypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as CreativeSetTypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as CreativeSetTypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as CreativeSetTypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as CreativeSetTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as CreativeSetTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as CreativeSetTypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as CreativeSetTypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as CreativeSetTypeEnum,\n        ICON: 'ICON' as CreativeSetTypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as CreativeSetTypeEnum,\n        PLAYABLE: 'PLAYABLE' as CreativeSetTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AdoDTO } from './adoDTO';\nimport { BaseModel } from './baseModel';\nimport { CreativeDTO } from './creativeDTO';\nimport { CurrencyModel } from './currencyModel';\nimport { EndCards } from './endCards';\nimport { Macro } from './macro';\nimport { NativeAssetPojo } from './nativeAssetPojo';\nimport { Size } from './size';\n\n\nexport interface CreativeSetDetails { \n    active?: boolean;\n    ado?: AdoDTO;\n    advertiser?: CurrencyModel;\n    archived?: boolean;\n    budgetDaily?: number;\n    clickDestination?: BaseModel;\n    clickVerified?: boolean;\n    createdOn?: number;\n    creativeDimensions?: Array<Size>;\n    creativesList?: Array<CreativeDTO>;\n    endCardsList?: Array<EndCards>;\n    endTime?: number;\n    fallbackClickUrl?: string;\n    id?: number;\n    isMigrated?: boolean;\n    isMraid?: boolean;\n    macroList?: Array<Macro>;\n    modifiedOn?: number;\n    name?: string;\n    nativeAssetPojo?: NativeAssetPojo;\n    placebo?: boolean;\n    scheduledTimezone?: BaseModel;\n    startTime?: number;\n    strategyList?: Array<BaseModel>;\n    theme?: BaseModel;\n    type?: CreativeSetDetails.TypeEnum;\n}\nexport namespace CreativeSetDetails {\n    export type TypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const TypeEnum = {\n        IMAGE: 'IMAGE' as TypeEnum,\n        VIDEO: 'VIDEO' as TypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as TypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as TypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as TypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as TypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as TypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as TypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as TypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as TypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as TypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as TypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as TypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as TypeEnum,\n        ICON: 'ICON' as TypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as TypeEnum,\n        PLAYABLE: 'PLAYABLE' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\nimport { Size } from './size';\n\n\nexport interface CreativeSetPerformanceList { \n    active?: boolean;\n    advRevenue?: number;\n    advertiserId?: number;\n    appOpenUniqUsers?: number;\n    appopen?: number;\n    bidsPlaced?: number;\n    clickConversions?: number;\n    clickInstalls?: number;\n    clickUniqUsers?: number;\n    clickappopen?: number;\n    clicks?: number;\n    conversionUniqUsers?: number;\n    conversions?: number;\n    cost?: number;\n    cpmBargainer?: string;\n    cpr?: number;\n    createdBy?: number;\n    creationTime?: number;\n    creativeSetType?: CreativeSetPerformanceList.CreativeSetTypeEnum;\n    ctc?: number;\n    ctr?: number;\n    currencyId?: string;\n    cvr?: number;\n    dailyBudget?: number;\n    dailyUU?: number;\n    ecpa?: number;\n    ecpc?: number;\n    ecpi?: number;\n    ecpm?: number;\n    ecpo?: number;\n    eligibleBids?: number;\n    eligibleUniqUsers?: number;\n    endTime?: number;\n    erpa?: number;\n    erpc?: number;\n    erpi?: number;\n    erpm?: number;\n    erpo?: number;\n    goal?: number;\n    id?: number;\n    ignoreScheduler?: boolean;\n    impInstalls?: number;\n    impressionUniqUsers?: number;\n    impressions?: number;\n    installUniqUsers?: number;\n    installs?: number;\n    invalidClicks?: number;\n    isArchived?: boolean;\n    iti?: number;\n    licenseeId?: number;\n    margin?: number;\n    maxBid?: number;\n    model?: string;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    pacing?: string;\n    partOfPlacebo?: boolean;\n    reEngagements?: number;\n    reInstalls?: number;\n    revenue?: number;\n    roi?: number;\n    rpr?: number;\n    scheduledTimezone?: BaseModel;\n    sizes?: Array<Size>;\n    skanClickInstalls?: number;\n    skanViewInstalls?: number;\n    startTime?: number;\n    totalSkanInstalls?: number;\n    totalUU?: number;\n    userReach?: number;\n    viewConversions?: number;\n    viewappopen?: number;\n}\nexport namespace CreativeSetPerformanceList {\n    export type CreativeSetTypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const CreativeSetTypeEnum = {\n        IMAGE: 'IMAGE' as CreativeSetTypeEnum,\n        VIDEO: 'VIDEO' as CreativeSetTypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as CreativeSetTypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as CreativeSetTypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as CreativeSetTypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as CreativeSetTypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as CreativeSetTypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as CreativeSetTypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as CreativeSetTypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as CreativeSetTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as CreativeSetTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as CreativeSetTypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as CreativeSetTypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as CreativeSetTypeEnum,\n        ICON: 'ICON' as CreativeSetTypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as CreativeSetTypeEnum,\n        PLAYABLE: 'PLAYABLE' as CreativeSetTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AdoDTO } from './adoDTO';\nimport { BaseModel } from './baseModel';\nimport { CreativeFileForSet } from './creativeFileForSet';\nimport { CreativeThirdPartyAdTag } from './creativeThirdPartyAdTag';\nimport { EndCards } from './endCards';\nimport { HybridAdMapping } from './hybridAdMapping';\nimport { NativeAssetPojo } from './nativeAssetPojo';\n\n\nexport interface CreativeSetRequest { \n    adTag?: CreativeThirdPartyAdTag;\n    ado?: AdoDTO;\n    advertiser?: BaseModel;\n    advertiserTheme?: BaseModel;\n    budgetDaily?: number;\n    clickDestination?: BaseModel;\n    createdBy?: number;\n    creationTime?: number;\n    creativeFilesList?: Array<CreativeFileForSet>;\n    creativeSetType?: CreativeSetRequest.CreativeSetTypeEnum;\n    creativesToDeLink?: Array<BaseModel>;\n    dimensions?: Array<string>;\n    endCardsDeLinkList?: Array<EndCards>;\n    endTime?: number;\n    fallbackClickUrl?: string;\n    hybridAdList?: Array<HybridAdMapping>;\n    hybridSupportType?: CreativeSetRequest.HybridSupportTypeEnum;\n    id?: number;\n    isMraid?: boolean;\n    isPlacebo?: boolean;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    nativeAssetPojo?: NativeAssetPojo;\n    placebo?: boolean;\n    previewUrl?: string;\n    schedulerTimezone?: number;\n    startTime?: number;\n    strategiesToLink?: Array<BaseModel>;\n    templateDimensionIds?: Array<number>;\n    urlPath?: string;\n}\nexport namespace CreativeSetRequest {\n    export type CreativeSetTypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const CreativeSetTypeEnum = {\n        IMAGE: 'IMAGE' as CreativeSetTypeEnum,\n        VIDEO: 'VIDEO' as CreativeSetTypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as CreativeSetTypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as CreativeSetTypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as CreativeSetTypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as CreativeSetTypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as CreativeSetTypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as CreativeSetTypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as CreativeSetTypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as CreativeSetTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as CreativeSetTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as CreativeSetTypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as CreativeSetTypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as CreativeSetTypeEnum,\n        ICON: 'ICON' as CreativeSetTypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as CreativeSetTypeEnum,\n        PLAYABLE: 'PLAYABLE' as CreativeSetTypeEnum\n    };\n    export type HybridSupportTypeEnum = 'IMAGE' | 'VIDEO';\n    export const HybridSupportTypeEnum = {\n        IMAGE: 'IMAGE' as HybridSupportTypeEnum,\n        VIDEO: 'VIDEO' as HybridSupportTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface CreativeSetResponse { \n    message?: string;\n    otherCreativeSetDimensions?: Array<string>;\n    otherCreativeSetPossible?: boolean;\n    otherCreativeSetType?: CreativeSetResponse.OtherCreativeSetTypeEnum;\n}\nexport namespace CreativeSetResponse {\n    export type OtherCreativeSetTypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const OtherCreativeSetTypeEnum = {\n        IMAGE: 'IMAGE' as OtherCreativeSetTypeEnum,\n        VIDEO: 'VIDEO' as OtherCreativeSetTypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as OtherCreativeSetTypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as OtherCreativeSetTypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as OtherCreativeSetTypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as OtherCreativeSetTypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as OtherCreativeSetTypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as OtherCreativeSetTypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as OtherCreativeSetTypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as OtherCreativeSetTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as OtherCreativeSetTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as OtherCreativeSetTypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as OtherCreativeSetTypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as OtherCreativeSetTypeEnum,\n        ICON: 'ICON' as OtherCreativeSetTypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as OtherCreativeSetTypeEnum,\n        PLAYABLE: 'PLAYABLE' as OtherCreativeSetTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface DcoAttributesDTO { \n    creativeId?: number;\n    dcoAttribute?: DcoAttributesDTO.DcoAttributeEnum;\n    fallbackCreativeId?: number;\n    id?: number;\n    macroList?: string;\n    noOfSlots?: number;\n}\nexport namespace DcoAttributesDTO {\n    export type DcoAttributeEnum = 'flash' | 'html' | 'image';\n    export const DcoAttributeEnum = {\n        Flash: 'flash' as DcoAttributeEnum,\n        Html: 'html' as DcoAttributeEnum,\n        Image: 'image' as DcoAttributeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface DeviceTargetModel { \n    dailyUU?: number;\n    deviceId?: DeviceTargetModel.DeviceIdEnum;\n    id?: number;\n    name?: string;\n    segmentType?: number;\n    totalUU?: number;\n}\nexport namespace DeviceTargetModel {\n    export type DeviceIdEnum = 'ADID' | 'IP';\n    export const DeviceIdEnum = {\n        ADID: 'ADID' as DeviceIdEnum,\n        IP: 'IP' as DeviceIdEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { StrategyWithCreativeSetsDAO } from './strategyWithCreativeSetsDAO';\n\n\nexport interface DuplicateCampaignStrategyRequestDTO { \n    campaignId?: number;\n    duplicateConnectionTypeTargeting?: boolean;\n    duplicateDayPartTargeting?: boolean;\n    duplicateGeoFenceTargeting?: boolean;\n    duplicateGeoTargeting?: boolean;\n    duplicateInventorySitesTargeting?: boolean;\n    duplicateInventorySourcesTargeting?: boolean;\n    duplicateMobileTargeting?: boolean;\n    duplicatePlacementTargeting?: boolean;\n    duplicateZipCodeTargeting?: boolean;\n    endTime?: number;\n    entity?: DuplicateCampaignStrategyRequestDTO.EntityEnum;\n    name?: string;\n    startTime?: number;\n    strategyWithCreativeSetsDAOList?: Array<StrategyWithCreativeSetsDAO>;\n}\nexport namespace DuplicateCampaignStrategyRequestDTO {\n    export type EntityEnum = 'STRATEGY' | 'CAMPAIGN';\n    export const EntityEnum = {\n        STRATEGY: 'STRATEGY' as EntityEnum,\n        CAMPAIGN: 'CAMPAIGN' as EntityEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface DuplicateCreativeSetResponse { \n    creativeSetId?: number;\n    message?: string;\n    otherCreativeSetDimensions?: Array<string>;\n    otherCreativeSetPossible?: boolean;\n    otherCreativeSetType?: DuplicateCreativeSetResponse.OtherCreativeSetTypeEnum;\n}\nexport namespace DuplicateCreativeSetResponse {\n    export type OtherCreativeSetTypeEnum = 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE';\n    export const OtherCreativeSetTypeEnum = {\n        IMAGE: 'IMAGE' as OtherCreativeSetTypeEnum,\n        VIDEO: 'VIDEO' as OtherCreativeSetTypeEnum,\n        THIRDPARTYADTAGS: 'THIRD_PARTY_AD_TAGS' as OtherCreativeSetTypeEnum,\n        ZIPPEDHTML: 'ZIPPED_HTML' as OtherCreativeSetTypeEnum,\n        NATIVEIMAGE: 'NATIVE_IMAGE' as OtherCreativeSetTypeEnum,\n        NATIVEVIDEO: 'NATIVE_VIDEO' as OtherCreativeSetTypeEnum,\n        DYNAMICIMAGE: 'DYNAMIC_IMAGE' as OtherCreativeSetTypeEnum,\n        DYNAMICMACRO: 'DYNAMIC_MACRO' as OtherCreativeSetTypeEnum,\n        DYNAMICHTML: 'DYNAMIC_HTML' as OtherCreativeSetTypeEnum,\n        DYNAMICVIDEO: 'DYNAMIC_VIDEO' as OtherCreativeSetTypeEnum,\n        HYBRIDSTATICAD: 'HYBRID_STATIC_AD' as OtherCreativeSetTypeEnum,\n        HYBRIDDYNAMICAD: 'HYBRID_DYNAMIC_AD' as OtherCreativeSetTypeEnum,\n        THIRDPARTYVIDEOADTAGS: 'THIRD_PARTY_VIDEO_AD_TAGS' as OtherCreativeSetTypeEnum,\n        NATIVEICON: 'NATIVE_ICON' as OtherCreativeSetTypeEnum,\n        ICON: 'ICON' as OtherCreativeSetTypeEnum,\n        CTVVIDEO: 'CTV_VIDEO' as OtherCreativeSetTypeEnum,\n        PLAYABLE: 'PLAYABLE' as OtherCreativeSetTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface DynamicVideoConfigDTO { \n    configKey?: DynamicVideoConfigDTO.ConfigKeyEnum;\n    configValue?: string;\n    feedKey?: string;\n}\nexport namespace DynamicVideoConfigDTO {\n    export type ConfigKeyEnum = 'TEMPLATE_ID' | 'LOGO' | 'SALE_PRICE_PREFIX' | 'ORIGINAL_PRICE_PREFIX' | 'CTA' | 'TITLE_LENGTH' | 'TITLE_ROWS' | 'DISCOUNT_SUFFIX' | 'FONT' | 'ROUND_PRICE' | 'MUSIC_FILE' | 'VIDEO_FILE' | 'USE_RESIZER';\n    export const ConfigKeyEnum = {\n        TEMPLATEID: 'TEMPLATE_ID' as ConfigKeyEnum,\n        LOGO: 'LOGO' as ConfigKeyEnum,\n        SALEPRICEPREFIX: 'SALE_PRICE_PREFIX' as ConfigKeyEnum,\n        ORIGINALPRICEPREFIX: 'ORIGINAL_PRICE_PREFIX' as ConfigKeyEnum,\n        CTA: 'CTA' as ConfigKeyEnum,\n        TITLELENGTH: 'TITLE_LENGTH' as ConfigKeyEnum,\n        TITLEROWS: 'TITLE_ROWS' as ConfigKeyEnum,\n        DISCOUNTSUFFIX: 'DISCOUNT_SUFFIX' as ConfigKeyEnum,\n        FONT: 'FONT' as ConfigKeyEnum,\n        ROUNDPRICE: 'ROUND_PRICE' as ConfigKeyEnum,\n        MUSICFILE: 'MUSIC_FILE' as ConfigKeyEnum,\n        VIDEOFILE: 'VIDEO_FILE' as ConfigKeyEnum,\n        USERESIZER: 'USE_RESIZER' as ConfigKeyEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { UserInfoEntity } from './userInfoEntity';\n\n\nexport interface ExperimentsEntity { \n    abTestIds?: string;\n    archived?: boolean;\n    baseStrategyId?: number;\n    createdBy?: number;\n    createdByUser?: UserInfoEntity;\n    createdOn?: Date;\n    description?: string;\n    endTime?: number;\n    experimentType?: ExperimentsEntity.ExperimentTypeEnum;\n    id?: number;\n    incrementalityTestId?: number;\n    isActive?: boolean;\n    isArchived?: boolean;\n    lastModifiedBy?: number;\n    lastModifiedByUser?: UserInfoEntity;\n    lastModifiedOn?: Date;\n    licenseeId?: number;\n    name?: string;\n    startTime?: number;\n    status?: ExperimentsEntity.StatusEnum;\n    timeZoneId?: number;\n    winMetric?: string;\n}\nexport namespace ExperimentsEntity {\n    export type ExperimentTypeEnum = 'INCREMENTALITY_TEST' | 'AB_TEST';\n    export const ExperimentTypeEnum = {\n        INCREMENTALITYTEST: 'INCREMENTALITY_TEST' as ExperimentTypeEnum,\n        ABTEST: 'AB_TEST' as ExperimentTypeEnum\n    };\n    export type StatusEnum = 'LIVE' | 'SCHEDULED' | 'GENERATING_REPORT' | 'STOPPED' | 'COMPLETED';\n    export const StatusEnum = {\n        LIVE: 'LIVE' as StatusEnum,\n        SCHEDULED: 'SCHEDULED' as StatusEnum,\n        GENERATINGREPORT: 'GENERATING_REPORT' as StatusEnum,\n        STOPPED: 'STOPPED' as StatusEnum,\n        COMPLETED: 'COMPLETED' as StatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface FilterModel { \n    column?: string;\n    operator?: FilterModel.OperatorEnum;\n    value?: any;\n}\nexport namespace FilterModel {\n    export type OperatorEnum = 'eq' | 'in' | 'not_in';\n    export const OperatorEnum = {\n        Eq: 'eq' as OperatorEnum,\n        In: 'in' as OperatorEnum,\n        NotIn: 'not_in' as OperatorEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface GeoFenceDTO { \n    isEnabled?: boolean;\n    radius?: number;\n    radiusUnit?: GeoFenceDTO.RadiusUnitEnum;\n    targetList?: Array<string>;\n}\nexport namespace GeoFenceDTO {\n    export type RadiusUnitEnum = 'km' | 'mile';\n    export const RadiusUnitEnum = {\n        Km: 'km' as RadiusUnitEnum,\n        Mile: 'mile' as RadiusUnitEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DashboardFilters } from './dashboardFilters';\n\n\nexport interface GeoListRequest { \n    filters?: Array<DashboardFilters>;\n    geoType?: GeoListRequest.GeoTypeEnum;\n    geos?: Array<string>;\n}\nexport namespace GeoListRequest {\n    export type GeoTypeEnum = 'COUNTRY' | 'STATE' | 'CITY';\n    export const GeoTypeEnum = {\n        COUNTRY: 'COUNTRY' as GeoTypeEnum,\n        STATE: 'STATE' as GeoTypeEnum,\n        CITY: 'CITY' as GeoTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AudienceESDTO } from './audienceESDTO';\nimport { BaseModel } from './baseModel';\n\n\nexport interface IncrementalityTestDTO { \n    active?: boolean;\n    advId?: number;\n    blockedAudiences?: Array<AudienceESDTO>;\n    controlGroupPercentage?: number;\n    coolingPeriod?: number;\n    createdBy?: number;\n    creationTime?: number;\n    ctaWindow?: number;\n    description?: string;\n    endTime?: number;\n    entityId?: number;\n    entityType?: IncrementalityTestDTO.EntityTypeEnum;\n    id?: number;\n    isArchived?: boolean;\n    licenseeId?: number;\n    methodology?: IncrementalityTestDTO.MethodologyEnum;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    startTime?: number;\n    targetGroupPercentage?: number;\n    targetedAudiences?: Array<AudienceESDTO>;\n    testType?: IncrementalityTestDTO.TestTypeEnum;\n    timezone?: BaseModel;\n    vtaWindow?: number;\n    winMetric?: IncrementalityTestDTO.WinMetricEnum;\n}\nexport namespace IncrementalityTestDTO {\n    export type EntityTypeEnum = 'CAMPAIGN' | 'STRATEGY';\n    export const EntityTypeEnum = {\n        CAMPAIGN: 'CAMPAIGN' as EntityTypeEnum,\n        STRATEGY: 'STRATEGY' as EntityTypeEnum\n    };\n    export type MethodologyEnum = 'INTENT_TO_TREAT' | 'PSA' | 'GHOST_ADS';\n    export const MethodologyEnum = {\n        INTENTTOTREAT: 'INTENT_TO_TREAT' as MethodologyEnum,\n        PSA: 'PSA' as MethodologyEnum,\n        GHOSTADS: 'GHOST_ADS' as MethodologyEnum\n    };\n    export type TestTypeEnum = 'INCREMENTALITY_TEST' | 'AB_TEST';\n    export const TestTypeEnum = {\n        INCREMENTALITYTEST: 'INCREMENTALITY_TEST' as TestTypeEnum,\n        ABTEST: 'AB_TEST' as TestTypeEnum\n    };\n    export type WinMetricEnum = 'CPA' | 'ROAS';\n    export const WinMetricEnum = {\n        CPA: 'CPA' as WinMetricEnum,\n        ROAS: 'ROAS' as WinMetricEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AudienceESDTO } from './audienceESDTO';\nimport { BaseModel } from './baseModel';\n\n\nexport interface IncrementalityTestDetails { \n    active?: boolean;\n    advId?: number;\n    advertiserName?: string;\n    blockedAudiences?: Array<AudienceESDTO>;\n    controlGroupPercentage?: number;\n    coolingPeriod?: number;\n    ctaWindow?: number;\n    description?: string;\n    endTime?: number;\n    entityId?: number;\n    entityName?: string;\n    entityType?: IncrementalityTestDetails.EntityTypeEnum;\n    holdupWindow?: number;\n    id?: number;\n    isActive?: boolean;\n    isArchived?: boolean;\n    licenseeId?: number;\n    methodologyType?: IncrementalityTestDetails.MethodologyTypeEnum;\n    name?: string;\n    startTime?: number;\n    status?: IncrementalityTestDetails.StatusEnum;\n    targetGroupPercentage?: number;\n    targetedAudiences?: Array<AudienceESDTO>;\n    targetingBuckets?: string;\n    testType?: IncrementalityTestDetails.TestTypeEnum;\n    timezone?: BaseModel;\n    vtaWindow?: number;\n    winMetricType?: IncrementalityTestDetails.WinMetricTypeEnum;\n}\nexport namespace IncrementalityTestDetails {\n    export type EntityTypeEnum = 'CAMPAIGN' | 'STRATEGY';\n    export const EntityTypeEnum = {\n        CAMPAIGN: 'CAMPAIGN' as EntityTypeEnum,\n        STRATEGY: 'STRATEGY' as EntityTypeEnum\n    };\n    export type MethodologyTypeEnum = 'INTENT_TO_TREAT' | 'PSA' | 'GHOST_ADS';\n    export const MethodologyTypeEnum = {\n        INTENTTOTREAT: 'INTENT_TO_TREAT' as MethodologyTypeEnum,\n        PSA: 'PSA' as MethodologyTypeEnum,\n        GHOSTADS: 'GHOST_ADS' as MethodologyTypeEnum\n    };\n    export type StatusEnum = 'LIVE' | 'SCHEDULED' | 'GENERATING_REPORT' | 'STOPPED' | 'COMPLETED';\n    export const StatusEnum = {\n        LIVE: 'LIVE' as StatusEnum,\n        SCHEDULED: 'SCHEDULED' as StatusEnum,\n        GENERATINGREPORT: 'GENERATING_REPORT' as StatusEnum,\n        STOPPED: 'STOPPED' as StatusEnum,\n        COMPLETED: 'COMPLETED' as StatusEnum\n    };\n    export type TestTypeEnum = 'INCREMENTALITY_TEST' | 'AB_TEST';\n    export const TestTypeEnum = {\n        INCREMENTALITYTEST: 'INCREMENTALITY_TEST' as TestTypeEnum,\n        ABTEST: 'AB_TEST' as TestTypeEnum\n    };\n    export type WinMetricTypeEnum = 'CPA' | 'ROAS';\n    export const WinMetricTypeEnum = {\n        CPA: 'CPA' as WinMetricTypeEnum,\n        ROAS: 'ROAS' as WinMetricTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface JobResponse { \n    endTime?: number;\n    jobId?: number;\n    mailSent?: boolean;\n    reportCsvFilePath?: string;\n    startTime?: number;\n    status?: JobResponse.StatusEnum;\n}\nexport namespace JobResponse {\n    export type StatusEnum = 'PENDING' | 'IN_PROGRESS' | 'FAILED' | 'SUCCESS' | 'PARTIAL_SUCCESS';\n    export const StatusEnum = {\n        PENDING: 'PENDING' as StatusEnum,\n        INPROGRESS: 'IN_PROGRESS' as StatusEnum,\n        FAILED: 'FAILED' as StatusEnum,\n        SUCCESS: 'SUCCESS' as StatusEnum,\n        PARTIALSUCCESS: 'PARTIAL_SUCCESS' as StatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\n\n\nexport interface LookAlikeAudienceConfigDTO { \n    audienceSizeType?: LookAlikeAudienceConfigDTO.AudienceSizeTypeEnum;\n    lookBackWindow?: number;\n    status?: string;\n    targetCategories?: Array<BaseModel>;\n    targetCountry?: string;\n    targetOS?: number;\n}\nexport namespace LookAlikeAudienceConfigDTO {\n    export type AudienceSizeTypeEnum = 'SMALL' | 'MEDIUM' | 'LARGE';\n    export const AudienceSizeTypeEnum = {\n        SMALL: 'SMALL' as AudienceSizeTypeEnum,\n        MEDIUM: 'MEDIUM' as AudienceSizeTypeEnum,\n        LARGE: 'LARGE' as AudienceSizeTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface Macro { \n    advertiserId?: number;\n    id?: number;\n    isCustomMacro?: boolean;\n    macroText?: string;\n    macroType?: Macro.MacroTypeEnum;\n    name?: string;\n    samples?: Array<any>;\n}\nexport namespace Macro {\n    export type MacroTypeEnum = 'feed' | 'pixel' | 'custom' | 'hybrid';\n    export const MacroTypeEnum = {\n        Feed: 'feed' as MacroTypeEnum,\n        Pixel: 'pixel' as MacroTypeEnum,\n        Custom: 'custom' as MacroTypeEnum,\n        Hybrid: 'hybrid' as MacroTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { RuleOperatorDto } from './ruleOperatorDto';\nimport { RuleValueDto } from './ruleValueDto';\n\n\nexport interface MetaRuleDto { \n    active?: boolean;\n    displayName?: string;\n    fbxName?: string;\n    filterType?: MetaRuleDto.FilterTypeEnum;\n    id?: number;\n    name?: string;\n    ruleOperators?: Array<RuleOperatorDto>;\n    ruleValues?: Array<RuleValueDto>;\n    valueType?: MetaRuleDto.ValueTypeEnum;\n}\nexport namespace MetaRuleDto {\n    export type FilterTypeEnum = 'OPTIONS' | 'TEXT';\n    export const FilterTypeEnum = {\n        OPTIONS: 'OPTIONS' as FilterTypeEnum,\n        TEXT: 'TEXT' as FilterTypeEnum\n    };\n    export type ValueTypeEnum = 'INTEGER' | 'LONG' | 'FLOAT' | 'DOUBLE' | 'STRING';\n    export const ValueTypeEnum = {\n        INTEGER: 'INTEGER' as ValueTypeEnum,\n        LONG: 'LONG' as ValueTypeEnum,\n        FLOAT: 'FLOAT' as ValueTypeEnum,\n        DOUBLE: 'DOUBLE' as ValueTypeEnum,\n        STRING: 'STRING' as ValueTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface NotificationResponse { \n    content?: string;\n    createdOn?: number;\n    entityId?: number;\n    entityName?: string;\n    entityType?: string;\n    icon?: string;\n    id?: number;\n    resolved?: boolean;\n    seen?: boolean;\n    title?: string;\n    type?: NotificationResponse.TypeEnum;\n}\nexport namespace NotificationResponse {\n    export type TypeEnum = 'STATIC' | 'ACTIONABLE';\n    export const TypeEnum = {\n        STATIC: 'STATIC' as TypeEnum,\n        ACTIONABLE: 'ACTIONABLE' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { SiteModel } from './siteModel';\n\n\nexport interface OptimizationRuleAuditLogDTO { \n    app?: SiteModel;\n    clicks?: number;\n    convs?: number;\n    imps?: number;\n    installs?: number;\n    lastRunTime?: number;\n    reEngages?: number;\n    refreshRate?: number;\n    ruleId?: number;\n    spend?: number;\n    state?: OptimizationRuleAuditLogDTO.StateEnum;\n    status?: OptimizationRuleAuditLogDTO.StatusEnum;\n}\nexport namespace OptimizationRuleAuditLogDTO {\n    export type StateEnum = 'RUNNING' | 'STOPPED';\n    export const StateEnum = {\n        RUNNING: 'RUNNING' as StateEnum,\n        STOPPED: 'STOPPED' as StateEnum\n    };\n    export type StatusEnum = 'BLOCKED' | 'UNBLOCKED';\n    export const StatusEnum = {\n        BLOCKED: 'BLOCKED' as StatusEnum,\n        UNBLOCKED: 'UNBLOCKED' as StatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface OptimizationRuleDTO { \n    active?: boolean;\n    clicks?: number;\n    convType?: OptimizationRuleDTO.ConvTypeEnum;\n    convs?: number;\n    createdBy?: number;\n    creationTime?: number;\n    duration?: number;\n    id?: number;\n    imps?: number;\n    isArchived?: boolean;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    refreshRate?: number;\n    spend?: number;\n}\nexport namespace OptimizationRuleDTO {\n    export type ConvTypeEnum = 'INSTALL' | 'RE_ENGAGS' | 'CONV' | 'CLICKS';\n    export const ConvTypeEnum = {\n        INSTALL: 'INSTALL' as ConvTypeEnum,\n        REENGAGS: 'RE_ENGAGS' as ConvTypeEnum,\n        CONV: 'CONV' as ConvTypeEnum,\n        CLICKS: 'CLICKS' as ConvTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface PixelDataFileDTO { \n    compressionType?: PixelDataFileDTO.CompressionTypeEnum;\n    createdAt?: number;\n    encodingType?: PixelDataFileDTO.EncodingTypeEnum;\n    filePath?: string;\n    id?: number;\n    lastModifiedAtServer?: number;\n    lastUpdatedAt?: number;\n    licenseeId?: number;\n    md5sum?: string;\n    name?: string;\n    pixelId?: number;\n    sourceType?: PixelDataFileDTO.SourceTypeEnum;\n    status?: PixelDataFileDTO.StatusEnum;\n    updatedAt?: number;\n    userDataType?: PixelDataFileDTO.UserDataTypeEnum;\n}\nexport namespace PixelDataFileDTO {\n    export type CompressionTypeEnum = 'UNKNOWN' | 'NONE' | 'ZIP' | 'GZIP' | 'BZIP2';\n    export const CompressionTypeEnum = {\n        UNKNOWN: 'UNKNOWN' as CompressionTypeEnum,\n        NONE: 'NONE' as CompressionTypeEnum,\n        ZIP: 'ZIP' as CompressionTypeEnum,\n        GZIP: 'GZIP' as CompressionTypeEnum,\n        BZIP2: 'BZIP2' as CompressionTypeEnum\n    };\n    export type EncodingTypeEnum = 'NONE' | 'MD5' | 'SHA256';\n    export const EncodingTypeEnum = {\n        NONE: 'NONE' as EncodingTypeEnum,\n        MD5: 'MD5' as EncodingTypeEnum,\n        SHA256: 'SHA256' as EncodingTypeEnum\n    };\n    export type SourceTypeEnum = 'PIXEL_LOG' | 'AUDIENCE_FEED' | 'FILE_UPLOAD' | 'BACKFILL';\n    export const SourceTypeEnum = {\n        PIXELLOG: 'PIXEL_LOG' as SourceTypeEnum,\n        AUDIENCEFEED: 'AUDIENCE_FEED' as SourceTypeEnum,\n        FILEUPLOAD: 'FILE_UPLOAD' as SourceTypeEnum,\n        BACKFILL: 'BACKFILL' as SourceTypeEnum\n    };\n    export type StatusEnum = 'CREATED' | 'POPPED' | 'SUBMITTED' | 'SUBMIT_FAILED' | 'RUNNING' | 'PREPARATION' | 'RETRY_PENDING' | 'RETRIES_OVER' | 'CONNECTION_FAILED' | 'AUTH_FAILED' | 'FILE_NOT_FOUND' | 'DOWNLOADING' | 'DOWNLOADED' | 'DOWNLOAD_FAILED' | 'RULE_PROCESSING' | 'RULE_PROCESSED' | 'UPLOADING' | 'UPLOADED' | 'UPLOAD_FAILED' | 'UPLOAD_COMPLETED_PARTIALLY_FAILED' | 'UPLOAD_FAILED_NO_USER_MATCHED' | 'UPLOAD_PARTIALLY_COMPLETED' | 'UPLOAD_PARTIALLY_FAILED_AND_RUNNING' | 'COMPLETED' | 'URI_ERROR' | 'NETWORK_FAILURE' | 'FILE_NOT_MODIFIED_AT_SERVER' | 'SAME_MD5SUM' | 'SUCCESS' | 'IOEXCEPTION' | 'INVALIDDATA' | 'UNKNOWN_PROTOCOL' | 'PROCESSING_FAILED';\n    export const StatusEnum = {\n        CREATED: 'CREATED' as StatusEnum,\n        POPPED: 'POPPED' as StatusEnum,\n        SUBMITTED: 'SUBMITTED' as StatusEnum,\n        SUBMITFAILED: 'SUBMIT_FAILED' as StatusEnum,\n        RUNNING: 'RUNNING' as StatusEnum,\n        PREPARATION: 'PREPARATION' as StatusEnum,\n        RETRYPENDING: 'RETRY_PENDING' as StatusEnum,\n        RETRIESOVER: 'RETRIES_OVER' as StatusEnum,\n        CONNECTIONFAILED: 'CONNECTION_FAILED' as StatusEnum,\n        AUTHFAILED: 'AUTH_FAILED' as StatusEnum,\n        FILENOTFOUND: 'FILE_NOT_FOUND' as StatusEnum,\n        DOWNLOADING: 'DOWNLOADING' as StatusEnum,\n        DOWNLOADED: 'DOWNLOADED' as StatusEnum,\n        DOWNLOADFAILED: 'DOWNLOAD_FAILED' as StatusEnum,\n        RULEPROCESSING: 'RULE_PROCESSING' as StatusEnum,\n        RULEPROCESSED: 'RULE_PROCESSED' as StatusEnum,\n        UPLOADING: 'UPLOADING' as StatusEnum,\n        UPLOADED: 'UPLOADED' as StatusEnum,\n        UPLOADFAILED: 'UPLOAD_FAILED' as StatusEnum,\n        UPLOADCOMPLETEDPARTIALLYFAILED: 'UPLOAD_COMPLETED_PARTIALLY_FAILED' as StatusEnum,\n        UPLOADFAILEDNOUSERMATCHED: 'UPLOAD_FAILED_NO_USER_MATCHED' as StatusEnum,\n        UPLOADPARTIALLYCOMPLETED: 'UPLOAD_PARTIALLY_COMPLETED' as StatusEnum,\n        UPLOADPARTIALLYFAILEDANDRUNNING: 'UPLOAD_PARTIALLY_FAILED_AND_RUNNING' as StatusEnum,\n        COMPLETED: 'COMPLETED' as StatusEnum,\n        URIERROR: 'URI_ERROR' as StatusEnum,\n        NETWORKFAILURE: 'NETWORK_FAILURE' as StatusEnum,\n        FILENOTMODIFIEDATSERVER: 'FILE_NOT_MODIFIED_AT_SERVER' as StatusEnum,\n        SAMEMD5SUM: 'SAME_MD5SUM' as StatusEnum,\n        SUCCESS: 'SUCCESS' as StatusEnum,\n        IOEXCEPTION: 'IOEXCEPTION' as StatusEnum,\n        INVALIDDATA: 'INVALIDDATA' as StatusEnum,\n        UNKNOWNPROTOCOL: 'UNKNOWN_PROTOCOL' as StatusEnum,\n        PROCESSINGFAILED: 'PROCESSING_FAILED' as StatusEnum\n    };\n    export type UserDataTypeEnum = 'WEB_BROWSING' | 'MOBILE_APP' | 'CRM_EMAIL' | 'FACEBOOK_ID' | 'CRM_PHONE' | 'LOOKALIKE_AUDIENCE';\n    export const UserDataTypeEnum = {\n        WEBBROWSING: 'WEB_BROWSING' as UserDataTypeEnum,\n        MOBILEAPP: 'MOBILE_APP' as UserDataTypeEnum,\n        CRMEMAIL: 'CRM_EMAIL' as UserDataTypeEnum,\n        FACEBOOKID: 'FACEBOOK_ID' as UserDataTypeEnum,\n        CRMPHONE: 'CRM_PHONE' as UserDataTypeEnum,\n        LOOKALIKEAUDIENCE: 'LOOKALIKE_AUDIENCE' as UserDataTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface PlatformClickSigningConfig { \n    appId?: string;\n    clickSigningStatus?: PlatformClickSigningConfig.ClickSigningStatusEnum;\n    isEnabled?: boolean;\n    packageName?: string;\n}\nexport namespace PlatformClickSigningConfig {\n    export type ClickSigningStatusEnum = 'ENABLE_CS_PENDING' | 'CS_ENABLED' | 'DISABLE_CS_PENDING' | 'CS_DISABLED';\n    export const ClickSigningStatusEnum = {\n        ENABLECSPENDING: 'ENABLE_CS_PENDING' as ClickSigningStatusEnum,\n        CSENABLED: 'CS_ENABLED' as ClickSigningStatusEnum,\n        DISABLECSPENDING: 'DISABLE_CS_PENDING' as ClickSigningStatusEnum,\n        CSDISABLED: 'CS_DISABLED' as ClickSigningStatusEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface RemoteFileDTO { \n    authMethod?: RemoteFileDTO.AuthMethodEnum;\n    host?: string;\n    keyPath?: string;\n    password?: string;\n    pathTemplate?: string;\n    port?: number;\n    protocol?: RemoteFileDTO.ProtocolEnum;\n    username?: string;\n}\nexport namespace RemoteFileDTO {\n    export type AuthMethodEnum = 'NONE' | 'LOGIN' | 'PRIVATE_KEY';\n    export const AuthMethodEnum = {\n        NONE: 'NONE' as AuthMethodEnum,\n        LOGIN: 'LOGIN' as AuthMethodEnum,\n        PRIVATEKEY: 'PRIVATE_KEY' as AuthMethodEnum\n    };\n    export type ProtocolEnum = 'FTP' | 'SFTP' | 'SSH' | 'HTTP' | 'HTTPS' | 'FTPS';\n    export const ProtocolEnum = {\n        FTP: 'FTP' as ProtocolEnum,\n        SFTP: 'SFTP' as ProtocolEnum,\n        SSH: 'SSH' as ProtocolEnum,\n        HTTP: 'HTTP' as ProtocolEnum,\n        HTTPS: 'HTTPS' as ProtocolEnum,\n        FTPS: 'FTPS' as ProtocolEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface ReportProperty { \n    column?: string;\n    dependents?: { [key: string]: string; };\n    exportSelect?: Array<string>;\n    exportSortColumnName?: string;\n    join?: Array<string>;\n    key?: string;\n    outerSelect?: Array<string>;\n    select?: Array<string>;\n    sortColumnName?: string;\n    type?: ReportProperty.TypeEnum;\n}\nexport namespace ReportProperty {\n    export type TypeEnum = 'object' | 'number' | 'string';\n    export const TypeEnum = {\n        Object: 'object' as TypeEnum,\n        Number: 'number' as TypeEnum,\n        String: 'string' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DurationStrModel } from './durationStrModel';\nimport { FilterModel } from './filterModel';\nimport { SortModel } from './sortModel';\n\n\nexport interface ReportRequest { \n    columns?: Array<string>;\n    currency_of?: ReportRequest.CurrencyOfEnum;\n    duration?: DurationStrModel;\n    filters?: Array<FilterModel>;\n    group_by?: Array<string>;\n    interval?: ReportRequest.IntervalEnum;\n    page_number?: number;\n    page_size?: number;\n    report_id?: string;\n    report_type?: string;\n    sort_by?: Array<SortModel>;\n    time_interval?: string;\n    time_zone?: string;\n}\nexport namespace ReportRequest {\n    export type CurrencyOfEnum = 'licensee' | 'advertiser';\n    export const CurrencyOfEnum = {\n        Licensee: 'licensee' as CurrencyOfEnum,\n        Advertiser: 'advertiser' as CurrencyOfEnum\n    };\n    export type IntervalEnum = 'none' | 'hourly' | 'daily' | 'weekly' | 'monthly';\n    export const IntervalEnum = {\n        None: 'none' as IntervalEnum,\n        Hourly: 'hourly' as IntervalEnum,\n        Daily: 'daily' as IntervalEnum,\n        Weekly: 'weekly' as IntervalEnum,\n        Monthly: 'monthly' as IntervalEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DurationStrModel } from './durationStrModel';\nimport { FilterModel } from './filterModel';\nimport { SortModel } from './sortModel';\n\n\nexport interface ReportResponse { \n    columns?: Array<string>;\n    currency_of?: ReportResponse.CurrencyOfEnum;\n    duration?: DurationStrModel;\n    entity_name?: string;\n    fileDownloadUrl?: string;\n    fileName?: string;\n    filters?: Array<FilterModel>;\n    group_by?: Array<string>;\n    interval?: ReportResponse.IntervalEnum;\n    page_number?: number;\n    page_size?: number;\n    report_id?: string;\n    report_type?: string;\n    results?: Array<any>;\n    results_count?: number;\n    sort_by?: Array<SortModel>;\n    time_zone?: string;\n    total_results_count?: number;\n}\nexport namespace ReportResponse {\n    export type CurrencyOfEnum = 'licensee' | 'advertiser';\n    export const CurrencyOfEnum = {\n        Licensee: 'licensee' as CurrencyOfEnum,\n        Advertiser: 'advertiser' as CurrencyOfEnum\n    };\n    export type IntervalEnum = 'none' | 'hourly' | 'daily' | 'weekly' | 'monthly';\n    export const IntervalEnum = {\n        None: 'none' as IntervalEnum,\n        Hourly: 'hourly' as IntervalEnum,\n        Daily: 'daily' as IntervalEnum,\n        Weekly: 'weekly' as IntervalEnum,\n        Monthly: 'monthly' as IntervalEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DurationModel } from './durationModel';\nimport { FilterModel } from './filterModel';\nimport { ReportProperty } from './reportProperty';\nimport { SortModel } from './sortModel';\n\n\nexport interface ReportingRequest { \n    columns?: Array<string>;\n    currency_of?: ReportingRequest.CurrencyOfEnum;\n    db_type?: ReportingRequest.DbTypeEnum;\n    duration?: DurationModel;\n    entity_name?: string;\n    filters?: Array<FilterModel>;\n    group_by?: Array<string>;\n    include_all?: boolean;\n    interval?: ReportingRequest.IntervalEnum;\n    options?: string;\n    page_number?: number;\n    page_size?: number;\n    pagination?: boolean;\n    properties?: { [key: string]: ReportProperty; };\n    report_id?: string;\n    report_type?: string;\n    sort_by?: Array<SortModel>;\n    time_interval?: string;\n    time_zone?: string;\n    total_required?: boolean;\n}\nexport namespace ReportingRequest {\n    export type CurrencyOfEnum = 'licensee' | 'advertiser';\n    export const CurrencyOfEnum = {\n        Licensee: 'licensee' as CurrencyOfEnum,\n        Advertiser: 'advertiser' as CurrencyOfEnum\n    };\n    export type DbTypeEnum = 'REDSHIFT' | 'ELASTIC' | 'POSTGRE';\n    export const DbTypeEnum = {\n        REDSHIFT: 'REDSHIFT' as DbTypeEnum,\n        ELASTIC: 'ELASTIC' as DbTypeEnum,\n        POSTGRE: 'POSTGRE' as DbTypeEnum\n    };\n    export type IntervalEnum = 'none' | 'hourly' | 'daily' | 'weekly' | 'monthly';\n    export const IntervalEnum = {\n        None: 'none' as IntervalEnum,\n        Hourly: 'hourly' as IntervalEnum,\n        Daily: 'daily' as IntervalEnum,\n        Weekly: 'weekly' as IntervalEnum,\n        Monthly: 'monthly' as IntervalEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { DurationModel } from './durationModel';\nimport { FilterModel } from './filterModel';\nimport { SortModel } from './sortModel';\n\n\nexport interface ReportingResponse { \n    columns?: Array<string>;\n    currency_of?: ReportingResponse.CurrencyOfEnum;\n    duration?: DurationModel;\n    entity_name?: string;\n    fileDownloadUrl?: string;\n    fileName?: string;\n    filters?: Array<FilterModel>;\n    group_by?: Array<string>;\n    interval?: ReportingResponse.IntervalEnum;\n    page_number?: number;\n    page_size?: number;\n    report_id?: string;\n    report_type?: string;\n    results?: Array<any>;\n    results_count?: number;\n    sort_by?: Array<SortModel>;\n    time_zone?: string;\n    total_results_count?: number;\n}\nexport namespace ReportingResponse {\n    export type CurrencyOfEnum = 'licensee' | 'advertiser';\n    export const CurrencyOfEnum = {\n        Licensee: 'licensee' as CurrencyOfEnum,\n        Advertiser: 'advertiser' as CurrencyOfEnum\n    };\n    export type IntervalEnum = 'none' | 'hourly' | 'daily' | 'weekly' | 'monthly';\n    export const IntervalEnum = {\n        None: 'none' as IntervalEnum,\n        Hourly: 'hourly' as IntervalEnum,\n        Daily: 'daily' as IntervalEnum,\n        Weekly: 'weekly' as IntervalEnum,\n        Monthly: 'monthly' as IntervalEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\nimport { JobResponse } from './jobResponse';\nimport { ReportingRequest } from './reportingRequest';\n\n\nexport interface ReportingSchedulerResponse { \n    active?: boolean;\n    archived?: boolean;\n    createdBy?: BaseModel;\n    createdOn?: number;\n    description?: string;\n    endTime?: number;\n    id?: number;\n    interval?: ReportingSchedulerResponse.IntervalEnum;\n    jobs?: Array<JobResponse>;\n    lastRunTime?: number;\n    licenseeId?: number;\n    modifiedBy?: BaseModel;\n    modifiedOn?: number;\n    nextRunTime?: number;\n    receivers?: Array<BaseModel>;\n    reportType?: ReportingSchedulerResponse.ReportTypeEnum;\n    reportingRequest?: ReportingRequest;\n    timezone?: BaseModel;\n    title?: string;\n}\nexport namespace ReportingSchedulerResponse {\n    export type IntervalEnum = 'DAILY' | 'SEVEN_DAYS' | 'FIFTEEN_DAYS' | 'MONTHLY';\n    export const IntervalEnum = {\n        DAILY: 'DAILY' as IntervalEnum,\n        SEVENDAYS: 'SEVEN_DAYS' as IntervalEnum,\n        FIFTEENDAYS: 'FIFTEEN_DAYS' as IntervalEnum,\n        MONTHLY: 'MONTHLY' as IntervalEnum\n    };\n    export type ReportTypeEnum = 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL';\n    export const ReportTypeEnum = {\n        ADVANCED: 'ADVANCED' as ReportTypeEnum,\n        CONVERSION: 'CONVERSION' as ReportTypeEnum,\n        INVENTORY: 'INVENTORY' as ReportTypeEnum,\n        LOSSBID: 'LOSS_BID' as ReportTypeEnum,\n        VIDEO: 'VIDEO' as ReportTypeEnum,\n        ALL: 'ALL' as ReportTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { RuleComponentDTO } from './ruleComponentDTO';\n\n\nexport interface RuleDTO { \n    duration?: number;\n    durationUnit?: RuleDTO.DurationUnitEnum;\n    negate?: boolean;\n    operator?: RuleDTO.OperatorEnum;\n    queryName?: string;\n    ruleElement?: RuleComponentDTO;\n    ruleExpressionList?: Array<RuleDTO>;\n    simpleExpr?: boolean;\n}\nexport namespace RuleDTO {\n    export type DurationUnitEnum = 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH';\n    export const DurationUnitEnum = {\n        MINUTE: 'MINUTE' as DurationUnitEnum,\n        HOUR: 'HOUR' as DurationUnitEnum,\n        DAY: 'DAY' as DurationUnitEnum,\n        WEEK: 'WEEK' as DurationUnitEnum,\n        MONTH: 'MONTH' as DurationUnitEnum\n    };\n    export type OperatorEnum = 'AND' | 'OR' | 'NOT';\n    export const OperatorEnum = {\n        AND: 'AND' as OperatorEnum,\n        OR: 'OR' as OperatorEnum,\n        NOT: 'NOT' as OperatorEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\n\n\nexport interface SchedulerRequest { \n    endTime?: number;\n    receivers?: Array<BaseModel>;\n    schedule?: SchedulerRequest.ScheduleEnum;\n    timezone?: BaseModel;\n}\nexport namespace SchedulerRequest {\n    export type ScheduleEnum = 'DAILY' | 'SEVEN_DAYS' | 'FIFTEEN_DAYS' | 'MONTHLY';\n    export const ScheduleEnum = {\n        DAILY: 'DAILY' as ScheduleEnum,\n        SEVENDAYS: 'SEVEN_DAYS' as ScheduleEnum,\n        FIFTEENDAYS: 'FIFTEEN_DAYS' as ScheduleEnum,\n        MONTHLY: 'MONTHLY' as ScheduleEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { AbandonedSessionUserTargeting } from './abandonedSessionUserTargeting';\nimport { AgeGroup } from './ageGroup';\nimport { AudienceStrDeviceDTO } from './audienceStrDeviceDTO';\nimport { BaseModel } from './baseModel';\nimport { BaseModelWithCreativeSetType } from './baseModelWithCreativeSetType';\nimport { CTVTargeting } from './cTVTargeting';\nimport { DayPart } from './dayPart';\nimport { DealCategoryDTO } from './dealCategoryDTO';\nimport { DealESDTO } from './dealESDTO';\nimport { GeoFenceDTO } from './geoFenceDTO';\nimport { RTBAggregators } from './rTBAggregators';\nimport { RTBSites } from './rTBSites';\nimport { TargetAppCategories } from './targetAppCategories';\nimport { TargetBrowsers } from './targetBrowsers';\nimport { TargetGeoDTO } from './targetGeoDTO';\nimport { TargetMobileDevices } from './targetMobileDevices';\nimport { TemperatureTargetingDTO } from './temperatureTargetingDTO';\nimport { TimeZoneDTO } from './timeZoneDTO';\nimport { VideoRewardedTypeTargeting } from './videoRewardedTypeTargeting';\nimport { VideoTargeting } from './videoTargeting';\nimport { WeatherESDTO } from './weatherESDTO';\nimport { ZipCode } from './zipCode';\n\n\nexport interface StrategyDTO { \n    abandonedSessionUserTargeting?: AbandonedSessionUserTargeting;\n    abtestBidAndBudgetAdjustment?: boolean;\n    active?: boolean;\n    adGroupCount?: number;\n    advertiser?: BaseModel;\n    advertiserId?: number;\n    ageGroupTargeting?: AgeGroup;\n    apps?: Array<BaseModel>;\n    appsStrategies?: Array<BaseModel>;\n    auctionTypeTargeting?: StrategyDTO.AuctionTypeTargetingEnum;\n    bidCapMax?: number;\n    bidCapMin?: number;\n    bidPercentage?: number;\n    budget?: number;\n    budgetBy?: number;\n    budgetValue?: number;\n    campaign?: BaseModel;\n    campaignFcap?: boolean;\n    campaignId?: number;\n    channels?: Array<BaseModel>;\n    connectionTypes?: Array<StrategyDTO.ConnectionTypesEnum>;\n    consentType?: number;\n    cpaTargetValue?: number;\n    cpiTargetValue?: number;\n    createdBy?: number;\n    creationTime?: number;\n    creativeSets?: Array<BaseModelWithCreativeSetType>;\n    creatives?: Array<BaseModel>;\n    ctvTargeting?: CTVTargeting;\n    currency?: BaseModel;\n    currencyCode?: string;\n    dailyAdvSpendBudget?: number;\n    daysDuration?: number;\n    daysElapsed?: number;\n    dealDTO?: Array<DealESDTO>;\n    deliveryPriority?: BaseModel;\n    editable?: boolean;\n    endTime?: number;\n    experimentId?: number;\n    fcap?: number;\n    fcapEnabled?: boolean;\n    fcapFrequency?: number;\n    fcapInterval?: number;\n    genderTargeting?: StrategyDTO.GenderTargetingEnum;\n    geoFenceDTO?: GeoFenceDTO;\n    id?: number;\n    isAbTestStrategy?: boolean;\n    isArchived?: boolean;\n    isBargainerActive?: boolean;\n    isCtv?: boolean;\n    isEditable?: boolean;\n    isNative?: boolean;\n    isSkOverlayTargetted?: boolean;\n    licensee?: BaseModel;\n    licenseeId?: number;\n    lifetimeUserFcap?: number;\n    maskedTarget?: number;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    _native?: boolean;\n    oldGeoTargeting?: string;\n    pacingBudgetValue?: number;\n    pacingType?: BaseModel;\n    pacingTypeId?: number;\n    pixels?: Array<BaseModel>;\n    placements?: Array<BaseModel>;\n    pricingType?: BaseModel;\n    pricingTypeId?: number;\n    pricingValue?: number;\n    productFeedTargeting?: Array<BaseModel>;\n    productSelectionPolicy?: StrategyDTO.ProductSelectionPolicyEnum;\n    publisherTypes?: Array<StrategyDTO.PublisherTypesEnum>;\n    resetTimeStrategyDeltaMediaBudget?: number;\n    roiTargetType?: BaseModel;\n    roiTargetValue?: number;\n    rtbAggregators?: RTBAggregators;\n    rtbSites?: RTBSites;\n    sections?: Array<BaseModel>;\n    skOverlayPosition?: boolean;\n    skadOptimisedStrategy?: boolean;\n    startTime?: number;\n    strategyDeltaMediaBudget?: number;\n    strategyType?: string;\n    targetAndroidCategories?: TargetAppCategories;\n    targetAppRatings?: number;\n    targetAppSegments?: AudienceStrDeviceDTO;\n    targetBrowsers?: TargetBrowsers;\n    targetDays?: DayPart;\n    targetDealCategory?: DealCategoryDTO;\n    targetDmpSegments?: AudienceStrDeviceDTO;\n    targetGeographies?: TargetGeoDTO;\n    targetIosCategories?: TargetAppCategories;\n    targetLalSegments?: AudienceStrDeviceDTO;\n    targetMobileDevices?: TargetMobileDevices;\n    targetOnlyPublishedApp?: boolean;\n    targetWebSegments?: AudienceStrDeviceDTO;\n    temperatureTargetingDTO?: TemperatureTargetingDTO;\n    templateId?: number;\n    timezone?: TimeZoneDTO;\n    trackingParameter?: string;\n    type?: StrategyDTO.TypeEnum;\n    userPurchaseFrequency?: Array<BaseModel>;\n    videoPlacement?: VideoTargeting;\n    videoRewardedTypeTargeting?: VideoRewardedTypeTargeting;\n    weatherTargetingDTO?: Array<WeatherESDTO>;\n    zipCodes?: ZipCode;\n}\nexport namespace StrategyDTO {\n    export type AuctionTypeTargetingEnum = 'FIRST' | 'SECOND' | 'ALL';\n    export const AuctionTypeTargetingEnum = {\n        FIRST: 'FIRST' as AuctionTypeTargetingEnum,\n        SECOND: 'SECOND' as AuctionTypeTargetingEnum,\n        ALL: 'ALL' as AuctionTypeTargetingEnum\n    };\n    export type ConnectionTypesEnum = 'UNKNOWN' | 'ETHERNET' | 'WIFI' | 'CELLULAR_NETWORK' | 'CELLULAR_NETWORK_2G' | 'CELLULAR_NETWORK_3G' | 'CELLULAR_NETWORK_4G' | 'CELLULAR_NETWORK_5G';\n    export const ConnectionTypesEnum = {\n        UNKNOWN: 'UNKNOWN' as ConnectionTypesEnum,\n        ETHERNET: 'ETHERNET' as ConnectionTypesEnum,\n        WIFI: 'WIFI' as ConnectionTypesEnum,\n        CELLULARNETWORK: 'CELLULAR_NETWORK' as ConnectionTypesEnum,\n        CELLULARNETWORK2G: 'CELLULAR_NETWORK_2G' as ConnectionTypesEnum,\n        CELLULARNETWORK3G: 'CELLULAR_NETWORK_3G' as ConnectionTypesEnum,\n        CELLULARNETWORK4G: 'CELLULAR_NETWORK_4G' as ConnectionTypesEnum,\n        CELLULARNETWORK5G: 'CELLULAR_NETWORK_5G' as ConnectionTypesEnum\n    };\n    export type GenderTargetingEnum = 'MALE' | 'FEMALE';\n    export const GenderTargetingEnum = {\n        MALE: 'MALE' as GenderTargetingEnum,\n        FEMALE: 'FEMALE' as GenderTargetingEnum\n    };\n    export type ProductSelectionPolicyEnum = 'PS_DEFAULT' | 'PS_USERVIEW' | 'PS_USER_CAT_TS' | 'PS_ADV_PR_TS' | 'PS_ADV_CAT_PR_TS' | 'PS_DAY_WEIGHTED_RANDOM' | 'PS_ADV_PR_CONTENT_TS';\n    export const ProductSelectionPolicyEnum = {\n        DEFAULT: 'PS_DEFAULT' as ProductSelectionPolicyEnum,\n        USERVIEW: 'PS_USERVIEW' as ProductSelectionPolicyEnum,\n        USERCATTS: 'PS_USER_CAT_TS' as ProductSelectionPolicyEnum,\n        ADVPRTS: 'PS_ADV_PR_TS' as ProductSelectionPolicyEnum,\n        ADVCATPRTS: 'PS_ADV_CAT_PR_TS' as ProductSelectionPolicyEnum,\n        DAYWEIGHTEDRANDOM: 'PS_DAY_WEIGHTED_RANDOM' as ProductSelectionPolicyEnum,\n        ADVPRCONTENTTS: 'PS_ADV_PR_CONTENT_TS' as ProductSelectionPolicyEnum\n    };\n    export type PublisherTypesEnum = 'DIRECT' | 'RESELLER' | 'UNKNOWN';\n    export const PublisherTypesEnum = {\n        DIRECT: 'DIRECT' as PublisherTypesEnum,\n        RESELLER: 'RESELLER' as PublisherTypesEnum,\n        UNKNOWN: 'UNKNOWN' as PublisherTypesEnum\n    };\n    export type TypeEnum = 'MULTI_DEVICE' | 'CTV_OTT';\n    export const TypeEnum = {\n        MULTIDEVICE: 'MULTI_DEVICE' as TypeEnum,\n        CTVOTT: 'CTV_OTT' as TypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface StrategyInlineDTO { \n    bidCapMax?: number;\n    bidCapMin?: number;\n    budgetValue?: number;\n    campaignFcap?: boolean;\n    campaignId?: number;\n    cpaTargetValue?: number;\n    cpiTargetValue?: number;\n    dailyAdvSpendBudget?: number;\n    fcapFrequency?: number;\n    fcapInterval?: number;\n    id?: number;\n    isBargainerActive?: boolean;\n    name?: string;\n    pacingBudgetValue?: number;\n    pacingType?: number;\n    pricingType?: number;\n    pricingValue?: number;\n    roiTargetValue?: number;\n    strategyType?: StrategyInlineDTO.StrategyTypeEnum;\n}\nexport namespace StrategyInlineDTO {\n    export type StrategyTypeEnum = 'standard' | 'clickTracker';\n    export const StrategyTypeEnum = {\n        Standard: 'standard' as StrategyTypeEnum,\n        ClickTracker: 'clickTracker' as StrategyTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface StrategyQuickEditDTO { \n    bidCapMax?: number;\n    bidCapMin?: number;\n    budgetValue?: number;\n    campaignFcap?: boolean;\n    campaignId?: number;\n    cpaTargetValue?: number;\n    cpiTargetValue?: number;\n    fcapFrequency?: number;\n    fcapInterval?: number;\n    id?: number;\n    name?: string;\n    pacingBudgetValue?: number;\n    pricingType?: number;\n    pricingValue?: number;\n    roiTargetValue?: number;\n    strategyType?: StrategyQuickEditDTO.StrategyTypeEnum;\n}\nexport namespace StrategyQuickEditDTO {\n    export type StrategyTypeEnum = 'standard' | 'clickTracker';\n    export const StrategyTypeEnum = {\n        Standard: 'standard' as StrategyTypeEnum,\n        ClickTracker: 'clickTracker' as StrategyTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface StrategyRuleResponse { \n    active?: boolean;\n    clicks?: number;\n    convType?: StrategyRuleResponse.ConvTypeEnum;\n    convs?: number;\n    createdBy?: number;\n    creationTime?: number;\n    duration?: number;\n    id?: number;\n    imps?: number;\n    isArchived?: boolean;\n    lastRunTime?: number;\n    modifiedBy?: number;\n    modifiedTime?: number;\n    name?: string;\n    refreshRate?: number;\n    ruleId?: number;\n    spend?: number;\n    state?: StrategyRuleResponse.StateEnum;\n}\nexport namespace StrategyRuleResponse {\n    export type ConvTypeEnum = 'INSTALL' | 'RE_ENGAGS' | 'CONV' | 'CLICKS';\n    export const ConvTypeEnum = {\n        INSTALL: 'INSTALL' as ConvTypeEnum,\n        REENGAGS: 'RE_ENGAGS' as ConvTypeEnum,\n        CONV: 'CONV' as ConvTypeEnum,\n        CLICKS: 'CLICKS' as ConvTypeEnum\n    };\n    export type StateEnum = 'RUNNING' | 'STOPPED';\n    export const StateEnum = {\n        RUNNING: 'RUNNING' as StateEnum,\n        STOPPED: 'STOPPED' as StateEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface StrategyTemplateDTO { \n    advertiserId?: number;\n    createdBy?: number;\n    creationTime?: number;\n    description?: string;\n    goal?: StrategyTemplateDTO.GoalEnum;\n    licenseeId?: number;\n    templateName?: string;\n    totalUsage?: number;\n}\nexport namespace StrategyTemplateDTO {\n    export type GoalEnum = 'WEBSITE' | 'MOBILE_APP_INSTALLS' | 'MOBILE_APP_ENGAGEMENT' | 'BRAND_AWARENESS';\n    export const GoalEnum = {\n        WEBSITE: 'WEBSITE' as GoalEnum,\n        MOBILEAPPINSTALLS: 'MOBILE_APP_INSTALLS' as GoalEnum,\n        MOBILEAPPENGAGEMENT: 'MOBILE_APP_ENGAGEMENT' as GoalEnum,\n        BRANDAWARENESS: 'BRAND_AWARENESS' as GoalEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { BaseModel } from './baseModel';\n\n\nexport interface StrategyTemplateResponse { \n    advertiserId?: number;\n    createdBy?: BaseModel;\n    creationTime?: number;\n    description?: string;\n    goal?: StrategyTemplateResponse.GoalEnum;\n    id?: number;\n    licensee?: BaseModel;\n    strategyJson?: string;\n    templateName?: string;\n    totalUsage?: number;\n}\nexport namespace StrategyTemplateResponse {\n    export type GoalEnum = 'WEBSITE' | 'MOBILE_APP_INSTALLS' | 'MOBILE_APP_ENGAGEMENT' | 'BRAND_AWARENESS';\n    export const GoalEnum = {\n        WEBSITE: 'WEBSITE' as GoalEnum,\n        MOBILEAPPINSTALLS: 'MOBILE_APP_INSTALLS' as GoalEnum,\n        MOBILEAPPENGAGEMENT: 'MOBILE_APP_ENGAGEMENT' as GoalEnum,\n        BRANDAWARENESS: 'BRAND_AWARENESS' as GoalEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface TemplateVariablesDTO { \n    elasticSearchIndex?: string;\n    hintMessage?: string;\n    isActive?: boolean;\n    numberRange?: string;\n    variableId?: number;\n    variableKey?: string;\n    variableTitle?: string;\n    variableType?: TemplateVariablesDTO.VariableTypeEnum;\n}\nexport namespace TemplateVariablesDTO {\n    export type VariableTypeEnum = 'SELECT' | 'INPUT' | 'TEXT_AREA' | 'COLOR_PICKER' | 'POPUP' | 'BOOLEAN' | 'NUMBER';\n    export const VariableTypeEnum = {\n        SELECT: 'SELECT' as VariableTypeEnum,\n        INPUT: 'INPUT' as VariableTypeEnum,\n        TEXTAREA: 'TEXT_AREA' as VariableTypeEnum,\n        COLORPICKER: 'COLOR_PICKER' as VariableTypeEnum,\n        POPUP: 'POPUP' as VariableTypeEnum,\n        BOOLEAN: 'BOOLEAN' as VariableTypeEnum,\n        NUMBER: 'NUMBER' as VariableTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { Size } from './size';\n\n\nexport interface VastCreative { \n    duration?: number;\n    hasEndCard?: boolean;\n    size?: Size;\n    videoFormat?: VastCreative.VideoFormatEnum;\n    videoLink?: string;\n}\nexport namespace VastCreative {\n    export type VideoFormatEnum = 'FLV' | 'MP4' | 'THREE_GPP' | 'MOV' | 'WEBM' | 'DASH' | 'HLS' | 'M3U8';\n    export const VideoFormatEnum = {\n        FLV: 'FLV' as VideoFormatEnum,\n        MP4: 'MP4' as VideoFormatEnum,\n        THREEGPP: 'THREE_GPP' as VideoFormatEnum,\n        MOV: 'MOV' as VideoFormatEnum,\n        WEBM: 'WEBM' as VideoFormatEnum,\n        DASH: 'DASH' as VideoFormatEnum,\n        HLS: 'HLS' as VideoFormatEnum,\n        M3U8: 'M3U8' as VideoFormatEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface VideoAttributes { \n    bitRate?: string;\n    companionContentType?: VideoAttributes.CompanionContentTypeEnum;\n    companionCreativeId?: number;\n    companionHeight?: number;\n    companionPath?: string;\n    companionType?: VideoAttributes.CompanionTypeEnum;\n    companionWidth?: number;\n    durationInSecs?: number;\n    fallbackClickUrl?: string;\n    format?: VideoAttributes.FormatEnum;\n    hasCompanion?: boolean;\n    hotstarPreviewUrl?: string;\n    id?: number;\n    isSkippable?: number;\n    vastProtocol?: VideoAttributes.VastProtocolEnum;\n    videoHeight?: number;\n    videoPath?: string;\n    videoWidth?: number;\n}\nexport namespace VideoAttributes {\n    export type CompanionContentTypeEnum = 'ZIP' | 'JPG' | 'JPEG' | 'PNG' | 'GIF' | 'FLV' | 'MP4' | 'THREE_GPP' | 'MOV' | 'WEBM' | 'DASH' | 'HLS' | 'GZIP' | 'TEXT' | 'CSV' | 'UNKNOWN' | 'XMPEGURL';\n    export const CompanionContentTypeEnum = {\n        ZIP: 'ZIP' as CompanionContentTypeEnum,\n        JPG: 'JPG' as CompanionContentTypeEnum,\n        JPEG: 'JPEG' as CompanionContentTypeEnum,\n        PNG: 'PNG' as CompanionContentTypeEnum,\n        GIF: 'GIF' as CompanionContentTypeEnum,\n        FLV: 'FLV' as CompanionContentTypeEnum,\n        MP4: 'MP4' as CompanionContentTypeEnum,\n        THREEGPP: 'THREE_GPP' as CompanionContentTypeEnum,\n        MOV: 'MOV' as CompanionContentTypeEnum,\n        WEBM: 'WEBM' as CompanionContentTypeEnum,\n        DASH: 'DASH' as CompanionContentTypeEnum,\n        HLS: 'HLS' as CompanionContentTypeEnum,\n        GZIP: 'GZIP' as CompanionContentTypeEnum,\n        TEXT: 'TEXT' as CompanionContentTypeEnum,\n        CSV: 'CSV' as CompanionContentTypeEnum,\n        UNKNOWN: 'UNKNOWN' as CompanionContentTypeEnum,\n        XMPEGURL: 'XMPEGURL' as CompanionContentTypeEnum\n    };\n    export type CompanionTypeEnum = 'NO_COMPANION' | 'COMPANION_IMAGE' | 'COMPANION_HTML' | 'COMPANION_IFRAME' | 'COMPANION_FLASH';\n    export const CompanionTypeEnum = {\n        NOCOMPANION: 'NO_COMPANION' as CompanionTypeEnum,\n        COMPANIONIMAGE: 'COMPANION_IMAGE' as CompanionTypeEnum,\n        COMPANIONHTML: 'COMPANION_HTML' as CompanionTypeEnum,\n        COMPANIONIFRAME: 'COMPANION_IFRAME' as CompanionTypeEnum,\n        COMPANIONFLASH: 'COMPANION_FLASH' as CompanionTypeEnum\n    };\n    export type FormatEnum = 'FLV' | 'MP4' | 'THREE_GPP' | 'MOV' | 'WEBM' | 'DASH' | 'HLS' | 'M3U8';\n    export const FormatEnum = {\n        FLV: 'FLV' as FormatEnum,\n        MP4: 'MP4' as FormatEnum,\n        THREEGPP: 'THREE_GPP' as FormatEnum,\n        MOV: 'MOV' as FormatEnum,\n        WEBM: 'WEBM' as FormatEnum,\n        DASH: 'DASH' as FormatEnum,\n        HLS: 'HLS' as FormatEnum,\n        M3U8: 'M3U8' as FormatEnum\n    };\n    export type VastProtocolEnum = 'VAST_1' | 'VAST_2' | 'VAST_3' | 'VAST_1_WRAPPER' | 'VAST_2_WRAPPER' | 'VAST_3_WRAPPER' | 'VAST_4' | 'VAST_4_WRAPPER' | 'DAAST_1_0' | 'DAAST_1_0_WRAPPER';\n    export const VastProtocolEnum = {\n        VAST1: 'VAST_1' as VastProtocolEnum,\n        VAST2: 'VAST_2' as VastProtocolEnum,\n        VAST3: 'VAST_3' as VastProtocolEnum,\n        VAST1WRAPPER: 'VAST_1_WRAPPER' as VastProtocolEnum,\n        VAST2WRAPPER: 'VAST_2_WRAPPER' as VastProtocolEnum,\n        VAST3WRAPPER: 'VAST_3_WRAPPER' as VastProtocolEnum,\n        VAST4: 'VAST_4' as VastProtocolEnum,\n        VAST4WRAPPER: 'VAST_4_WRAPPER' as VastProtocolEnum,\n        DAAST10: 'DAAST_1_0' as VastProtocolEnum,\n        DAAST10WRAPPER: 'DAAST_1_0_WRAPPER' as VastProtocolEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\n\n\nexport interface VideoProperties { \n    bitRate?: string;\n    campanionType?: VideoProperties.CampanionTypeEnum;\n    companionHeight?: number;\n    companionPath?: number;\n    companionWidth?: number;\n    durationInSec?: number;\n    optimizedBitRate?: string;\n    optimizedHeight?: number;\n    optimizedSize?: string;\n    optimizedWidth?: number;\n    videoPath?: string;\n}\nexport namespace VideoProperties {\n    export type CampanionTypeEnum = 'NO_COMPANION' | 'COMPANION_IMAGE' | 'COMPANION_HTML' | 'COMPANION_IFRAME' | 'COMPANION_FLASH';\n    export const CampanionTypeEnum = {\n        NOCOMPANION: 'NO_COMPANION' as CampanionTypeEnum,\n        COMPANIONIMAGE: 'COMPANION_IMAGE' as CampanionTypeEnum,\n        COMPANIONHTML: 'COMPANION_HTML' as CampanionTypeEnum,\n        COMPANIONIFRAME: 'COMPANION_IFRAME' as CampanionTypeEnum,\n        COMPANIONFLASH: 'COMPANION_FLASH' as CampanionTypeEnum\n    };\n}\n","/**\n * Api Documentation\n * Api Documentation\n *\n * OpenAPI spec version: 1.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n */\nimport { CSSThemeEntity } from './cSSThemeEntity';\n\n\nexport interface WhitelabelingEntity { \n    favIcon?: string;\n    id?: number;\n    licenseeId?: number;\n    logoLg?: string;\n    logoSm?: string;\n    name?: string;\n    oidcClient?: WhitelabelingEntity.OidcClientEnum;\n    oidcClientId?: string;\n    oidcIssuer?: string;\n    pageTitle?: string;\n    subDomain?: string;\n    theme?: CSSThemeEntity;\n}\nexport namespace WhitelabelingEntity {\n    export type OidcClientEnum = 'GOOGLE' | 'FACEBOOK' | 'OFFICE_365' | 'OKTA';\n    export const OidcClientEnum = {\n        GOOGLE: 'GOOGLE' as OidcClientEnum,\n        FACEBOOK: 'FACEBOOK' as OidcClientEnum,\n        OFFICE365: 'OFFICE_365' as OidcClientEnum,\n        OKTA: 'OKTA' as OidcClientEnum\n    };\n}\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\n\nimport { AdminControllerService } from './api/adminController.service';\nimport { AdvertiserControllerService } from './api/advertiserController.service';\nimport { AppSettingsControllerService } from './api/appSettingsController.service';\nimport { AudienceControllerService } from './api/audienceController.service';\nimport { AuditControllerService } from './api/auditController.service';\nimport { BidFunnelControllerService } from './api/bidFunnelController.service';\nimport { BulkStrategyControllerService } from './api/bulkStrategyController.service';\nimport { CSSThemeController_Service } from './api/cSSThemeController_.service';\nimport { CampaignControllerService } from './api/campaignController.service';\nimport { CatalogControllerService } from './api/catalogController.service';\nimport { ClickDestinationControllerService } from './api/clickDestinationController.service';\nimport { CreativeControllerService } from './api/creativeController.service';\nimport { CreativeSetsControllerService } from './api/creativeSetsController.service';\nimport { CreativeTemplateThemesControllerService } from './api/creativeTemplateThemesController.service';\nimport { CreativeTemplateVariablesControllerService } from './api/creativeTemplateVariablesController.service';\nimport { CreativeTemplatesControllerService } from './api/creativeTemplatesController.service';\nimport { CustomerReportingControllerService } from './api/customerReportingController.service';\nimport { DashboardControllerService } from './api/dashboardController.service';\nimport { ExperimentsControllerService } from './api/experimentsController.service';\nimport { NotificationsControllerService } from './api/notificationsController.service';\nimport { PixelControllerService } from './api/pixelController.service';\nimport { ReportControllerService } from './api/reportController.service';\nimport { ReportingControllerService } from './api/reportingController.service';\nimport { ReportingSchedulerControllerService } from './api/reportingSchedulerController.service';\nimport { SliceXControllerService } from './api/sliceXController.service';\nimport { StrategyControllerService } from './api/strategyController.service';\nimport { StrategyTemplateControllerService } from './api/strategyTemplateController.service';\nimport { UILoggerControllerService } from './api/uILoggerController.service';\nimport { UserPreferenceControllerService } from './api/userPreferenceController.service';\n\n@NgModule({\n  imports:      [],\n  declarations: [],\n  exports:      [],\n  providers: [\n    AdminControllerService,\n    AdvertiserControllerService,\n    AppSettingsControllerService,\n    AudienceControllerService,\n    AuditControllerService,\n    BidFunnelControllerService,\n    BulkStrategyControllerService,\n    CSSThemeController_Service,\n    CampaignControllerService,\n    CatalogControllerService,\n    ClickDestinationControllerService,\n    CreativeControllerService,\n    CreativeSetsControllerService,\n    CreativeTemplateThemesControllerService,\n    CreativeTemplateVariablesControllerService,\n    CreativeTemplatesControllerService,\n    CustomerReportingControllerService,\n    DashboardControllerService,\n    ExperimentsControllerService,\n    NotificationsControllerService,\n    PixelControllerService,\n    ReportControllerService,\n    ReportingControllerService,\n    ReportingSchedulerControllerService,\n    SliceXControllerService,\n    StrategyControllerService,\n    StrategyTemplateControllerService,\n    UILoggerControllerService,\n    UserPreferenceControllerService ]\n})\nexport class ApiModule {\n    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<ApiModule> {\n        return {\n            ngModule: ApiModule,\n            providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor( @Optional() @SkipSelf() parentModule: ApiModule,\n                 @Optional() http: HttpClient) {\n        if (parentModule) {\n            throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\n        }\n        if (!http) {\n            throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n            'See also https://github.com/angular/angular/issues/20575');\n        }\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.Configuration"],"mappings":"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"}