hostinger-api-sdk 1.32.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * Hostinger API
5
5
  *
6
- * API Version: 1.34.0
6
+ * API Version: 1.35.0
7
7
  *
8
8
  * NOTE: This file is auto-generated, DO NOT EDIT THIS FILE MANUALLY!
9
9
  * If you want to contribute or request a new feature, please create an issue or pull request on https://github.com/hostinger/api
@@ -7828,6 +7828,25 @@ export interface ReachListContactsV1200Response {
7828
7828
  */
7829
7829
  'meta': CommonSchemaPaginationMetaSchema;
7830
7830
  }
7831
+ /**
7832
+ *
7833
+ * @export
7834
+ * @interface ReachListFormsV1200Response
7835
+ */
7836
+ export interface ReachListFormsV1200Response {
7837
+ /**
7838
+ * Array of [`Reach.V1.Forms.FormResource`](#model/reachv1formsformresource)
7839
+ * @type {Array<ReachV1FormsFormResource>}
7840
+ * @memberof ReachListFormsV1200Response
7841
+ */
7842
+ 'data': Array<ReachV1FormsFormResource>;
7843
+ /**
7844
+ *
7845
+ * @type {CommonSchemaPaginationMetaSchema}
7846
+ * @memberof ReachListFormsV1200Response
7847
+ */
7848
+ 'meta': CommonSchemaPaginationMetaSchema;
7849
+ }
7831
7850
  /**
7832
7851
  *
7833
7852
  * @export
@@ -9715,6 +9734,217 @@ export interface ReachV1ContactsUpdateRequestFieldsInner {
9715
9734
  */
9716
9735
  'selected_option_uuids': Array<string>;
9717
9736
  }
9737
+ /**
9738
+ *
9739
+ * @export
9740
+ * @interface ReachV1FormsFormDetailsResource
9741
+ */
9742
+ export interface ReachV1FormsFormDetailsResource {
9743
+ /**
9744
+ *
9745
+ * @type {string}
9746
+ * @memberof ReachV1FormsFormDetailsResource
9747
+ */
9748
+ 'uuid': string;
9749
+ /**
9750
+ *
9751
+ * @type {string}
9752
+ * @memberof ReachV1FormsFormDetailsResource
9753
+ */
9754
+ 'name': string;
9755
+ /**
9756
+ * A `paused` form keeps its template online but stops accepting submissions.
9757
+ * @type {string}
9758
+ * @memberof ReachV1FormsFormDetailsResource
9759
+ */
9760
+ 'status': ReachV1FormsFormDetailsResourceStatusEnum;
9761
+ /**
9762
+ *
9763
+ * @type {string}
9764
+ * @memberof ReachV1FormsFormDetailsResource
9765
+ */
9766
+ 'type': ReachV1FormsFormDetailsResourceTypeEnum;
9767
+ /**
9768
+ *
9769
+ * @type {ReachV1FormsFormTemplateDetailsResource}
9770
+ * @memberof ReachV1FormsFormDetailsResource
9771
+ */
9772
+ 'template': ReachV1FormsFormTemplateDetailsResource;
9773
+ /**
9774
+ * Tags applied to every contact this form captures.
9775
+ * @type {Array<ReachV1FormsFormTagResource>}
9776
+ * @memberof ReachV1FormsFormDetailsResource
9777
+ */
9778
+ 'tags': Array<ReachV1FormsFormTagResource>;
9779
+ /**
9780
+ *
9781
+ * @type {string}
9782
+ * @memberof ReachV1FormsFormDetailsResource
9783
+ */
9784
+ 'created_at': string;
9785
+ /**
9786
+ *
9787
+ * @type {string}
9788
+ * @memberof ReachV1FormsFormDetailsResource
9789
+ */
9790
+ 'updated_at': string | null;
9791
+ }
9792
+
9793
+ export const ReachV1FormsFormDetailsResourceStatusEnum = {
9794
+ Active: 'active',
9795
+ Paused: 'paused',
9796
+ Draft: 'draft'
9797
+ } as const;
9798
+
9799
+ export type ReachV1FormsFormDetailsResourceStatusEnum = typeof ReachV1FormsFormDetailsResourceStatusEnum[keyof typeof ReachV1FormsFormDetailsResourceStatusEnum];
9800
+ export const ReachV1FormsFormDetailsResourceTypeEnum = {
9801
+ Form: 'form'
9802
+ } as const;
9803
+
9804
+ export type ReachV1FormsFormDetailsResourceTypeEnum = typeof ReachV1FormsFormDetailsResourceTypeEnum[keyof typeof ReachV1FormsFormDetailsResourceTypeEnum];
9805
+
9806
+ /**
9807
+ *
9808
+ * @export
9809
+ * @interface ReachV1FormsFormResource
9810
+ */
9811
+ export interface ReachV1FormsFormResource {
9812
+ /**
9813
+ *
9814
+ * @type {string}
9815
+ * @memberof ReachV1FormsFormResource
9816
+ */
9817
+ 'uuid': string;
9818
+ /**
9819
+ *
9820
+ * @type {string}
9821
+ * @memberof ReachV1FormsFormResource
9822
+ */
9823
+ 'name': string;
9824
+ /**
9825
+ * A `paused` form keeps its template online but stops accepting submissions.
9826
+ * @type {string}
9827
+ * @memberof ReachV1FormsFormResource
9828
+ */
9829
+ 'status': ReachV1FormsFormResourceStatusEnum;
9830
+ /**
9831
+ *
9832
+ * @type {string}
9833
+ * @memberof ReachV1FormsFormResource
9834
+ */
9835
+ 'type': ReachV1FormsFormResourceTypeEnum;
9836
+ /**
9837
+ *
9838
+ * @type {ReachV1FormsFormTemplateResource}
9839
+ * @memberof ReachV1FormsFormResource
9840
+ */
9841
+ 'template': ReachV1FormsFormTemplateResource;
9842
+ /**
9843
+ *
9844
+ * @type {string}
9845
+ * @memberof ReachV1FormsFormResource
9846
+ */
9847
+ 'created_at': string;
9848
+ /**
9849
+ *
9850
+ * @type {string}
9851
+ * @memberof ReachV1FormsFormResource
9852
+ */
9853
+ 'updated_at': string | null;
9854
+ }
9855
+
9856
+ export const ReachV1FormsFormResourceStatusEnum = {
9857
+ Active: 'active',
9858
+ Paused: 'paused',
9859
+ Draft: 'draft'
9860
+ } as const;
9861
+
9862
+ export type ReachV1FormsFormResourceStatusEnum = typeof ReachV1FormsFormResourceStatusEnum[keyof typeof ReachV1FormsFormResourceStatusEnum];
9863
+ export const ReachV1FormsFormResourceTypeEnum = {
9864
+ Form: 'form'
9865
+ } as const;
9866
+
9867
+ export type ReachV1FormsFormResourceTypeEnum = typeof ReachV1FormsFormResourceTypeEnum[keyof typeof ReachV1FormsFormResourceTypeEnum];
9868
+
9869
+ /**
9870
+ * A tag applied to every contact this form captures.
9871
+ * @export
9872
+ * @interface ReachV1FormsFormTagResource
9873
+ */
9874
+ export interface ReachV1FormsFormTagResource {
9875
+ /**
9876
+ *
9877
+ * @type {string}
9878
+ * @memberof ReachV1FormsFormTagResource
9879
+ */
9880
+ 'uuid': string;
9881
+ /**
9882
+ *
9883
+ * @type {string}
9884
+ * @memberof ReachV1FormsFormTagResource
9885
+ */
9886
+ 'value': string;
9887
+ /**
9888
+ * How the tag came about. `custom` covers the tags you create yourself, `import` the ones added by contact imports, and `form` and `system` the ones Reach creates on its own. Every form gets a `form:{name}` tag when it is created.
9889
+ * @type {string}
9890
+ * @memberof ReachV1FormsFormTagResource
9891
+ */
9892
+ 'type': ReachV1FormsFormTagResourceTypeEnum;
9893
+ }
9894
+
9895
+ export const ReachV1FormsFormTagResourceTypeEnum = {
9896
+ Form: 'form',
9897
+ Custom: 'custom',
9898
+ Import: 'import',
9899
+ System: 'system'
9900
+ } as const;
9901
+
9902
+ export type ReachV1FormsFormTagResourceTypeEnum = typeof ReachV1FormsFormTagResourceTypeEnum[keyof typeof ReachV1FormsFormTagResourceTypeEnum];
9903
+
9904
+ /**
9905
+ * The rendered form template. There is no ready-made embed snippet - either serve the HTML behind `url` or build your own embed around the form uuid. All fields stay null until the template has been generated.
9906
+ * @export
9907
+ * @interface ReachV1FormsFormTemplateDetailsResource
9908
+ */
9909
+ export interface ReachV1FormsFormTemplateDetailsResource {
9910
+ /**
9911
+ *
9912
+ * @type {string}
9913
+ * @memberof ReachV1FormsFormTemplateDetailsResource
9914
+ */
9915
+ 'uuid': string | null;
9916
+ /**
9917
+ * Storage path of the template HTML, relative to the storage directory of this profile. `url` already includes that prefix, so prefer it unless you resolve storage paths yourself.
9918
+ * @type {string}
9919
+ * @memberof ReachV1FormsFormTemplateDetailsResource
9920
+ */
9921
+ 'path': string | null;
9922
+ /**
9923
+ * Publicly reachable URL of the template HTML.
9924
+ * @type {string}
9925
+ * @memberof ReachV1FormsFormTemplateDetailsResource
9926
+ */
9927
+ 'url': string | null;
9928
+ }
9929
+ /**
9930
+ * The rendered form template. Both fields stay null until the template has been generated.
9931
+ * @export
9932
+ * @interface ReachV1FormsFormTemplateResource
9933
+ */
9934
+ export interface ReachV1FormsFormTemplateResource {
9935
+ /**
9936
+ *
9937
+ * @type {string}
9938
+ * @memberof ReachV1FormsFormTemplateResource
9939
+ */
9940
+ 'uuid': string | null;
9941
+ /**
9942
+ * Storage path of the template HTML, relative to the storage directory of this profile. Get the form details to receive a directly usable URL instead.
9943
+ * @type {string}
9944
+ * @memberof ReachV1FormsFormTemplateResource
9945
+ */
9946
+ 'path': string | null;
9947
+ }
9718
9948
  /**
9719
9949
  *
9720
9950
  * @export
@@ -9821,6 +10051,68 @@ export interface ReachV1ProfilesDomainsDnsStatusResource {
9821
10051
  */
9822
10052
  'dmarc': ReachV1ProfilesDomainsDnsRecordStatus;
9823
10053
  }
10054
+ /**
10055
+ * Allowance, consumption and headroom of a single plan limit for the current period.
10056
+ * @export
10057
+ * @interface ReachV1ProfilesPlanLimitUsageResource
10058
+ */
10059
+ export interface ReachV1ProfilesPlanLimitUsageResource {
10060
+ /**
10061
+ * The allowance for the current period.
10062
+ * @type {number}
10063
+ * @memberof ReachV1ProfilesPlanLimitUsageResource
10064
+ */
10065
+ 'limit': number;
10066
+ /**
10067
+ * How much of the allowance has been consumed so far.
10068
+ * @type {number}
10069
+ * @memberof ReachV1ProfilesPlanLimitUsageResource
10070
+ */
10071
+ 'used': number;
10072
+ /**
10073
+ * Headroom left. Floors at 0, so it never reports a negative overage.
10074
+ * @type {number}
10075
+ * @memberof ReachV1ProfilesPlanLimitUsageResource
10076
+ */
10077
+ 'remaining': number;
10078
+ }
10079
+ /**
10080
+ * What the plan allows and what is left of it for the current period. `emails` counts every email sent. `recipients` counts the distinct contacts emailed - it is not the size of the contact list, a contact emailed three times counts once and a contact never emailed does not count at all. `ai_credits` counts the AI generations used, and its limit includes any extra credits bought on top of the plan.
10081
+ * @export
10082
+ * @interface ReachV1ProfilesPlanLimitsResource
10083
+ */
10084
+ export interface ReachV1ProfilesPlanLimitsResource {
10085
+ /**
10086
+ *
10087
+ * @type {ReachV1ProfilesPlanLimitUsageResource}
10088
+ * @memberof ReachV1ProfilesPlanLimitsResource
10089
+ */
10090
+ 'emails': ReachV1ProfilesPlanLimitUsageResource;
10091
+ /**
10092
+ *
10093
+ * @type {ReachV1ProfilesPlanLimitUsageResource}
10094
+ * @memberof ReachV1ProfilesPlanLimitsResource
10095
+ */
10096
+ 'recipients': ReachV1ProfilesPlanLimitUsageResource;
10097
+ /**
10098
+ *
10099
+ * @type {ReachV1ProfilesPlanLimitUsageResource}
10100
+ * @memberof ReachV1ProfilesPlanLimitsResource
10101
+ */
10102
+ 'ai_credits': ReachV1ProfilesPlanLimitUsageResource;
10103
+ /**
10104
+ * Start of the current period. Periods are calendar months rather than billing anniversaries, so the counters reset at midnight UTC on the 1st no matter when the subscription started.
10105
+ * @type {string}
10106
+ * @memberof ReachV1ProfilesPlanLimitsResource
10107
+ */
10108
+ 'period_start': string;
10109
+ /**
10110
+ * End of the current period, that is the last moment of the calendar month.
10111
+ * @type {string}
10112
+ * @memberof ReachV1ProfilesPlanLimitsResource
10113
+ */
10114
+ 'period_end': string;
10115
+ }
9824
10116
  /**
9825
10117
  *
9826
10118
  * @export
@@ -31008,6 +31300,291 @@ export const ListProfileContactsV1SubscriptionStatusEnum = {
31008
31300
  export type ListProfileContactsV1SubscriptionStatusEnum = typeof ListProfileContactsV1SubscriptionStatusEnum[keyof typeof ListProfileContactsV1SubscriptionStatusEnum];
31009
31301
 
31010
31302
 
31303
+ /**
31304
+ * ReachFormsApi - axios parameter creator
31305
+ * @export
31306
+ */
31307
+ export const ReachFormsApiAxiosParamCreator = function (configuration?: Configuration) {
31308
+ return {
31309
+ /**
31310
+ * Permanently delete a form together with its template. A form that has already captured submissions cannot be deleted, so that the contacts it collected are never silently discarded - pause the form instead to stop it collecting new ones. Views alone do not block deletion.
31311
+ * @summary Delete form
31312
+ * @param {string} profileUuid Profile uuid parameter
31313
+ * @param {string} formUuid Form uuid parameter
31314
+ * @param {*} [options] Override http request option.
31315
+ * @throws {RequiredError}
31316
+ */
31317
+ deleteFormV1: async (profileUuid: string, formUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
31318
+ // verify required parameter 'profileUuid' is not null or undefined
31319
+ assertParamExists('deleteFormV1', 'profileUuid', profileUuid)
31320
+ // verify required parameter 'formUuid' is not null or undefined
31321
+ assertParamExists('deleteFormV1', 'formUuid', formUuid)
31322
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}`
31323
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)))
31324
+ .replace(`{${"formUuid"}}`, encodeURIComponent(String(formUuid)));
31325
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
31326
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
31327
+ let baseOptions;
31328
+ if (configuration) {
31329
+ baseOptions = configuration.baseOptions;
31330
+ }
31331
+
31332
+ const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
31333
+ const localVarHeaderParameter = {} as any;
31334
+ const localVarQueryParameter = {} as any;
31335
+
31336
+ // authentication apiToken required
31337
+ // http bearer authentication required
31338
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
31339
+
31340
+
31341
+
31342
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
31343
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
31344
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
31345
+
31346
+ return {
31347
+ url: toPathString(localVarUrlObj),
31348
+ options: localVarRequestOptions,
31349
+ };
31350
+ },
31351
+ /**
31352
+ * Get a single form with the URL of its hosted template and the tags it applies to the contacts it captures. There is no ready-made embed snippet in the response - either serve the template HTML yourself or build your own embed around the form uuid.
31353
+ * @summary Get form details
31354
+ * @param {string} profileUuid Profile uuid parameter
31355
+ * @param {string} formUuid Form uuid parameter
31356
+ * @param {*} [options] Override http request option.
31357
+ * @throws {RequiredError}
31358
+ */
31359
+ getFormDetailsV1: async (profileUuid: string, formUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
31360
+ // verify required parameter 'profileUuid' is not null or undefined
31361
+ assertParamExists('getFormDetailsV1', 'profileUuid', profileUuid)
31362
+ // verify required parameter 'formUuid' is not null or undefined
31363
+ assertParamExists('getFormDetailsV1', 'formUuid', formUuid)
31364
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}`
31365
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)))
31366
+ .replace(`{${"formUuid"}}`, encodeURIComponent(String(formUuid)));
31367
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
31368
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
31369
+ let baseOptions;
31370
+ if (configuration) {
31371
+ baseOptions = configuration.baseOptions;
31372
+ }
31373
+
31374
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
31375
+ const localVarHeaderParameter = {} as any;
31376
+ const localVarQueryParameter = {} as any;
31377
+
31378
+ // authentication apiToken required
31379
+ // http bearer authentication required
31380
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
31381
+
31382
+
31383
+
31384
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
31385
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
31386
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
31387
+
31388
+ return {
31389
+ url: toPathString(localVarUrlObj),
31390
+ options: localVarRequestOptions,
31391
+ };
31392
+ },
31393
+ /**
31394
+ * Get a paginated list of the signup forms in a profile. Each form carries a reference to the template that renders it. Get the form details for a directly usable template URL and for the tags the form puts on the contacts it captures.
31395
+ * @summary List forms
31396
+ * @param {string} profileUuid Profile uuid parameter
31397
+ * @param {number} [page] Page number
31398
+ * @param {number} [perPage] Number of items per page
31399
+ * @param {*} [options] Override http request option.
31400
+ * @throws {RequiredError}
31401
+ */
31402
+ listFormsV1: async (profileUuid: string, page?: number, perPage?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
31403
+ // verify required parameter 'profileUuid' is not null or undefined
31404
+ assertParamExists('listFormsV1', 'profileUuid', profileUuid)
31405
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/forms`
31406
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)));
31407
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
31408
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
31409
+ let baseOptions;
31410
+ if (configuration) {
31411
+ baseOptions = configuration.baseOptions;
31412
+ }
31413
+
31414
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
31415
+ const localVarHeaderParameter = {} as any;
31416
+ const localVarQueryParameter = {} as any;
31417
+
31418
+ // authentication apiToken required
31419
+ // http bearer authentication required
31420
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
31421
+
31422
+ if (page !== undefined) {
31423
+ localVarQueryParameter['page'] = page;
31424
+ }
31425
+
31426
+ if (perPage !== undefined) {
31427
+ localVarQueryParameter['per_page'] = perPage;
31428
+ }
31429
+
31430
+
31431
+
31432
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
31433
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
31434
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
31435
+
31436
+ return {
31437
+ url: toPathString(localVarUrlObj),
31438
+ options: localVarRequestOptions,
31439
+ };
31440
+ },
31441
+ }
31442
+ };
31443
+
31444
+ /**
31445
+ * ReachFormsApi - functional programming interface
31446
+ * @export
31447
+ */
31448
+ export const ReachFormsApiFp = function(configuration?: Configuration) {
31449
+ const localVarAxiosParamCreator = ReachFormsApiAxiosParamCreator(configuration)
31450
+ return {
31451
+ /**
31452
+ * Permanently delete a form together with its template. A form that has already captured submissions cannot be deleted, so that the contacts it collected are never silently discarded - pause the form instead to stop it collecting new ones. Views alone do not block deletion.
31453
+ * @summary Delete form
31454
+ * @param {string} profileUuid Profile uuid parameter
31455
+ * @param {string} formUuid Form uuid parameter
31456
+ * @param {*} [options] Override http request option.
31457
+ * @throws {RequiredError}
31458
+ */
31459
+ async deleteFormV1(profileUuid: string, formUuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommonSuccessEmptyResource>> {
31460
+ const localVarAxiosArgs = await localVarAxiosParamCreator.deleteFormV1(profileUuid, formUuid, options);
31461
+ const localVarOperationServerBasePath = operationServerMap['ReachFormsApi.deleteFormV1']?.[0]?.url;
31462
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
31463
+ },
31464
+ /**
31465
+ * Get a single form with the URL of its hosted template and the tags it applies to the contacts it captures. There is no ready-made embed snippet in the response - either serve the template HTML yourself or build your own embed around the form uuid.
31466
+ * @summary Get form details
31467
+ * @param {string} profileUuid Profile uuid parameter
31468
+ * @param {string} formUuid Form uuid parameter
31469
+ * @param {*} [options] Override http request option.
31470
+ * @throws {RequiredError}
31471
+ */
31472
+ async getFormDetailsV1(profileUuid: string, formUuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReachV1FormsFormDetailsResource>> {
31473
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getFormDetailsV1(profileUuid, formUuid, options);
31474
+ const localVarOperationServerBasePath = operationServerMap['ReachFormsApi.getFormDetailsV1']?.[0]?.url;
31475
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
31476
+ },
31477
+ /**
31478
+ * Get a paginated list of the signup forms in a profile. Each form carries a reference to the template that renders it. Get the form details for a directly usable template URL and for the tags the form puts on the contacts it captures.
31479
+ * @summary List forms
31480
+ * @param {string} profileUuid Profile uuid parameter
31481
+ * @param {number} [page] Page number
31482
+ * @param {number} [perPage] Number of items per page
31483
+ * @param {*} [options] Override http request option.
31484
+ * @throws {RequiredError}
31485
+ */
31486
+ async listFormsV1(profileUuid: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReachListFormsV1200Response>> {
31487
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listFormsV1(profileUuid, page, perPage, options);
31488
+ const localVarOperationServerBasePath = operationServerMap['ReachFormsApi.listFormsV1']?.[0]?.url;
31489
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
31490
+ },
31491
+ }
31492
+ };
31493
+
31494
+ /**
31495
+ * ReachFormsApi - factory interface
31496
+ * @export
31497
+ */
31498
+ export const ReachFormsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
31499
+ const localVarFp = ReachFormsApiFp(configuration)
31500
+ return {
31501
+ /**
31502
+ * Permanently delete a form together with its template. A form that has already captured submissions cannot be deleted, so that the contacts it collected are never silently discarded - pause the form instead to stop it collecting new ones. Views alone do not block deletion.
31503
+ * @summary Delete form
31504
+ * @param {string} profileUuid Profile uuid parameter
31505
+ * @param {string} formUuid Form uuid parameter
31506
+ * @param {*} [options] Override http request option.
31507
+ * @throws {RequiredError}
31508
+ */
31509
+ deleteFormV1(profileUuid: string, formUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<CommonSuccessEmptyResource> {
31510
+ return localVarFp.deleteFormV1(profileUuid, formUuid, options).then((request) => request(axios, basePath));
31511
+ },
31512
+ /**
31513
+ * Get a single form with the URL of its hosted template and the tags it applies to the contacts it captures. There is no ready-made embed snippet in the response - either serve the template HTML yourself or build your own embed around the form uuid.
31514
+ * @summary Get form details
31515
+ * @param {string} profileUuid Profile uuid parameter
31516
+ * @param {string} formUuid Form uuid parameter
31517
+ * @param {*} [options] Override http request option.
31518
+ * @throws {RequiredError}
31519
+ */
31520
+ getFormDetailsV1(profileUuid: string, formUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<ReachV1FormsFormDetailsResource> {
31521
+ return localVarFp.getFormDetailsV1(profileUuid, formUuid, options).then((request) => request(axios, basePath));
31522
+ },
31523
+ /**
31524
+ * Get a paginated list of the signup forms in a profile. Each form carries a reference to the template that renders it. Get the form details for a directly usable template URL and for the tags the form puts on the contacts it captures.
31525
+ * @summary List forms
31526
+ * @param {string} profileUuid Profile uuid parameter
31527
+ * @param {number} [page] Page number
31528
+ * @param {number} [perPage] Number of items per page
31529
+ * @param {*} [options] Override http request option.
31530
+ * @throws {RequiredError}
31531
+ */
31532
+ listFormsV1(profileUuid: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig): AxiosPromise<ReachListFormsV1200Response> {
31533
+ return localVarFp.listFormsV1(profileUuid, page, perPage, options).then((request) => request(axios, basePath));
31534
+ },
31535
+ };
31536
+ };
31537
+
31538
+ /**
31539
+ * ReachFormsApi - object-oriented interface
31540
+ * @export
31541
+ * @class ReachFormsApi
31542
+ * @extends {BaseAPI}
31543
+ */
31544
+ export class ReachFormsApi extends BaseAPI {
31545
+ /**
31546
+ * Permanently delete a form together with its template. A form that has already captured submissions cannot be deleted, so that the contacts it collected are never silently discarded - pause the form instead to stop it collecting new ones. Views alone do not block deletion.
31547
+ * @summary Delete form
31548
+ * @param {string} profileUuid Profile uuid parameter
31549
+ * @param {string} formUuid Form uuid parameter
31550
+ * @param {*} [options] Override http request option.
31551
+ * @throws {RequiredError}
31552
+ * @memberof ReachFormsApi
31553
+ */
31554
+ public deleteFormV1(profileUuid: string, formUuid: string, options?: RawAxiosRequestConfig) {
31555
+ return ReachFormsApiFp(this.configuration).deleteFormV1(profileUuid, formUuid, options).then((request) => request(this.axios, this.basePath));
31556
+ }
31557
+
31558
+ /**
31559
+ * Get a single form with the URL of its hosted template and the tags it applies to the contacts it captures. There is no ready-made embed snippet in the response - either serve the template HTML yourself or build your own embed around the form uuid.
31560
+ * @summary Get form details
31561
+ * @param {string} profileUuid Profile uuid parameter
31562
+ * @param {string} formUuid Form uuid parameter
31563
+ * @param {*} [options] Override http request option.
31564
+ * @throws {RequiredError}
31565
+ * @memberof ReachFormsApi
31566
+ */
31567
+ public getFormDetailsV1(profileUuid: string, formUuid: string, options?: RawAxiosRequestConfig) {
31568
+ return ReachFormsApiFp(this.configuration).getFormDetailsV1(profileUuid, formUuid, options).then((request) => request(this.axios, this.basePath));
31569
+ }
31570
+
31571
+ /**
31572
+ * Get a paginated list of the signup forms in a profile. Each form carries a reference to the template that renders it. Get the form details for a directly usable template URL and for the tags the form puts on the contacts it captures.
31573
+ * @summary List forms
31574
+ * @param {string} profileUuid Profile uuid parameter
31575
+ * @param {number} [page] Page number
31576
+ * @param {number} [perPage] Number of items per page
31577
+ * @param {*} [options] Override http request option.
31578
+ * @throws {RequiredError}
31579
+ * @memberof ReachFormsApi
31580
+ */
31581
+ public listFormsV1(profileUuid: string, page?: number, perPage?: number, options?: RawAxiosRequestConfig) {
31582
+ return ReachFormsApiFp(this.configuration).listFormsV1(profileUuid, page, perPage, options).then((request) => request(this.axios, this.basePath));
31583
+ }
31584
+ }
31585
+
31586
+
31587
+
31011
31588
  /**
31012
31589
  * ReachProfilesApi - axios parameter creator
31013
31590
  * @export
@@ -31043,6 +31620,44 @@ export const ReachProfilesApiAxiosParamCreator = function (configuration?: Confi
31043
31620
 
31044
31621
 
31045
31622
 
31623
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
31624
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
31625
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
31626
+
31627
+ return {
31628
+ url: toPathString(localVarUrlObj),
31629
+ options: localVarRequestOptions,
31630
+ };
31631
+ },
31632
+ /**
31633
+ * Get how much of the plan is left for the current period. Two things to keep in mind before you build alerting on this. The period is a calendar month rather than a billing anniversary, so the counters reset on the 1st no matter when the subscription started. And usage is tracked per order, so every profile on the same order shares one pool and reports the same numbers here. Only the current period is available, past usage is not kept.
31634
+ * @summary Get remaining plan limits
31635
+ * @param {string} profileUuid Profile uuid parameter
31636
+ * @param {*} [options] Override http request option.
31637
+ * @throws {RequiredError}
31638
+ */
31639
+ getRemainingPlanLimitsV1: async (profileUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
31640
+ // verify required parameter 'profileUuid' is not null or undefined
31641
+ assertParamExists('getRemainingPlanLimitsV1', 'profileUuid', profileUuid)
31642
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/limits`
31643
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)));
31644
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
31645
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
31646
+ let baseOptions;
31647
+ if (configuration) {
31648
+ baseOptions = configuration.baseOptions;
31649
+ }
31650
+
31651
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
31652
+ const localVarHeaderParameter = {} as any;
31653
+ const localVarQueryParameter = {} as any;
31654
+
31655
+ // authentication apiToken required
31656
+ // http bearer authentication required
31657
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
31658
+
31659
+
31660
+
31046
31661
  setSearchParams(localVarUrlObj, localVarQueryParameter);
31047
31662
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
31048
31663
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -31108,6 +31723,18 @@ export const ReachProfilesApiFp = function(configuration?: Configuration) {
31108
31723
  const localVarOperationServerBasePath = operationServerMap['ReachProfilesApi.getProfileDomainDNSStatusV1']?.[0]?.url;
31109
31724
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
31110
31725
  },
31726
+ /**
31727
+ * Get how much of the plan is left for the current period. Two things to keep in mind before you build alerting on this. The period is a calendar month rather than a billing anniversary, so the counters reset on the 1st no matter when the subscription started. And usage is tracked per order, so every profile on the same order shares one pool and reports the same numbers here. Only the current period is available, past usage is not kept.
31728
+ * @summary Get remaining plan limits
31729
+ * @param {string} profileUuid Profile uuid parameter
31730
+ * @param {*} [options] Override http request option.
31731
+ * @throws {RequiredError}
31732
+ */
31733
+ async getRemainingPlanLimitsV1(profileUuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReachV1ProfilesPlanLimitsResource>> {
31734
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getRemainingPlanLimitsV1(profileUuid, options);
31735
+ const localVarOperationServerBasePath = operationServerMap['ReachProfilesApi.getRemainingPlanLimitsV1']?.[0]?.url;
31736
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
31737
+ },
31111
31738
  /**
31112
31739
  * This endpoint returns all profiles available to the client, including their basic information.
31113
31740
  * @summary List Profiles
@@ -31139,6 +31766,16 @@ export const ReachProfilesApiFactory = function (configuration?: Configuration,
31139
31766
  getProfileDomainDNSStatusV1(profileUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<ReachV1ProfilesDomainsDnsStatusResource> {
31140
31767
  return localVarFp.getProfileDomainDNSStatusV1(profileUuid, options).then((request) => request(axios, basePath));
31141
31768
  },
31769
+ /**
31770
+ * Get how much of the plan is left for the current period. Two things to keep in mind before you build alerting on this. The period is a calendar month rather than a billing anniversary, so the counters reset on the 1st no matter when the subscription started. And usage is tracked per order, so every profile on the same order shares one pool and reports the same numbers here. Only the current period is available, past usage is not kept.
31771
+ * @summary Get remaining plan limits
31772
+ * @param {string} profileUuid Profile uuid parameter
31773
+ * @param {*} [options] Override http request option.
31774
+ * @throws {RequiredError}
31775
+ */
31776
+ getRemainingPlanLimitsV1(profileUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<ReachV1ProfilesPlanLimitsResource> {
31777
+ return localVarFp.getRemainingPlanLimitsV1(profileUuid, options).then((request) => request(axios, basePath));
31778
+ },
31142
31779
  /**
31143
31780
  * This endpoint returns all profiles available to the client, including their basic information.
31144
31781
  * @summary List Profiles
@@ -31170,6 +31807,18 @@ export class ReachProfilesApi extends BaseAPI {
31170
31807
  return ReachProfilesApiFp(this.configuration).getProfileDomainDNSStatusV1(profileUuid, options).then((request) => request(this.axios, this.basePath));
31171
31808
  }
31172
31809
 
31810
+ /**
31811
+ * Get how much of the plan is left for the current period. Two things to keep in mind before you build alerting on this. The period is a calendar month rather than a billing anniversary, so the counters reset on the 1st no matter when the subscription started. And usage is tracked per order, so every profile on the same order shares one pool and reports the same numbers here. Only the current period is available, past usage is not kept.
31812
+ * @summary Get remaining plan limits
31813
+ * @param {string} profileUuid Profile uuid parameter
31814
+ * @param {*} [options] Override http request option.
31815
+ * @throws {RequiredError}
31816
+ * @memberof ReachProfilesApi
31817
+ */
31818
+ public getRemainingPlanLimitsV1(profileUuid: string, options?: RawAxiosRequestConfig) {
31819
+ return ReachProfilesApiFp(this.configuration).getRemainingPlanLimitsV1(profileUuid, options).then((request) => request(this.axios, this.basePath));
31820
+ }
31821
+
31173
31822
  /**
31174
31823
  * This endpoint returns all profiles available to the client, including their basic information.
31175
31824
  * @summary List Profiles