hostinger-api-sdk 1.31.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.
Files changed (44) hide show
  1. package/README.md +2 -2
  2. package/api.ts +1440 -52
  3. package/base.ts +1 -1
  4. package/common.ts +1 -1
  5. package/configuration.ts +2 -2
  6. package/dist/api.d.ts +1045 -15
  7. package/dist/api.js +710 -9
  8. package/dist/base.d.ts +1 -1
  9. package/dist/base.js +1 -1
  10. package/dist/common.d.ts +1 -1
  11. package/dist/common.js +1 -1
  12. package/dist/configuration.d.ts +1 -1
  13. package/dist/configuration.js +2 -2
  14. package/dist/esm/api.d.ts +1045 -15
  15. package/dist/esm/api.js +693 -1
  16. package/dist/esm/base.d.ts +1 -1
  17. package/dist/esm/base.js +1 -1
  18. package/dist/esm/common.d.ts +1 -1
  19. package/dist/esm/common.js +1 -1
  20. package/dist/esm/configuration.d.ts +1 -1
  21. package/dist/esm/configuration.js +2 -2
  22. package/dist/esm/index.d.ts +1 -1
  23. package/dist/esm/index.js +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +1 -1
  26. package/docs/ReachCampaignsApi.md +190 -0
  27. package/docs/ReachFormsApi.md +182 -0
  28. package/docs/ReachListCampaignsV1200Response.md +22 -0
  29. package/docs/ReachListFormsV1200Response.md +22 -0
  30. package/docs/ReachProfilesApi.md +54 -0
  31. package/docs/ReachV1CampaignsCampaignDeliveryResource.md +25 -0
  32. package/docs/ReachV1CampaignsCampaignDetailsResource.md +52 -0
  33. package/docs/ReachV1CampaignsCampaignResource.md +44 -0
  34. package/docs/ReachV1CampaignsCampaignStatisticsResource.md +49 -0
  35. package/docs/ReachV1CampaignsCampaignSummaryStatisticsResource.md +27 -0
  36. package/docs/ReachV1FormsFormDetailsResource.md +34 -0
  37. package/docs/ReachV1FormsFormResource.md +32 -0
  38. package/docs/ReachV1FormsFormTagResource.md +25 -0
  39. package/docs/ReachV1FormsFormTemplateDetailsResource.md +25 -0
  40. package/docs/ReachV1FormsFormTemplateResource.md +23 -0
  41. package/docs/ReachV1ProfilesPlanLimitUsageResource.md +25 -0
  42. package/docs/ReachV1ProfilesPlanLimitsResource.md +29 -0
  43. package/index.ts +1 -1
  44. package/package.json +1 -1
package/api.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * Hostinger API
5
5
  *
6
- * API Version: 1.33.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
@@ -7790,6 +7790,25 @@ export interface ReachListAutomationsV1200Response {
7790
7790
  */
7791
7791
  'meta': CommonSchemaPaginationMetaSchema;
7792
7792
  }
7793
+ /**
7794
+ *
7795
+ * @export
7796
+ * @interface ReachListCampaignsV1200Response
7797
+ */
7798
+ export interface ReachListCampaignsV1200Response {
7799
+ /**
7800
+ * Array of [`Reach.V1.Campaigns.CampaignResource`](#model/reachv1campaignscampaignresource)
7801
+ * @type {Array<ReachV1CampaignsCampaignResource>}
7802
+ * @memberof ReachListCampaignsV1200Response
7803
+ */
7804
+ 'data': Array<ReachV1CampaignsCampaignResource>;
7805
+ /**
7806
+ *
7807
+ * @type {CommonSchemaPaginationMetaSchema}
7808
+ * @memberof ReachListCampaignsV1200Response
7809
+ */
7810
+ 'meta': CommonSchemaPaginationMetaSchema;
7811
+ }
7793
7812
  /**
7794
7813
  *
7795
7814
  * @export
@@ -7809,6 +7828,25 @@ export interface ReachListContactsV1200Response {
7809
7828
  */
7810
7829
  'meta': CommonSchemaPaginationMetaSchema;
7811
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
+ }
7812
7850
  /**
7813
7851
  *
7814
7852
  * @export
@@ -8042,6 +8080,389 @@ export const ReachV1AutomationsStepsAutomationStepResourceValueEnum = {
8042
8080
 
8043
8081
  export type ReachV1AutomationsStepsAutomationStepResourceValueEnum = typeof ReachV1AutomationsStepsAutomationStepResourceValueEnum[keyof typeof ReachV1AutomationsStepsAutomationStepResourceValueEnum];
8044
8082
 
8083
+ /**
8084
+ * Delivery progress. While the campaign is `sending`, `total_sent` climbs towards the estimate.
8085
+ * @export
8086
+ * @interface ReachV1CampaignsCampaignDeliveryResource
8087
+ */
8088
+ export interface ReachV1CampaignsCampaignDeliveryResource {
8089
+ /**
8090
+ * Emails sent so far.
8091
+ * @type {number}
8092
+ * @memberof ReachV1CampaignsCampaignDeliveryResource
8093
+ */
8094
+ 'total_sent': number;
8095
+ /**
8096
+ * Recipients this campaign was estimated to reach when sending started. Null for campaigns that have not started sending.
8097
+ * @type {number}
8098
+ * @memberof ReachV1CampaignsCampaignDeliveryResource
8099
+ */
8100
+ 'estimated_total_recipients': number | null;
8101
+ /**
8102
+ * Contacts currently targeted by this campaign.
8103
+ * @type {number}
8104
+ * @memberof ReachV1CampaignsCampaignDeliveryResource
8105
+ */
8106
+ 'subscribers_count': number;
8107
+ }
8108
+ /**
8109
+ *
8110
+ * @export
8111
+ * @interface ReachV1CampaignsCampaignDetailsResource
8112
+ */
8113
+ export interface ReachV1CampaignsCampaignDetailsResource {
8114
+ /**
8115
+ *
8116
+ * @type {string}
8117
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8118
+ */
8119
+ 'uuid': string;
8120
+ /**
8121
+ *
8122
+ * @type {string}
8123
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8124
+ */
8125
+ 'title': string;
8126
+ /**
8127
+ *
8128
+ * @type {string}
8129
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8130
+ */
8131
+ 'subject': string;
8132
+ /**
8133
+ *
8134
+ * @type {string}
8135
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8136
+ */
8137
+ 'sender_name': string;
8138
+ /**
8139
+ *
8140
+ * @type {string}
8141
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8142
+ */
8143
+ 'sender_email': string;
8144
+ /**
8145
+ * The email template this campaign uses. The template title is not exposed.
8146
+ * @type {string}
8147
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8148
+ */
8149
+ 'template_uuid': string | null;
8150
+ /**
8151
+ * A fully sent campaign is `publish`. There is no `sent`, `paused` or `archived` status.
8152
+ * @type {string}
8153
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8154
+ */
8155
+ 'status': ReachV1CampaignsCampaignDetailsResourceStatusEnum;
8156
+ /**
8157
+ *
8158
+ * @type {string}
8159
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8160
+ */
8161
+ 'type': ReachV1CampaignsCampaignDetailsResourceTypeEnum;
8162
+ /**
8163
+ * Set only while the status is `failed`.
8164
+ * @type {string}
8165
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8166
+ */
8167
+ 'failure_reason': string | null;
8168
+ /**
8169
+ * Whether delivery time is picked per contact rather than sent to everyone at once.
8170
+ * @type {boolean}
8171
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8172
+ */
8173
+ 'is_smart_send': boolean;
8174
+ /**
8175
+ * Whether the campaign targets every contact instead of the listed segments.
8176
+ * @type {boolean}
8177
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8178
+ */
8179
+ 'is_all_contacts': boolean;
8180
+ /**
8181
+ *
8182
+ * @type {ReachV1CampaignsCampaignDeliveryResource}
8183
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8184
+ */
8185
+ 'delivery': ReachV1CampaignsCampaignDeliveryResource;
8186
+ /**
8187
+ * Segments this campaign targets. Empty when it targets all contacts.
8188
+ * @type {Array<string>}
8189
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8190
+ */
8191
+ 'segment_uuids': Array<string>;
8192
+ /**
8193
+ *
8194
+ * @type {string}
8195
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8196
+ */
8197
+ 'created_at': string;
8198
+ /**
8199
+ *
8200
+ * @type {string}
8201
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8202
+ */
8203
+ 'updated_at': string | null;
8204
+ /**
8205
+ *
8206
+ * @type {string}
8207
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8208
+ */
8209
+ 'sent_at': string | null;
8210
+ /**
8211
+ *
8212
+ * @type {string}
8213
+ * @memberof ReachV1CampaignsCampaignDetailsResource
8214
+ */
8215
+ 'scheduled_at': string | null;
8216
+ }
8217
+
8218
+ export const ReachV1CampaignsCampaignDetailsResourceStatusEnum = {
8219
+ Draft: 'draft',
8220
+ Scheduled: 'scheduled',
8221
+ Sending: 'sending',
8222
+ Publish: 'publish',
8223
+ Failed: 'failed'
8224
+ } as const;
8225
+
8226
+ export type ReachV1CampaignsCampaignDetailsResourceStatusEnum = typeof ReachV1CampaignsCampaignDetailsResourceStatusEnum[keyof typeof ReachV1CampaignsCampaignDetailsResourceStatusEnum];
8227
+ export const ReachV1CampaignsCampaignDetailsResourceTypeEnum = {
8228
+ Campaign: 'campaign',
8229
+ Automation: 'automation',
8230
+ DoubleOptIn: 'double_opt_in'
8231
+ } as const;
8232
+
8233
+ export type ReachV1CampaignsCampaignDetailsResourceTypeEnum = typeof ReachV1CampaignsCampaignDetailsResourceTypeEnum[keyof typeof ReachV1CampaignsCampaignDetailsResourceTypeEnum];
8234
+
8235
+ /**
8236
+ *
8237
+ * @export
8238
+ * @interface ReachV1CampaignsCampaignResource
8239
+ */
8240
+ export interface ReachV1CampaignsCampaignResource {
8241
+ /**
8242
+ *
8243
+ * @type {string}
8244
+ * @memberof ReachV1CampaignsCampaignResource
8245
+ */
8246
+ 'uuid': string;
8247
+ /**
8248
+ *
8249
+ * @type {string}
8250
+ * @memberof ReachV1CampaignsCampaignResource
8251
+ */
8252
+ 'title': string;
8253
+ /**
8254
+ *
8255
+ * @type {string}
8256
+ * @memberof ReachV1CampaignsCampaignResource
8257
+ */
8258
+ 'subject': string;
8259
+ /**
8260
+ *
8261
+ * @type {string}
8262
+ * @memberof ReachV1CampaignsCampaignResource
8263
+ */
8264
+ 'sender_name': string;
8265
+ /**
8266
+ *
8267
+ * @type {string}
8268
+ * @memberof ReachV1CampaignsCampaignResource
8269
+ */
8270
+ 'sender_email': string;
8271
+ /**
8272
+ * The email template this campaign uses. The template title is not exposed.
8273
+ * @type {string}
8274
+ * @memberof ReachV1CampaignsCampaignResource
8275
+ */
8276
+ 'template_uuid': string | null;
8277
+ /**
8278
+ * A fully sent campaign is `publish`. There is no `sent`, `paused` or `archived` status.
8279
+ * @type {string}
8280
+ * @memberof ReachV1CampaignsCampaignResource
8281
+ */
8282
+ 'status': ReachV1CampaignsCampaignResourceStatusEnum;
8283
+ /**
8284
+ *
8285
+ * @type {string}
8286
+ * @memberof ReachV1CampaignsCampaignResource
8287
+ */
8288
+ 'type': ReachV1CampaignsCampaignResourceTypeEnum;
8289
+ /**
8290
+ *
8291
+ * @type {string}
8292
+ * @memberof ReachV1CampaignsCampaignResource
8293
+ */
8294
+ 'created_at': string;
8295
+ /**
8296
+ *
8297
+ * @type {string}
8298
+ * @memberof ReachV1CampaignsCampaignResource
8299
+ */
8300
+ 'updated_at': string | null;
8301
+ /**
8302
+ *
8303
+ * @type {string}
8304
+ * @memberof ReachV1CampaignsCampaignResource
8305
+ */
8306
+ 'sent_at': string | null;
8307
+ /**
8308
+ *
8309
+ * @type {string}
8310
+ * @memberof ReachV1CampaignsCampaignResource
8311
+ */
8312
+ 'scheduled_at': string | null;
8313
+ /**
8314
+ *
8315
+ * @type {ReachV1CampaignsCampaignSummaryStatisticsResource}
8316
+ * @memberof ReachV1CampaignsCampaignResource
8317
+ */
8318
+ 'statistics': ReachV1CampaignsCampaignSummaryStatisticsResource;
8319
+ }
8320
+
8321
+ export const ReachV1CampaignsCampaignResourceStatusEnum = {
8322
+ Draft: 'draft',
8323
+ Scheduled: 'scheduled',
8324
+ Sending: 'sending',
8325
+ Publish: 'publish',
8326
+ Failed: 'failed'
8327
+ } as const;
8328
+
8329
+ export type ReachV1CampaignsCampaignResourceStatusEnum = typeof ReachV1CampaignsCampaignResourceStatusEnum[keyof typeof ReachV1CampaignsCampaignResourceStatusEnum];
8330
+ export const ReachV1CampaignsCampaignResourceTypeEnum = {
8331
+ Campaign: 'campaign',
8332
+ Automation: 'automation',
8333
+ DoubleOptIn: 'double_opt_in'
8334
+ } as const;
8335
+
8336
+ export type ReachV1CampaignsCampaignResourceTypeEnum = typeof ReachV1CampaignsCampaignResourceTypeEnum[keyof typeof ReachV1CampaignsCampaignResourceTypeEnum];
8337
+
8338
+ /**
8339
+ * Campaign performance. Every count is unique contacts rather than raw events, so a contact who opens the same email five times is counted once.
8340
+ * @export
8341
+ * @interface ReachV1CampaignsCampaignStatisticsResource
8342
+ */
8343
+ export interface ReachV1CampaignsCampaignStatisticsResource {
8344
+ /**
8345
+ * Emails sent for this campaign, and the denominator of every rate below.
8346
+ * @type {number}
8347
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8348
+ */
8349
+ 'total_sent': number;
8350
+ /**
8351
+ * Recipients this campaign was estimated to reach when sending started. Null for campaigns that have not started sending.
8352
+ * @type {number}
8353
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8354
+ */
8355
+ 'estimated_total_recipients': number | null;
8356
+ /**
8357
+ *
8358
+ * @type {number}
8359
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8360
+ */
8361
+ 'processed_count': number;
8362
+ /**
8363
+ *
8364
+ * @type {number}
8365
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8366
+ */
8367
+ 'delivered_count': number;
8368
+ /**
8369
+ *
8370
+ * @type {number}
8371
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8372
+ */
8373
+ 'dropped_count': number;
8374
+ /**
8375
+ *
8376
+ * @type {number}
8377
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8378
+ */
8379
+ 'bounced_count': number;
8380
+ /**
8381
+ *
8382
+ * @type {number}
8383
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8384
+ */
8385
+ 'soft_bounced_count': number;
8386
+ /**
8387
+ * Contacts who opened this campaign.
8388
+ * @type {number}
8389
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8390
+ */
8391
+ 'opened_count': number;
8392
+ /**
8393
+ * Contacts who clicked a link. Only clicks from contacts who also registered an open count.
8394
+ * @type {number}
8395
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8396
+ */
8397
+ 'clicked_count': number;
8398
+ /**
8399
+ * Contacts who unsubscribed through this campaign.
8400
+ * @type {number}
8401
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8402
+ */
8403
+ 'unsubscribed_count': number;
8404
+ /**
8405
+ * Percentage of sent emails that were opened.
8406
+ * @type {number}
8407
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8408
+ */
8409
+ 'open_rate': number;
8410
+ /**
8411
+ * Percentage of sent emails that got a click.
8412
+ * @type {number}
8413
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8414
+ */
8415
+ 'click_rate': number;
8416
+ /**
8417
+ * Percentage of the contacts who opened that went on to click.
8418
+ * @type {number}
8419
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8420
+ */
8421
+ 'click_to_open_rate': number;
8422
+ /**
8423
+ * Percentage of sent emails that led to an unsubscribe.
8424
+ * @type {number}
8425
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8426
+ */
8427
+ 'unsubscribe_rate': number;
8428
+ /**
8429
+ *
8430
+ * @type {boolean}
8431
+ * @memberof ReachV1CampaignsCampaignStatisticsResource
8432
+ */
8433
+ 'has_bounced_contacts': boolean;
8434
+ }
8435
+ /**
8436
+ * Headline engagement rates. The statistics endpoint carries the full breakdown.
8437
+ * @export
8438
+ * @interface ReachV1CampaignsCampaignSummaryStatisticsResource
8439
+ */
8440
+ export interface ReachV1CampaignsCampaignSummaryStatisticsResource {
8441
+ /**
8442
+ * Emails sent for this campaign, and the denominator of the rates below.
8443
+ * @type {number}
8444
+ * @memberof ReachV1CampaignsCampaignSummaryStatisticsResource
8445
+ */
8446
+ 'total_sent': number;
8447
+ /**
8448
+ * Percentage of sent emails that were opened.
8449
+ * @type {number}
8450
+ * @memberof ReachV1CampaignsCampaignSummaryStatisticsResource
8451
+ */
8452
+ 'open_rate': number;
8453
+ /**
8454
+ * Percentage of sent emails that got a click.
8455
+ * @type {number}
8456
+ * @memberof ReachV1CampaignsCampaignSummaryStatisticsResource
8457
+ */
8458
+ 'click_rate': number;
8459
+ /**
8460
+ * Percentage of the contacts who opened that went on to click.
8461
+ * @type {number}
8462
+ * @memberof ReachV1CampaignsCampaignSummaryStatisticsResource
8463
+ */
8464
+ 'click_to_open_rate': number;
8465
+ }
8045
8466
  /**
8046
8467
  * Create many contacts in one call
8047
8468
  * @export
@@ -9316,13 +9737,224 @@ export interface ReachV1ContactsUpdateRequestFieldsInner {
9316
9737
  /**
9317
9738
  *
9318
9739
  * @export
9319
- * @interface ReachV1ProfilesDomainsDnsRecordStatus
9740
+ * @interface ReachV1FormsFormDetailsResource
9320
9741
  */
9321
- export interface ReachV1ProfilesDomainsDnsRecordStatus {
9742
+ export interface ReachV1FormsFormDetailsResource {
9322
9743
  /**
9323
9744
  *
9324
- * @type {Array<ReachV1ProfilesDomainsDnsRecordStatusActualInner>}
9325
- * @memberof ReachV1ProfilesDomainsDnsRecordStatus
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
+ }
9948
+ /**
9949
+ *
9950
+ * @export
9951
+ * @interface ReachV1ProfilesDomainsDnsRecordStatus
9952
+ */
9953
+ export interface ReachV1ProfilesDomainsDnsRecordStatus {
9954
+ /**
9955
+ *
9956
+ * @type {Array<ReachV1ProfilesDomainsDnsRecordStatusActualInner>}
9957
+ * @memberof ReachV1ProfilesDomainsDnsRecordStatus
9326
9958
  */
9327
9959
  'actual': Array<ReachV1ProfilesDomainsDnsRecordStatusActualInner>;
9328
9960
  /**
@@ -9419,6 +10051,68 @@ export interface ReachV1ProfilesDomainsDnsStatusResource {
9419
10051
  */
9420
10052
  'dmarc': ReachV1ProfilesDomainsDnsRecordStatus;
9421
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
+ }
9422
10116
  /**
9423
10117
  *
9424
10118
  * @export
@@ -29016,26 +29710,27 @@ export type ListAutomationsV1SortDirectionEnum = typeof ListAutomationsV1SortDir
29016
29710
 
29017
29711
 
29018
29712
  /**
29019
- * ReachContactFieldsApi - axios parameter creator
29713
+ * ReachCampaignsApi - axios parameter creator
29020
29714
  * @export
29021
29715
  */
29022
- export const ReachContactFieldsApiAxiosParamCreator = function (configuration?: Configuration) {
29716
+ export const ReachCampaignsApiAxiosParamCreator = function (configuration?: Configuration) {
29023
29717
  return {
29024
29718
  /**
29025
- * Define a new custom contact field in a profile. The `slug` is derived from the label and, like the field type, cannot be changed later. Use the returned uuid to set values on contacts.
29026
- * @summary Create a contact field
29719
+ * Get a single campaign with its sender, subject, template reference, targeting and delivery progress. This describes how the campaign was set up and how far it has got. For opens, clicks and unsubscribes use the campaign statistics endpoint.
29720
+ * @summary Get campaign details
29027
29721
  * @param {string} profileUuid Profile uuid parameter
29028
- * @param {ReachV1ContactsFieldsStoreRequest} reachV1ContactsFieldsStoreRequest
29722
+ * @param {string} campaignUuid Campaign uuid parameter
29029
29723
  * @param {*} [options] Override http request option.
29030
29724
  * @throws {RequiredError}
29031
29725
  */
29032
- createAContactFieldV1: async (profileUuid: string, reachV1ContactsFieldsStoreRequest: ReachV1ContactsFieldsStoreRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
29726
+ getCampaignDetailsV1: async (profileUuid: string, campaignUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
29033
29727
  // verify required parameter 'profileUuid' is not null or undefined
29034
- assertParamExists('createAContactFieldV1', 'profileUuid', profileUuid)
29035
- // verify required parameter 'reachV1ContactsFieldsStoreRequest' is not null or undefined
29036
- assertParamExists('createAContactFieldV1', 'reachV1ContactsFieldsStoreRequest', reachV1ContactsFieldsStoreRequest)
29037
- const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields`
29038
- .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)));
29728
+ assertParamExists('getCampaignDetailsV1', 'profileUuid', profileUuid)
29729
+ // verify required parameter 'campaignUuid' is not null or undefined
29730
+ assertParamExists('getCampaignDetailsV1', 'campaignUuid', campaignUuid)
29731
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}`
29732
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)))
29733
+ .replace(`{${"campaignUuid"}}`, encodeURIComponent(String(campaignUuid)));
29039
29734
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
29040
29735
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
29041
29736
  let baseOptions;
@@ -29043,7 +29738,7 @@ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?:
29043
29738
  baseOptions = configuration.baseOptions;
29044
29739
  }
29045
29740
 
29046
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
29741
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
29047
29742
  const localVarHeaderParameter = {} as any;
29048
29743
  const localVarQueryParameter = {} as any;
29049
29744
 
@@ -29053,12 +29748,9 @@ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?:
29053
29748
 
29054
29749
 
29055
29750
 
29056
- localVarHeaderParameter['Content-Type'] = 'application/json';
29057
-
29058
29751
  setSearchParams(localVarUrlObj, localVarQueryParameter);
29059
29752
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
29060
29753
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
29061
- localVarRequestOptions.data = serializeDataIfNeeded(reachV1ContactsFieldsStoreRequest, localVarRequestOptions, configuration)
29062
29754
 
29063
29755
  return {
29064
29756
  url: toPathString(localVarUrlObj),
@@ -29066,21 +29758,21 @@ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?:
29066
29758
  };
29067
29759
  },
29068
29760
  /**
29069
- * Delete a custom contact field. Every value contacts hold for the field is deleted with it, and for the choice types so are its options. The contacts themselves are not affected.
29070
- * @summary Delete a contact field
29761
+ * Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the matching rates. Every count is unique contacts rather than raw events, so a contact who opens the same email five times is counted once.
29762
+ * @summary Get campaign performance
29071
29763
  * @param {string} profileUuid Profile uuid parameter
29072
- * @param {string} fieldUuid Contact field uuid parameter
29764
+ * @param {string} campaignUuid Campaign uuid parameter
29073
29765
  * @param {*} [options] Override http request option.
29074
29766
  * @throws {RequiredError}
29075
29767
  */
29076
- deleteAContactFieldV1: async (profileUuid: string, fieldUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
29768
+ getCampaignPerformanceV1: async (profileUuid: string, campaignUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
29077
29769
  // verify required parameter 'profileUuid' is not null or undefined
29078
- assertParamExists('deleteAContactFieldV1', 'profileUuid', profileUuid)
29079
- // verify required parameter 'fieldUuid' is not null or undefined
29080
- assertParamExists('deleteAContactFieldV1', 'fieldUuid', fieldUuid)
29081
- const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}`
29770
+ assertParamExists('getCampaignPerformanceV1', 'profileUuid', profileUuid)
29771
+ // verify required parameter 'campaignUuid' is not null or undefined
29772
+ assertParamExists('getCampaignPerformanceV1', 'campaignUuid', campaignUuid)
29773
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}/statistics`
29082
29774
  .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)))
29083
- .replace(`{${"fieldUuid"}}`, encodeURIComponent(String(fieldUuid)));
29775
+ .replace(`{${"campaignUuid"}}`, encodeURIComponent(String(campaignUuid)));
29084
29776
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
29085
29777
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
29086
29778
  let baseOptions;
@@ -29088,7 +29780,7 @@ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?:
29088
29780
  baseOptions = configuration.baseOptions;
29089
29781
  }
29090
29782
 
29091
- const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
29783
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
29092
29784
  const localVarHeaderParameter = {} as any;
29093
29785
  const localVarQueryParameter = {} as any;
29094
29786
 
@@ -29108,16 +29800,21 @@ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?:
29108
29800
  };
29109
29801
  },
29110
29802
  /**
29111
- * Get the custom contact fields defined in a profile. Custom fields let you store your own attributes on contacts. The returned uuids are what you pass to the contact update endpoint to set values, and choice fields also list the options available to pick from.
29112
- * @summary List contact fields
29803
+ * Get a paginated list of the campaigns in a profile. Each campaign carries its headline engagement rates. Filter by status to find drafts, scheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the status `publish`. By default only regular campaigns are returned - pass `type` to get the emails sent by automations or the double opt-in confirmations instead.
29804
+ * @summary List campaigns
29113
29805
  * @param {string} profileUuid Profile uuid parameter
29806
+ * @param {ListCampaignsV1StatusEnum} [status] Filter campaigns by status. A fully sent campaign has the status &#x60;publish&#x60;. There is no &#x60;sent&#x60; status, and campaigns can be neither paused nor archived.
29807
+ * @param {ListCampaignsV1TypeEnum} [type] Filter campaigns by type. Defaults to &#x60;campaign&#x60;, which leaves out the emails sent by automations and the double opt-in confirmations.
29808
+ * @param {ListCampaignsV1SortDirectionEnum} [sortDirection] Order campaigns by creation date. Newest first unless set to &#x60;asc&#x60;.
29809
+ * @param {number} [page] Page number
29810
+ * @param {number} [perPage] Number of items per page
29114
29811
  * @param {*} [options] Override http request option.
29115
29812
  * @throws {RequiredError}
29116
29813
  */
29117
- listContactFieldsV1: async (profileUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
29814
+ listCampaignsV1: async (profileUuid: string, status?: ListCampaignsV1StatusEnum, type?: ListCampaignsV1TypeEnum, sortDirection?: ListCampaignsV1SortDirectionEnum, page?: number, perPage?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
29118
29815
  // verify required parameter 'profileUuid' is not null or undefined
29119
- assertParamExists('listContactFieldsV1', 'profileUuid', profileUuid)
29120
- const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields`
29816
+ assertParamExists('listCampaignsV1', 'profileUuid', profileUuid)
29817
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/campaigns`
29121
29818
  .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)));
29122
29819
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
29123
29820
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -29134,6 +29831,26 @@ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?:
29134
29831
  // http bearer authentication required
29135
29832
  await setBearerAuthToObject(localVarHeaderParameter, configuration)
29136
29833
 
29834
+ if (status !== undefined) {
29835
+ localVarQueryParameter['status'] = status;
29836
+ }
29837
+
29838
+ if (type !== undefined) {
29839
+ localVarQueryParameter['type'] = type;
29840
+ }
29841
+
29842
+ if (sortDirection !== undefined) {
29843
+ localVarQueryParameter['sort_direction'] = sortDirection;
29844
+ }
29845
+
29846
+ if (page !== undefined) {
29847
+ localVarQueryParameter['page'] = page;
29848
+ }
29849
+
29850
+ if (perPage !== undefined) {
29851
+ localVarQueryParameter['per_page'] = perPage;
29852
+ }
29853
+
29137
29854
 
29138
29855
 
29139
29856
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -29145,28 +29862,342 @@ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?:
29145
29862
  options: localVarRequestOptions,
29146
29863
  };
29147
29864
  },
29865
+ }
29866
+ };
29867
+
29868
+ /**
29869
+ * ReachCampaignsApi - functional programming interface
29870
+ * @export
29871
+ */
29872
+ export const ReachCampaignsApiFp = function(configuration?: Configuration) {
29873
+ const localVarAxiosParamCreator = ReachCampaignsApiAxiosParamCreator(configuration)
29874
+ return {
29148
29875
  /**
29149
- * Rename a custom contact field and, for the choice types, replace its option set. Options carrying a uuid are kept and relabelled, options without one are created, and any existing option left out of the list is deleted along with the values contacts hold for it. The field type and slug cannot be changed.
29150
- * @summary Update a contact field
29876
+ * Get a single campaign with its sender, subject, template reference, targeting and delivery progress. This describes how the campaign was set up and how far it has got. For opens, clicks and unsubscribes use the campaign statistics endpoint.
29877
+ * @summary Get campaign details
29151
29878
  * @param {string} profileUuid Profile uuid parameter
29152
- * @param {string} fieldUuid Contact field uuid parameter
29153
- * @param {ReachV1ContactsFieldsUpdateRequest} reachV1ContactsFieldsUpdateRequest
29879
+ * @param {string} campaignUuid Campaign uuid parameter
29154
29880
  * @param {*} [options] Override http request option.
29155
29881
  * @throws {RequiredError}
29156
29882
  */
29157
- updateAContactFieldV1: async (profileUuid: string, fieldUuid: string, reachV1ContactsFieldsUpdateRequest: ReachV1ContactsFieldsUpdateRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
29158
- // verify required parameter 'profileUuid' is not null or undefined
29159
- assertParamExists('updateAContactFieldV1', 'profileUuid', profileUuid)
29160
- // verify required parameter 'fieldUuid' is not null or undefined
29161
- assertParamExists('updateAContactFieldV1', 'fieldUuid', fieldUuid)
29162
- // verify required parameter 'reachV1ContactsFieldsUpdateRequest' is not null or undefined
29163
- assertParamExists('updateAContactFieldV1', 'reachV1ContactsFieldsUpdateRequest', reachV1ContactsFieldsUpdateRequest)
29164
- const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}`
29165
- .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)))
29166
- .replace(`{${"fieldUuid"}}`, encodeURIComponent(String(fieldUuid)));
29167
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
29168
- const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
29169
- let baseOptions;
29883
+ async getCampaignDetailsV1(profileUuid: string, campaignUuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReachV1CampaignsCampaignDetailsResource>> {
29884
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getCampaignDetailsV1(profileUuid, campaignUuid, options);
29885
+ const localVarOperationServerBasePath = operationServerMap['ReachCampaignsApi.getCampaignDetailsV1']?.[0]?.url;
29886
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
29887
+ },
29888
+ /**
29889
+ * Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the matching rates. Every count is unique contacts rather than raw events, so a contact who opens the same email five times is counted once.
29890
+ * @summary Get campaign performance
29891
+ * @param {string} profileUuid Profile uuid parameter
29892
+ * @param {string} campaignUuid Campaign uuid parameter
29893
+ * @param {*} [options] Override http request option.
29894
+ * @throws {RequiredError}
29895
+ */
29896
+ async getCampaignPerformanceV1(profileUuid: string, campaignUuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReachV1CampaignsCampaignStatisticsResource>> {
29897
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getCampaignPerformanceV1(profileUuid, campaignUuid, options);
29898
+ const localVarOperationServerBasePath = operationServerMap['ReachCampaignsApi.getCampaignPerformanceV1']?.[0]?.url;
29899
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
29900
+ },
29901
+ /**
29902
+ * Get a paginated list of the campaigns in a profile. Each campaign carries its headline engagement rates. Filter by status to find drafts, scheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the status `publish`. By default only regular campaigns are returned - pass `type` to get the emails sent by automations or the double opt-in confirmations instead.
29903
+ * @summary List campaigns
29904
+ * @param {string} profileUuid Profile uuid parameter
29905
+ * @param {ListCampaignsV1StatusEnum} [status] Filter campaigns by status. A fully sent campaign has the status &#x60;publish&#x60;. There is no &#x60;sent&#x60; status, and campaigns can be neither paused nor archived.
29906
+ * @param {ListCampaignsV1TypeEnum} [type] Filter campaigns by type. Defaults to &#x60;campaign&#x60;, which leaves out the emails sent by automations and the double opt-in confirmations.
29907
+ * @param {ListCampaignsV1SortDirectionEnum} [sortDirection] Order campaigns by creation date. Newest first unless set to &#x60;asc&#x60;.
29908
+ * @param {number} [page] Page number
29909
+ * @param {number} [perPage] Number of items per page
29910
+ * @param {*} [options] Override http request option.
29911
+ * @throws {RequiredError}
29912
+ */
29913
+ async listCampaignsV1(profileUuid: string, status?: ListCampaignsV1StatusEnum, type?: ListCampaignsV1TypeEnum, sortDirection?: ListCampaignsV1SortDirectionEnum, page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReachListCampaignsV1200Response>> {
29914
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listCampaignsV1(profileUuid, status, type, sortDirection, page, perPage, options);
29915
+ const localVarOperationServerBasePath = operationServerMap['ReachCampaignsApi.listCampaignsV1']?.[0]?.url;
29916
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
29917
+ },
29918
+ }
29919
+ };
29920
+
29921
+ /**
29922
+ * ReachCampaignsApi - factory interface
29923
+ * @export
29924
+ */
29925
+ export const ReachCampaignsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
29926
+ const localVarFp = ReachCampaignsApiFp(configuration)
29927
+ return {
29928
+ /**
29929
+ * Get a single campaign with its sender, subject, template reference, targeting and delivery progress. This describes how the campaign was set up and how far it has got. For opens, clicks and unsubscribes use the campaign statistics endpoint.
29930
+ * @summary Get campaign details
29931
+ * @param {string} profileUuid Profile uuid parameter
29932
+ * @param {string} campaignUuid Campaign uuid parameter
29933
+ * @param {*} [options] Override http request option.
29934
+ * @throws {RequiredError}
29935
+ */
29936
+ getCampaignDetailsV1(profileUuid: string, campaignUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<ReachV1CampaignsCampaignDetailsResource> {
29937
+ return localVarFp.getCampaignDetailsV1(profileUuid, campaignUuid, options).then((request) => request(axios, basePath));
29938
+ },
29939
+ /**
29940
+ * Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the matching rates. Every count is unique contacts rather than raw events, so a contact who opens the same email five times is counted once.
29941
+ * @summary Get campaign performance
29942
+ * @param {string} profileUuid Profile uuid parameter
29943
+ * @param {string} campaignUuid Campaign uuid parameter
29944
+ * @param {*} [options] Override http request option.
29945
+ * @throws {RequiredError}
29946
+ */
29947
+ getCampaignPerformanceV1(profileUuid: string, campaignUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<ReachV1CampaignsCampaignStatisticsResource> {
29948
+ return localVarFp.getCampaignPerformanceV1(profileUuid, campaignUuid, options).then((request) => request(axios, basePath));
29949
+ },
29950
+ /**
29951
+ * Get a paginated list of the campaigns in a profile. Each campaign carries its headline engagement rates. Filter by status to find drafts, scheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the status `publish`. By default only regular campaigns are returned - pass `type` to get the emails sent by automations or the double opt-in confirmations instead.
29952
+ * @summary List campaigns
29953
+ * @param {string} profileUuid Profile uuid parameter
29954
+ * @param {ListCampaignsV1StatusEnum} [status] Filter campaigns by status. A fully sent campaign has the status &#x60;publish&#x60;. There is no &#x60;sent&#x60; status, and campaigns can be neither paused nor archived.
29955
+ * @param {ListCampaignsV1TypeEnum} [type] Filter campaigns by type. Defaults to &#x60;campaign&#x60;, which leaves out the emails sent by automations and the double opt-in confirmations.
29956
+ * @param {ListCampaignsV1SortDirectionEnum} [sortDirection] Order campaigns by creation date. Newest first unless set to &#x60;asc&#x60;.
29957
+ * @param {number} [page] Page number
29958
+ * @param {number} [perPage] Number of items per page
29959
+ * @param {*} [options] Override http request option.
29960
+ * @throws {RequiredError}
29961
+ */
29962
+ listCampaignsV1(profileUuid: string, status?: ListCampaignsV1StatusEnum, type?: ListCampaignsV1TypeEnum, sortDirection?: ListCampaignsV1SortDirectionEnum, page?: number, perPage?: number, options?: RawAxiosRequestConfig): AxiosPromise<ReachListCampaignsV1200Response> {
29963
+ return localVarFp.listCampaignsV1(profileUuid, status, type, sortDirection, page, perPage, options).then((request) => request(axios, basePath));
29964
+ },
29965
+ };
29966
+ };
29967
+
29968
+ /**
29969
+ * ReachCampaignsApi - object-oriented interface
29970
+ * @export
29971
+ * @class ReachCampaignsApi
29972
+ * @extends {BaseAPI}
29973
+ */
29974
+ export class ReachCampaignsApi extends BaseAPI {
29975
+ /**
29976
+ * Get a single campaign with its sender, subject, template reference, targeting and delivery progress. This describes how the campaign was set up and how far it has got. For opens, clicks and unsubscribes use the campaign statistics endpoint.
29977
+ * @summary Get campaign details
29978
+ * @param {string} profileUuid Profile uuid parameter
29979
+ * @param {string} campaignUuid Campaign uuid parameter
29980
+ * @param {*} [options] Override http request option.
29981
+ * @throws {RequiredError}
29982
+ * @memberof ReachCampaignsApi
29983
+ */
29984
+ public getCampaignDetailsV1(profileUuid: string, campaignUuid: string, options?: RawAxiosRequestConfig) {
29985
+ return ReachCampaignsApiFp(this.configuration).getCampaignDetailsV1(profileUuid, campaignUuid, options).then((request) => request(this.axios, this.basePath));
29986
+ }
29987
+
29988
+ /**
29989
+ * Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the matching rates. Every count is unique contacts rather than raw events, so a contact who opens the same email five times is counted once.
29990
+ * @summary Get campaign performance
29991
+ * @param {string} profileUuid Profile uuid parameter
29992
+ * @param {string} campaignUuid Campaign uuid parameter
29993
+ * @param {*} [options] Override http request option.
29994
+ * @throws {RequiredError}
29995
+ * @memberof ReachCampaignsApi
29996
+ */
29997
+ public getCampaignPerformanceV1(profileUuid: string, campaignUuid: string, options?: RawAxiosRequestConfig) {
29998
+ return ReachCampaignsApiFp(this.configuration).getCampaignPerformanceV1(profileUuid, campaignUuid, options).then((request) => request(this.axios, this.basePath));
29999
+ }
30000
+
30001
+ /**
30002
+ * Get a paginated list of the campaigns in a profile. Each campaign carries its headline engagement rates. Filter by status to find drafts, scheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the status `publish`. By default only regular campaigns are returned - pass `type` to get the emails sent by automations or the double opt-in confirmations instead.
30003
+ * @summary List campaigns
30004
+ * @param {string} profileUuid Profile uuid parameter
30005
+ * @param {ListCampaignsV1StatusEnum} [status] Filter campaigns by status. A fully sent campaign has the status &#x60;publish&#x60;. There is no &#x60;sent&#x60; status, and campaigns can be neither paused nor archived.
30006
+ * @param {ListCampaignsV1TypeEnum} [type] Filter campaigns by type. Defaults to &#x60;campaign&#x60;, which leaves out the emails sent by automations and the double opt-in confirmations.
30007
+ * @param {ListCampaignsV1SortDirectionEnum} [sortDirection] Order campaigns by creation date. Newest first unless set to &#x60;asc&#x60;.
30008
+ * @param {number} [page] Page number
30009
+ * @param {number} [perPage] Number of items per page
30010
+ * @param {*} [options] Override http request option.
30011
+ * @throws {RequiredError}
30012
+ * @memberof ReachCampaignsApi
30013
+ */
30014
+ public listCampaignsV1(profileUuid: string, status?: ListCampaignsV1StatusEnum, type?: ListCampaignsV1TypeEnum, sortDirection?: ListCampaignsV1SortDirectionEnum, page?: number, perPage?: number, options?: RawAxiosRequestConfig) {
30015
+ return ReachCampaignsApiFp(this.configuration).listCampaignsV1(profileUuid, status, type, sortDirection, page, perPage, options).then((request) => request(this.axios, this.basePath));
30016
+ }
30017
+ }
30018
+
30019
+ /**
30020
+ * @export
30021
+ */
30022
+ export const ListCampaignsV1StatusEnum = {
30023
+ Draft: 'draft',
30024
+ Scheduled: 'scheduled',
30025
+ Sending: 'sending',
30026
+ Publish: 'publish',
30027
+ Failed: 'failed'
30028
+ } as const;
30029
+ export type ListCampaignsV1StatusEnum = typeof ListCampaignsV1StatusEnum[keyof typeof ListCampaignsV1StatusEnum];
30030
+ /**
30031
+ * @export
30032
+ */
30033
+ export const ListCampaignsV1TypeEnum = {
30034
+ Campaign: 'campaign',
30035
+ Automation: 'automation',
30036
+ DoubleOptIn: 'double_opt_in'
30037
+ } as const;
30038
+ export type ListCampaignsV1TypeEnum = typeof ListCampaignsV1TypeEnum[keyof typeof ListCampaignsV1TypeEnum];
30039
+ /**
30040
+ * @export
30041
+ */
30042
+ export const ListCampaignsV1SortDirectionEnum = {
30043
+ Asc: 'asc',
30044
+ Desc: 'desc'
30045
+ } as const;
30046
+ export type ListCampaignsV1SortDirectionEnum = typeof ListCampaignsV1SortDirectionEnum[keyof typeof ListCampaignsV1SortDirectionEnum];
30047
+
30048
+
30049
+ /**
30050
+ * ReachContactFieldsApi - axios parameter creator
30051
+ * @export
30052
+ */
30053
+ export const ReachContactFieldsApiAxiosParamCreator = function (configuration?: Configuration) {
30054
+ return {
30055
+ /**
30056
+ * Define a new custom contact field in a profile. The `slug` is derived from the label and, like the field type, cannot be changed later. Use the returned uuid to set values on contacts.
30057
+ * @summary Create a contact field
30058
+ * @param {string} profileUuid Profile uuid parameter
30059
+ * @param {ReachV1ContactsFieldsStoreRequest} reachV1ContactsFieldsStoreRequest
30060
+ * @param {*} [options] Override http request option.
30061
+ * @throws {RequiredError}
30062
+ */
30063
+ createAContactFieldV1: async (profileUuid: string, reachV1ContactsFieldsStoreRequest: ReachV1ContactsFieldsStoreRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
30064
+ // verify required parameter 'profileUuid' is not null or undefined
30065
+ assertParamExists('createAContactFieldV1', 'profileUuid', profileUuid)
30066
+ // verify required parameter 'reachV1ContactsFieldsStoreRequest' is not null or undefined
30067
+ assertParamExists('createAContactFieldV1', 'reachV1ContactsFieldsStoreRequest', reachV1ContactsFieldsStoreRequest)
30068
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields`
30069
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)));
30070
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
30071
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
30072
+ let baseOptions;
30073
+ if (configuration) {
30074
+ baseOptions = configuration.baseOptions;
30075
+ }
30076
+
30077
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
30078
+ const localVarHeaderParameter = {} as any;
30079
+ const localVarQueryParameter = {} as any;
30080
+
30081
+ // authentication apiToken required
30082
+ // http bearer authentication required
30083
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
30084
+
30085
+
30086
+
30087
+ localVarHeaderParameter['Content-Type'] = 'application/json';
30088
+
30089
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
30090
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
30091
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
30092
+ localVarRequestOptions.data = serializeDataIfNeeded(reachV1ContactsFieldsStoreRequest, localVarRequestOptions, configuration)
30093
+
30094
+ return {
30095
+ url: toPathString(localVarUrlObj),
30096
+ options: localVarRequestOptions,
30097
+ };
30098
+ },
30099
+ /**
30100
+ * Delete a custom contact field. Every value contacts hold for the field is deleted with it, and for the choice types so are its options. The contacts themselves are not affected.
30101
+ * @summary Delete a contact field
30102
+ * @param {string} profileUuid Profile uuid parameter
30103
+ * @param {string} fieldUuid Contact field uuid parameter
30104
+ * @param {*} [options] Override http request option.
30105
+ * @throws {RequiredError}
30106
+ */
30107
+ deleteAContactFieldV1: async (profileUuid: string, fieldUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
30108
+ // verify required parameter 'profileUuid' is not null or undefined
30109
+ assertParamExists('deleteAContactFieldV1', 'profileUuid', profileUuid)
30110
+ // verify required parameter 'fieldUuid' is not null or undefined
30111
+ assertParamExists('deleteAContactFieldV1', 'fieldUuid', fieldUuid)
30112
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}`
30113
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)))
30114
+ .replace(`{${"fieldUuid"}}`, encodeURIComponent(String(fieldUuid)));
30115
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
30116
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
30117
+ let baseOptions;
30118
+ if (configuration) {
30119
+ baseOptions = configuration.baseOptions;
30120
+ }
30121
+
30122
+ const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
30123
+ const localVarHeaderParameter = {} as any;
30124
+ const localVarQueryParameter = {} as any;
30125
+
30126
+ // authentication apiToken required
30127
+ // http bearer authentication required
30128
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
30129
+
30130
+
30131
+
30132
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
30133
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
30134
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
30135
+
30136
+ return {
30137
+ url: toPathString(localVarUrlObj),
30138
+ options: localVarRequestOptions,
30139
+ };
30140
+ },
30141
+ /**
30142
+ * Get the custom contact fields defined in a profile. Custom fields let you store your own attributes on contacts. The returned uuids are what you pass to the contact update endpoint to set values, and choice fields also list the options available to pick from.
30143
+ * @summary List contact fields
30144
+ * @param {string} profileUuid Profile uuid parameter
30145
+ * @param {*} [options] Override http request option.
30146
+ * @throws {RequiredError}
30147
+ */
30148
+ listContactFieldsV1: async (profileUuid: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
30149
+ // verify required parameter 'profileUuid' is not null or undefined
30150
+ assertParamExists('listContactFieldsV1', 'profileUuid', profileUuid)
30151
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields`
30152
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)));
30153
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
30154
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
30155
+ let baseOptions;
30156
+ if (configuration) {
30157
+ baseOptions = configuration.baseOptions;
30158
+ }
30159
+
30160
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
30161
+ const localVarHeaderParameter = {} as any;
30162
+ const localVarQueryParameter = {} as any;
30163
+
30164
+ // authentication apiToken required
30165
+ // http bearer authentication required
30166
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
30167
+
30168
+
30169
+
30170
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
30171
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
30172
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
30173
+
30174
+ return {
30175
+ url: toPathString(localVarUrlObj),
30176
+ options: localVarRequestOptions,
30177
+ };
30178
+ },
30179
+ /**
30180
+ * Rename a custom contact field and, for the choice types, replace its option set. Options carrying a uuid are kept and relabelled, options without one are created, and any existing option left out of the list is deleted along with the values contacts hold for it. The field type and slug cannot be changed.
30181
+ * @summary Update a contact field
30182
+ * @param {string} profileUuid Profile uuid parameter
30183
+ * @param {string} fieldUuid Contact field uuid parameter
30184
+ * @param {ReachV1ContactsFieldsUpdateRequest} reachV1ContactsFieldsUpdateRequest
30185
+ * @param {*} [options] Override http request option.
30186
+ * @throws {RequiredError}
30187
+ */
30188
+ updateAContactFieldV1: async (profileUuid: string, fieldUuid: string, reachV1ContactsFieldsUpdateRequest: ReachV1ContactsFieldsUpdateRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
30189
+ // verify required parameter 'profileUuid' is not null or undefined
30190
+ assertParamExists('updateAContactFieldV1', 'profileUuid', profileUuid)
30191
+ // verify required parameter 'fieldUuid' is not null or undefined
30192
+ assertParamExists('updateAContactFieldV1', 'fieldUuid', fieldUuid)
30193
+ // verify required parameter 'reachV1ContactsFieldsUpdateRequest' is not null or undefined
30194
+ assertParamExists('updateAContactFieldV1', 'reachV1ContactsFieldsUpdateRequest', reachV1ContactsFieldsUpdateRequest)
30195
+ const localVarPath = `/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}`
30196
+ .replace(`{${"profileUuid"}}`, encodeURIComponent(String(profileUuid)))
30197
+ .replace(`{${"fieldUuid"}}`, encodeURIComponent(String(fieldUuid)));
30198
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
30199
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
30200
+ let baseOptions;
29170
30201
  if (configuration) {
29171
30202
  baseOptions = configuration.baseOptions;
29172
30203
  }
@@ -30269,6 +31300,291 @@ export const ListProfileContactsV1SubscriptionStatusEnum = {
30269
31300
  export type ListProfileContactsV1SubscriptionStatusEnum = typeof ListProfileContactsV1SubscriptionStatusEnum[keyof typeof ListProfileContactsV1SubscriptionStatusEnum];
30270
31301
 
30271
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
+
30272
31588
  /**
30273
31589
  * ReachProfilesApi - axios parameter creator
30274
31590
  * @export
@@ -30304,6 +31620,44 @@ export const ReachProfilesApiAxiosParamCreator = function (configuration?: Confi
30304
31620
 
30305
31621
 
30306
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
+
30307
31661
  setSearchParams(localVarUrlObj, localVarQueryParameter);
30308
31662
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
30309
31663
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -30369,6 +31723,18 @@ export const ReachProfilesApiFp = function(configuration?: Configuration) {
30369
31723
  const localVarOperationServerBasePath = operationServerMap['ReachProfilesApi.getProfileDomainDNSStatusV1']?.[0]?.url;
30370
31724
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
30371
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
+ },
30372
31738
  /**
30373
31739
  * This endpoint returns all profiles available to the client, including their basic information.
30374
31740
  * @summary List Profiles
@@ -30400,6 +31766,16 @@ export const ReachProfilesApiFactory = function (configuration?: Configuration,
30400
31766
  getProfileDomainDNSStatusV1(profileUuid: string, options?: RawAxiosRequestConfig): AxiosPromise<ReachV1ProfilesDomainsDnsStatusResource> {
30401
31767
  return localVarFp.getProfileDomainDNSStatusV1(profileUuid, options).then((request) => request(axios, basePath));
30402
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
+ },
30403
31779
  /**
30404
31780
  * This endpoint returns all profiles available to the client, including their basic information.
30405
31781
  * @summary List Profiles
@@ -30431,6 +31807,18 @@ export class ReachProfilesApi extends BaseAPI {
30431
31807
  return ReachProfilesApiFp(this.configuration).getProfileDomainDNSStatusV1(profileUuid, options).then((request) => request(this.axios, this.basePath));
30432
31808
  }
30433
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
+
30434
31822
  /**
30435
31823
  * This endpoint returns all profiles available to the client, including their basic information.
30436
31824
  * @summary List Profiles