@outseta/react 0.0.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.
@@ -0,0 +1,4858 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * Generated by orval v7.21.0 🍺
4
+ * Do not edit manually.
5
+ * Outseta API
6
+ * # Outseta REST API
7
+
8
+ The Outseta REST API enables you to perform a variety of powerful tasks such as creating and updating people, accounts, subscriptions, and invoices. Outseta uses standard HTTP protocols within a compliant architecture that is simple to integrate. You can use the API both on the client or the server side; see the authentication section below for each scenario.
9
+
10
+ **Base URL:** `https://{your-domain}.outseta.com/api/v1/`
11
+
12
+ ## API Guidelines
13
+
14
+ 1. The API will only respond to secured communication done over **HTTPS**. HTTP requests will be sent a `301` redirect to the corresponding HTTPS resource.
15
+ 2. Responses are sent in **JSON** format. In case the API request results in an error, it is represented by an `"error": {}` key in the JSON response.
16
+ 3. The request method (verb) determines the nature of the action: **GET** fetches data, **POST** creates new records, **PUT** updates existing records.
17
+ 4. The API responds with appropriate **HTTP status codes** for all requests.
18
+ 5. Use `donotlog=1` as a query parameter on any API call where you don't want the action to be logged in the activity log.
19
+
20
+ ## Authentication
21
+
22
+ All API requests require authentication via one of two methods:
23
+
24
+ ### Server-Side (API Keys)
25
+
26
+ Use API keys for server-to-server integrations. Create keys at **Settings > Integrations > API Keys**. Make sure to record the secret key when you create it.
27
+
28
+ ```
29
+ Authorization: Outseta {api_key}:{api_secret}
30
+ ```
31
+
32
+ **Example:**
33
+ ```
34
+ Authorization: Outseta ce08fd5a-e1ee-4472-9c5f-b7575d8369b2:74fc1d2242a4eb7336d34b0e40cfbc5f
35
+ ```
36
+
37
+ > **Warning:** Never expose API keys in client-side code. The API key and secret combined give full access to all data in your account.
38
+
39
+ ### Client-Side (Bearer Token)
40
+
41
+ Do **not** use API keys on the client side — they can be easily copied. Instead, obtain a JWT access token by calling the `POST /tokens` endpoint from the server side with your credentials, then use it on the client:
42
+
43
+ ```
44
+ Authorization: bearer {access_token}
45
+ ```
46
+
47
+ Tokens are JWTs containing claims such as `PersonUid`, `AccountUid`, and subscription details. Tokens expire after approximately one year.
48
+
49
+ Verify tokens server-side using Outseta's [JWKS endpoint](https://{your-domain}.outseta.com/.well-known/jwks.json).
50
+
51
+ ## Field Selection
52
+
53
+ When you make an API request, you'll automatically get all the basic information from the main object and its immediate child objects. Referenced objects beyond the first level are returned as `null`.
54
+
55
+ Change this behavior using the `fields` query parameter:
56
+
57
+ - **Go deeper** — Request fields lower down in the object tree: `?fields=CurrentSubscription.Plan.*`
58
+ - **Go lighter** — Request only the essentials for faster performance: `?fields=Uid,Name`
59
+ - **Combination** — `?fields=Uid,Name,CurrentSubscription.Plan.Uid`
60
+ - **Wildcard** — Use `*` to get all fields in an object: `?fields=*` or `?fields=CurrentSubscription.Plan.*`
61
+
62
+ > **Tip:** When expanding nested paths, include `*` and intermediate path segments (e.g., `PersonAccount.*`) to preserve root-level and intermediate fields.
63
+
64
+ **Examples:**
65
+
66
+ ```
67
+ # Get the current subscription plan UID for an account
68
+ GET /crm/accounts/{uid}?fields=CurrentSubscription.Plan.Uid
69
+
70
+ # Get the account UID and plan UID for a list of accounts
71
+ GET /crm/accounts?fields=Uid,CurrentSubscription.Plan.Uid
72
+
73
+ # Get the full plan object for an account's current subscription
74
+ GET /crm/accounts/{uid}?fields=CurrentSubscription.Plan.*
75
+
76
+ # Get a person with their account and subscription info
77
+ GET /crm/people/{uid}?fields=Uid,PersonAccount.Account.CurrentSubscription.Plan.Uid
78
+ ```
79
+
80
+ If your request includes fields from a child object you will be limited to retrieving **25 items** per page. The maximum for requests not expanding child object fields is **100 items**.
81
+
82
+ ## Pagination
83
+
84
+ List endpoints return paginated results with a `metadata` object and an `items` array:
85
+
86
+ ```json
87
+ {
88
+ "metadata": {
89
+ "limit": 25,
90
+ "offset": 0,
91
+ "total": 142
92
+ },
93
+ "items": [ ... ]
94
+ }
95
+ ```
96
+
97
+ | Parameter | Type | Default | Description |
98
+ |-----------|------|---------|-------------|
99
+ | `offset` | integer | `0` | Page number (zero-based) |
100
+ | `limit` | integer | `25` | Maximum number of records per page |
101
+
102
+ **Examples:**
103
+ ```
104
+ ?offset=0&limit=20 # returns results 1-20
105
+ ?offset=1&limit=20 # returns results 21-40
106
+ ```
107
+
108
+ ## Sorting
109
+
110
+ Sort results using the `orderBy` parameter with a property name and direction:
111
+
112
+ ```
113
+ ?orderBy=PropertyName+DESC
114
+ ```
115
+
116
+ ## Filtering
117
+
118
+ Filter results by passing entity properties as query parameters.
119
+
120
+ ### Basic Filtering
121
+
122
+ Filter on any field using the field name as a query parameter:
123
+
124
+ ```
125
+ GET /crm/people?Email=john@example.com
126
+ GET /crm/accounts?AccountStage=2
127
+ ```
128
+
129
+ ### Wildcard Matching
130
+
131
+ | Pattern | Match Type | Example |
132
+ |---------|-----------|---------|
133
+ | `*value` | Ends with | `?Email=*@example.com` |
134
+ | `value*` | Starts with | `?Name=Acme*` |
135
+ | `*value*` | Contains | `?Name=*corp*` |
136
+
137
+ ### Comparison Operators
138
+
139
+ For advanced filtering, append comparison operators to field names:
140
+
141
+ | Operator | Description | Example |
142
+ |----------|-------------|---------|
143
+ | `__gt` | Greater than | `Created__gt=2024-01-01` |
144
+ | `__gte` | Greater than or equal | `Amount__gte=100` |
145
+ | `__lt` | Less than | `Created__lt=2024-12-31` |
146
+ | `__lte` | Less than or equal | `Amount__lte=500` |
147
+ | `__ne` | Not equal | `Status__ne=Active` |
148
+ | `__isnull` | Is null (true/false) | `ProfileImageS3Url__isnull=true` |
149
+
150
+ **Examples:**
151
+
152
+ ```
153
+ # Date filtering
154
+ GET /crm/accounts?Created__gt=2024-01-01
155
+ GET /billing/subscriptions?EndDate__lt=2024-08-01
156
+
157
+ # Numeric filtering
158
+ GET /billing/invoices?Amount__gte=1000
159
+
160
+ # Null value filtering
161
+ GET /crm/people?ProfileImageS3Url__isnull=true
162
+
163
+ # Multiple filters combined with field selection
164
+ GET /billing/subscriptions?StartDate__gte=2024-01-01&Rate__lt=100&DiscountCode__isnull=false&fields=Uid,Amount,StartDate,DiscountCode,Plan.Name
165
+ ```
166
+
167
+ ## Account Billing Stages
168
+
169
+ Account stages reflect the financial standing of each account and are not directly editable — they change automatically based on subscription activity.
170
+
171
+ | Value | Stage | Description |
172
+ |-------|-------|-------------|
173
+ | `2` | Trialing | Currently on a free trial or free plan |
174
+ | `3` | Subscribing | Active paid subscription (contributes to MRR) |
175
+ | `4` | Canceling | Customer has indicated intent to cancel |
176
+ | `5` | Expired | Subscription has ended after cancellation |
177
+ | `6` | Trial Expired | Free trial ended without conversion to paid |
178
+
179
+ Filter by stage: `GET /crm/accounts?AccountStage=3` returns all actively subscribing accounts.
180
+
181
+ ## Webhooks
182
+
183
+ Use **Activity Notifications** to receive real-time callbacks when events occur in Outseta. Configure webhooks at **Settings > Notifications**.
184
+
185
+ Common events include:
186
+ - `Person Created` / `Person Updated`
187
+ - `Account Created` / `Account Updated`
188
+ - `Subscription Created` / `Subscription Updated`
189
+
190
+ Always verify webhook signatures using the SHA256 secret provided in the Outseta dashboard.
191
+
192
+ ## Error Responses
193
+
194
+ | Status Code | Description |
195
+ |-------------|-------------|
196
+ | `200` | Success |
197
+ | `301` | Redirect — HTTP requests are redirected to HTTPS |
198
+ | `400` | Bad request — invalid parameters or Uid format |
199
+ | `401` | Unauthorized — missing or invalid authentication |
200
+ | `404` | Entity not found |
201
+ | `4XX` / `5XX` | Client or server error |
202
+
203
+ Validation errors return a JSON body with `ErrorMessage` and `PropertyName` fields:
204
+
205
+ ```json
206
+ {
207
+ "ErrorMessage": "Invalid company email",
208
+ "PropertyName": "Email"
209
+ }
210
+ ```
211
+
212
+ ## Rate Limits
213
+
214
+ Requests authorized by an API Key should not exceed **4 requests/second**.
215
+
216
+ ## Support
217
+
218
+ For help regarding the Outseta API please email [support@outseta.com](mailto:support@outseta.com).
219
+
220
+ * OpenAPI spec version: v1
221
+ */
222
+ export interface TagUidList {
223
+ /** @nullable */
224
+ TagUids?: string[] | null;
225
+ }
226
+
227
+ export type TranslationAllOf = {
228
+ /**
229
+ * @minLength 1
230
+ * @maxLength 255
231
+ */
232
+ Key: string;
233
+ /**
234
+ * @minLength 1
235
+ * @maxLength 255
236
+ */
237
+ Value: string;
238
+ /**
239
+ * @minLength 1
240
+ * @maxLength 42
241
+ */
242
+ LanguageCode: string;
243
+ };
244
+
245
+ export type Translation = AbstractQcountBean & TranslationAllOf;
246
+
247
+ /**
248
+ * @nullable
249
+ */
250
+ export type AbstractQcountBeanAllOfActivityEventData = unknown | null;
251
+
252
+ export type AbstractQcountBeanAllOf = {
253
+ /** @nullable */
254
+ ActivityEventData?: AbstractQcountBeanAllOfActivityEventData;
255
+ };
256
+
257
+ export type AbstractQcountBean = AbstractBean & AbstractQcountBeanAllOf & Required<Pick<AbstractBean & AbstractQcountBeanAllOf, 'Qcount_Id'>>;
258
+
259
+ export interface AbstractBean {
260
+ /**
261
+ * @maxLength 10
262
+ * @nullable
263
+ */
264
+ Uid?: string | null;
265
+ /** @minLength 1 */
266
+ Created: string;
267
+ /** @minLength 1 */
268
+ Updated: string;
269
+ }
270
+
271
+ /**
272
+ * `0` - NotSet, `1` - Deserialized, `2` - DeserializedNull
273
+ */
274
+ export type DeserializationStatus = typeof DeserializationStatus[keyof typeof DeserializationStatus];
275
+
276
+
277
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
278
+ export const DeserializationStatus = {
279
+ NotSet: 0,
280
+ Deserialized: 1,
281
+ DeserializedNull: 2,
282
+ } as const;
283
+
284
+ export type TagAllOf = {
285
+ /**
286
+ * @minLength 1
287
+ * @maxLength 50
288
+ */
289
+ Name: string;
290
+ /**
291
+ * @maxLength 50
292
+ * @nullable
293
+ */
294
+ SystemName?: string | null;
295
+ /**
296
+ * @maxLength 500
297
+ * @nullable
298
+ */
299
+ SystemDescription?: string | null;
300
+ TagColor?: TagColor;
301
+ EntityType?: EntityType;
302
+ };
303
+
304
+ export type Tag = AbstractQcountBean & TagAllOf;
305
+
306
+ /**
307
+ * `1` - Red, `2` - Orange, `3` - Amber, `4` - Green, `5` - Teal, `6` - Blue, `7` - Indigo, `8` - Purple, `9` - Pink, `10` - Gray
308
+ */
309
+ export type TagColor = typeof TagColor[keyof typeof TagColor];
310
+
311
+
312
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
313
+ export const TagColor = {
314
+ Red: 1,
315
+ Orange: 2,
316
+ Amber: 3,
317
+ Green: 4,
318
+ Teal: 5,
319
+ Blue: 6,
320
+ Indigo: 7,
321
+ Purple: 8,
322
+ Pink: 9,
323
+ Gray: 10,
324
+ } as const;
325
+
326
+ /**
327
+ * `0` - None, `1` - Account, `2` - Person, `3` - Deal, `4` - Case, `5` - Invoice, `6` - EmailLog, `7` - Plan, `8` - DiscountCoupon, `9` - AddOn, `10` - Task, `11` - Segment, `12` - Broadcast
328
+ */
329
+ export type EntityType = typeof EntityType[keyof typeof EntityType];
330
+
331
+
332
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
333
+ export const EntityType = {
334
+ None: 0,
335
+ Account: 1,
336
+ Person: 2,
337
+ Deal: 3,
338
+ Case: 4,
339
+ Invoice: 5,
340
+ EmailLog: 6,
341
+ Plan: 7,
342
+ DiscountCoupon: 8,
343
+ AddOn: 9,
344
+ Task: 10,
345
+ Segment: 11,
346
+ Broadcast: 12,
347
+ } as const;
348
+
349
+ export type DefinitionAllOf = {
350
+ /**
351
+ * @maxLength 250
352
+ * @nullable
353
+ */
354
+ ControlType?: string | null;
355
+ /** @nullable */
356
+ ControlParams?: string | null;
357
+ /** @nullable */
358
+ Label?: string | null;
359
+ /** @nullable */
360
+ SystemName?: string | null;
361
+ EntityType?: EntityType;
362
+ /** @nullable */
363
+ Position?: number | null;
364
+ Hidden?: boolean;
365
+ };
366
+
367
+ export type Definition = AbstractQcountBean & DefinitionAllOf;
368
+
369
+ export interface EmailSubscriptionsPayload {
370
+ /** @nullable */
371
+ ActiveSubscriptions?: EmailListPerson[] | null;
372
+ /** @nullable */
373
+ RecaptchaToken?: string | null;
374
+ }
375
+
376
+ /**
377
+ * @nullable
378
+ */
379
+ export type EmailListPersonAllOfEmailList = EmailList | null;
380
+
381
+ /**
382
+ * @nullable
383
+ */
384
+ export type EmailListPersonAllOfPerson = Person | null;
385
+
386
+ export type EmailListPersonAllOf = {
387
+ /** @nullable */
388
+ EmailList?: EmailListPersonAllOfEmailList;
389
+ /** @nullable */
390
+ Person?: EmailListPersonAllOfPerson;
391
+ /**
392
+ * @minimum 1
393
+ * @maximum 4
394
+ */
395
+ EmailListSubscriberStatus?: EmailListSubscriberStatus;
396
+ SubscribedDate?: string;
397
+ /** @nullable */
398
+ ConfirmedDate?: string | null;
399
+ /**
400
+ * @maxLength 500
401
+ * @nullable
402
+ */
403
+ ConfirmationNotes?: string | null;
404
+ /** @nullable */
405
+ UnsubscribedDate?: string | null;
406
+ /** @nullable */
407
+ CleanedDate?: string | null;
408
+ /** @nullable */
409
+ WelcomeEmailDeliverDateTime?: string | null;
410
+ /** @nullable */
411
+ WelcomeEmailOpenDateTime?: string | null;
412
+ /**
413
+ * @maxLength 20
414
+ * @nullable
415
+ */
416
+ UnsubscribeReason?: string | null;
417
+ /** @nullable */
418
+ UnsubscribeReasonOther?: string | null;
419
+ /** @nullable */
420
+ RecaptchaToken?: string | null;
421
+ /** @nullable */
422
+ RecaptchaSiteKey?: string | null;
423
+ SendWelcomeEmail?: boolean;
424
+ /** @nullable */
425
+ Source?: string | null;
426
+ };
427
+
428
+ export type EmailListPerson = AbstractQcountBean & EmailListPersonAllOf;
429
+
430
+ export type EmailListAllOf = {
431
+ /**
432
+ * @minLength 1
433
+ * @maxLength 100
434
+ */
435
+ Name: string;
436
+ /**
437
+ * @maxLength 255
438
+ * @nullable
439
+ */
440
+ Description?: string | null;
441
+ /**
442
+ * @maxLength 250
443
+ * @nullable
444
+ */
445
+ WelcomeSubject?: string | null;
446
+ /** @nullable */
447
+ WelcomeBody?: string | null;
448
+ /**
449
+ * @maxLength 250
450
+ * @nullable
451
+ */
452
+ WelcomeFromName?: string | null;
453
+ /**
454
+ * @maxLength 250
455
+ * @nullable
456
+ */
457
+ WelcomeFromEmail?: string | null;
458
+ RequiresDoubleOptIn?: boolean;
459
+ IsInternal?: boolean;
460
+ /** @nullable */
461
+ EmailListPerson?: EmailListPerson[] | null;
462
+ /** @nullable */
463
+ FieldConfigurationDataJSON?: string | null;
464
+ CountSubscriptionsActive?: number;
465
+ CountSubscriptionsBounce?: number;
466
+ CountSubscriptionsNotConfirmed?: number;
467
+ CountSubscriptionsSpam?: number;
468
+ CountSubscriptionsUnsubscribed?: number;
469
+ };
470
+
471
+ export type EmailList = AbstractQcountBean & EmailListAllOf;
472
+
473
+ /**
474
+ * @nullable
475
+ */
476
+ export type PersonAllOfMailingAddress = Address | null;
477
+
478
+ /**
479
+ * @nullable
480
+ */
481
+ export type PersonAllOfAccount = Account | null;
482
+
483
+ /**
484
+ * @nullable
485
+ */
486
+ export type PersonAllOfDiscordUser = DiscordUser | null;
487
+
488
+ export type PersonAllOf = {
489
+ /**
490
+ * @maxLength 250
491
+ * @nullable
492
+ */
493
+ Email?: string | null;
494
+ /**
495
+ * @maxLength 250
496
+ * @nullable
497
+ */
498
+ FirstName?: string | null;
499
+ /**
500
+ * @maxLength 250
501
+ * @nullable
502
+ */
503
+ LastName?: string | null;
504
+ /** @nullable */
505
+ MailingAddress?: PersonAllOfMailingAddress;
506
+ /**
507
+ * @maxLength 250
508
+ * @nullable
509
+ */
510
+ PasswordHash?: string | null;
511
+ /** @nullable */
512
+ PasswordLastUpdated?: string | null;
513
+ /**
514
+ * @maxLength 250
515
+ * @nullable
516
+ */
517
+ PasswordResetToken?: string | null;
518
+ PasswordMustChange?: boolean;
519
+ /**
520
+ * @maxLength 250
521
+ * @nullable
522
+ */
523
+ PhoneMobile?: string | null;
524
+ /**
525
+ * @maxLength 250
526
+ * @nullable
527
+ */
528
+ PhoneWork?: string | null;
529
+ /**
530
+ * @maxLength 250
531
+ * @nullable
532
+ */
533
+ ProfileImageS3Url?: string | null;
534
+ /**
535
+ * @maxLength 250
536
+ * @nullable
537
+ */
538
+ Title?: string | null;
539
+ /**
540
+ * @maxLength 100
541
+ * @nullable
542
+ */
543
+ Timezone?: string | null;
544
+ /**
545
+ * @maxLength 50
546
+ * @nullable
547
+ */
548
+ Language?: string | null;
549
+ /**
550
+ * @maxLength 250
551
+ * @nullable
552
+ */
553
+ IPAddress?: string | null;
554
+ /**
555
+ * @maxLength 250
556
+ * @nullable
557
+ */
558
+ Referer?: string | null;
559
+ /**
560
+ * @maxLength 1000
561
+ * @nullable
562
+ */
563
+ UserAgent?: string | null;
564
+ /** @nullable */
565
+ LastLoginDateTime?: string | null;
566
+ /**
567
+ * @maxLength 50
568
+ * @nullable
569
+ */
570
+ OAuthGoogleProfileId?: string | null;
571
+ /** @nullable */
572
+ PersonAccount?: PersonAccount[] | null;
573
+ /** @nullable */
574
+ DealPeople?: DealPerson[] | null;
575
+ /** @nullable */
576
+ LeadFormSubmissions?: LeadFormSubmission[] | null;
577
+ /** @nullable */
578
+ EmailListPerson?: EmailListPerson[] | null;
579
+ /** @nullable */
580
+ Account?: PersonAllOfAccount;
581
+ /** @nullable */
582
+ AccountUids?: string | null;
583
+ /** @nullable */
584
+ FullName?: string | null;
585
+ HasLoggedIn?: boolean;
586
+ OAuthIntegrationStatus?: OAuthService;
587
+ OptInToEmailList?: boolean;
588
+ /** @nullable */
589
+ Password?: string | null;
590
+ /** @nullable */
591
+ UserAgentPlatformBrowser?: string | null;
592
+ HasUnsubscribed?: boolean;
593
+ /** @nullable */
594
+ DiscordUser?: PersonAllOfDiscordUser;
595
+ IsConnectedToDiscord?: boolean;
596
+ [key: string]: unknown | null;
597
+ };
598
+
599
+ export type Person = AbstractSchemaLessBean & PersonAllOf;
600
+
601
+ export type AddressAllOf = {
602
+ /**
603
+ * @maxLength 250
604
+ * @nullable
605
+ */
606
+ AddressLine1?: string | null;
607
+ /**
608
+ * @maxLength 250
609
+ * @nullable
610
+ */
611
+ AddressLine2?: string | null;
612
+ /**
613
+ * @maxLength 250
614
+ * @nullable
615
+ */
616
+ AddressLine3?: string | null;
617
+ /**
618
+ * @maxLength 250
619
+ * @nullable
620
+ */
621
+ City?: string | null;
622
+ /**
623
+ * @maxLength 250
624
+ * @nullable
625
+ */
626
+ State?: string | null;
627
+ /**
628
+ * @maxLength 250
629
+ * @nullable
630
+ */
631
+ PostalCode?: string | null;
632
+ /**
633
+ * @maxLength 250
634
+ * @nullable
635
+ */
636
+ Country?: string | null;
637
+ /**
638
+ * @maxLength 250
639
+ * @nullable
640
+ */
641
+ GeoLocation?: string | null;
642
+ };
643
+
644
+ export type Address = AbstractQcountBean & AddressAllOf;
645
+
646
+ /**
647
+ * @nullable
648
+ */
649
+ export type PersonAccountAllOfPerson = Person | null;
650
+
651
+ /**
652
+ * @nullable
653
+ */
654
+ export type PersonAccountAllOfAccount = Account | null;
655
+
656
+ export type PersonAccountAllOf = {
657
+ /** @nullable */
658
+ Person?: PersonAccountAllOfPerson;
659
+ /** @nullable */
660
+ Account?: PersonAccountAllOfAccount;
661
+ IsPrimary?: boolean;
662
+ ReceiveInvoices?: boolean;
663
+ };
664
+
665
+ export type PersonAccount = AbstractQcountBean & PersonAccountAllOf;
666
+
667
+ /**
668
+ * @nullable
669
+ */
670
+ export type AccountAllOfBillingAddress = Address | null;
671
+
672
+ /**
673
+ * @nullable
674
+ */
675
+ export type AccountAllOfMailingAddress = Address | null;
676
+
677
+ /**
678
+ * @nullable
679
+ */
680
+ export type AccountAllOfPaymentInformation = PaymentInformation | null;
681
+
682
+ /**
683
+ * @nullable
684
+ */
685
+ export type AccountAllOfCurrentSubscription = Subscription | null;
686
+
687
+ /**
688
+ * @nullable
689
+ */
690
+ export type AccountAllOfLatestSubscription = Subscription | null;
691
+
692
+ /**
693
+ * @nullable
694
+ */
695
+ export type AccountAllOfPrimaryContact = Person | null;
696
+
697
+ /**
698
+ * @nullable
699
+ */
700
+ export type AccountAllOfPrimarySubscription = Subscription | null;
701
+
702
+ /**
703
+ * @nullable
704
+ */
705
+ export type AccountAllOfPrimaryStripeSubscription = StripeSubscription | null;
706
+
707
+ export type AccountAllOf = {
708
+ /**
709
+ * @minLength 1
710
+ * @maxLength 250
711
+ */
712
+ Name: string;
713
+ /**
714
+ * @maxLength 250
715
+ * @nullable
716
+ */
717
+ ClientIdentifier?: string | null;
718
+ /**
719
+ * @maxLength 3
720
+ * @nullable
721
+ */
722
+ Currency?: string | null;
723
+ /** @nullable */
724
+ InvoiceNotes?: string | null;
725
+ IsDemo?: boolean;
726
+ /** @nullable */
727
+ BillingAddress?: AccountAllOfBillingAddress;
728
+ /** @nullable */
729
+ MailingAddress?: AccountAllOfMailingAddress;
730
+ AccountStage?: AccountStage;
731
+ /** @nullable */
732
+ PaymentInformation?: AccountAllOfPaymentInformation;
733
+ /** @nullable */
734
+ PersonAccount?: PersonAccount[] | null;
735
+ /**
736
+ * @maxLength 50
737
+ * @nullable
738
+ */
739
+ StripeDefaultPaymentMethodId?: string | null;
740
+ /** @nullable */
741
+ StripeInvoices?: StripeInvoice[] | null;
742
+ /** @nullable */
743
+ StripePaymentMethods?: StripePaymentMethod[] | null;
744
+ /** @nullable */
745
+ StripeSubscriptions?: StripeSubscription[] | null;
746
+ /** @nullable */
747
+ Subscriptions?: Subscription[] | null;
748
+ /** @nullable */
749
+ Deals?: Deal[] | null;
750
+ /** @nullable */
751
+ LastLoginDateTime?: string | null;
752
+ /**
753
+ * @maxLength 255
754
+ * @nullable
755
+ */
756
+ AccountSpecificPageUrl1?: string | null;
757
+ /**
758
+ * @maxLength 255
759
+ * @nullable
760
+ */
761
+ AccountSpecificPageUrl2?: string | null;
762
+ /**
763
+ * @maxLength 255
764
+ * @nullable
765
+ */
766
+ AccountSpecificPageUrl3?: string | null;
767
+ /**
768
+ * @maxLength 255
769
+ * @nullable
770
+ */
771
+ AccountSpecificPageUrl4?: string | null;
772
+ /**
773
+ * @maxLength 255
774
+ * @nullable
775
+ */
776
+ AccountSpecificPageUrl5?: string | null;
777
+ /**
778
+ * @maxLength 255
779
+ * @nullable
780
+ */
781
+ AccountSpecificPageUrl6?: string | null;
782
+ /**
783
+ * @maxLength 255
784
+ * @nullable
785
+ */
786
+ AccountSpecificPageUrl7?: string | null;
787
+ /**
788
+ * @maxLength 255
789
+ * @nullable
790
+ */
791
+ AccountSpecificPageUrl8?: string | null;
792
+ /**
793
+ * @maxLength 255
794
+ * @nullable
795
+ */
796
+ AccountSpecificPageUrl9?: string | null;
797
+ /**
798
+ * @maxLength 255
799
+ * @nullable
800
+ */
801
+ AccountSpecificPageUrl10?: string | null;
802
+ /** @nullable */
803
+ RewardFulReferralId?: string | null;
804
+ /**
805
+ * @maxLength 36
806
+ * @nullable
807
+ */
808
+ ToltReferralId?: string | null;
809
+ /** @nullable */
810
+ TaxIds?: AccountTaxId[] | null;
811
+ /**
812
+ * @maxLength 20
813
+ * @nullable
814
+ */
815
+ TaxStatus?: string | null;
816
+ /** @nullable */
817
+ AccountStageLabel?: string | null;
818
+ /** @nullable */
819
+ CurrentStripeProducts?: string | null;
820
+ /** @nullable */
821
+ CurrentSubscription?: AccountAllOfCurrentSubscription;
822
+ /** @nullable */
823
+ DomainName?: string | null;
824
+ HasLoggedIn?: boolean;
825
+ /** @nullable */
826
+ LatestSubscription?: AccountAllOfLatestSubscription;
827
+ LifetimeRevenue?: number;
828
+ /** @nullable */
829
+ NextStripeInvoiceDate?: string | null;
830
+ /** @nullable */
831
+ Nonce?: string | null;
832
+ /** @nullable */
833
+ PrimaryContact?: AccountAllOfPrimaryContact;
834
+ /** @nullable */
835
+ PrimarySubscription?: AccountAllOfPrimarySubscription;
836
+ /** @nullable */
837
+ PrimaryStripeSubscription?: AccountAllOfPrimaryStripeSubscription;
838
+ /** @nullable */
839
+ RecaptchaToken?: string | null;
840
+ /** @nullable */
841
+ StripeNextInvoiceSequence?: number | null;
842
+ /** @nullable */
843
+ StripePrice?: string[] | null;
844
+ /** @nullable */
845
+ StripePromotionCode?: string | null;
846
+ /** @nullable */
847
+ TaxId?: string | null;
848
+ TaxIdIsInvalid?: boolean;
849
+ /** @nullable */
850
+ TaxIdType?: string | null;
851
+ /** @nullable */
852
+ WebflowSlug?: string | null;
853
+ [key: string]: unknown | null;
854
+ };
855
+
856
+ export type Account = AbstractStripeBeanOfCustomer & AccountAllOf;
857
+
858
+ /**
859
+ * `2` - Trialing, `3` - Subscribing, `4` - Cancelling, `5` - Expired, `6` - Trial Expired, `7` - Past Due, `8` - Cancelling Trial, `9` - Paused
860
+ */
861
+ export type AccountStage = typeof AccountStage[keyof typeof AccountStage];
862
+
863
+
864
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
865
+ export const AccountStage = {
866
+ Trialing: 2,
867
+ Subscribing: 3,
868
+ Cancelling: 4,
869
+ Expired: 5,
870
+ /** Trial Expired */
871
+ TrialExpired: 6,
872
+ /** Past Due */
873
+ PastDue: 7,
874
+ /** Cancelling Trial */
875
+ CancellingTrial: 8,
876
+ Paused: 9,
877
+ } as const;
878
+
879
+ export type PaymentInformationAllOf = {
880
+ Account: Account;
881
+ /**
882
+ * @maxLength 250
883
+ * @nullable
884
+ */
885
+ CustomerToken?: string | null;
886
+ /** @nullable */
887
+ LastFourDigits?: string | null;
888
+ /** @nullable */
889
+ LatestFailureDateTime?: string | null;
890
+ /** @nullable */
891
+ LatestFailureDescription?: string | null;
892
+ /** @nullable */
893
+ LatestSuccessDateTime?: string | null;
894
+ NumberOfFailures: number;
895
+ /** @nullable */
896
+ PaymentClientSecret?: string | null;
897
+ /**
898
+ * @maxLength 50
899
+ * @nullable
900
+ */
901
+ PaymentMethodType?: string | null;
902
+ /**
903
+ * @maxLength 250
904
+ * @nullable
905
+ */
906
+ PaymentToken?: string | null;
907
+ /**
908
+ * @maxLength 100
909
+ * @nullable
910
+ */
911
+ BankName?: string | null;
912
+ /**
913
+ * @maxLength 50
914
+ * @nullable
915
+ */
916
+ BankAccountType?: string | null;
917
+ /**
918
+ * @maxLength 50
919
+ * @nullable
920
+ */
921
+ BankAccountHolderType?: string | null;
922
+ /** @nullable */
923
+ NameOnCard?: string | null;
924
+ /** @nullable */
925
+ CardType?: string | null;
926
+ /** @nullable */
927
+ ExpirationMonth?: string | null;
928
+ /** @nullable */
929
+ ExpirationYear?: string | null;
930
+ /** @nullable */
931
+ Mode?: string | null;
932
+ /** @nullable */
933
+ OneTimeToken?: string | null;
934
+ /** @nullable */
935
+ RecaptchaToken?: string | null;
936
+ /** @nullable */
937
+ SetupIntent?: string | null;
938
+ };
939
+
940
+ export type PaymentInformation = AbstractQcountBean & PaymentInformationAllOf;
941
+
942
+ /**
943
+ * @nullable
944
+ */
945
+ export type StripeInvoiceAllOfAccount = Account | null;
946
+
947
+ export type StripeInvoiceAllOf = {
948
+ AmountDue?: number;
949
+ AmountPaid?: number;
950
+ AmountShipping?: number;
951
+ AttemptCount?: number;
952
+ Attempted?: boolean;
953
+ /**
954
+ * @maxLength 3
955
+ * @nullable
956
+ */
957
+ Currency?: string | null;
958
+ /** @nullable */
959
+ Description?: string | null;
960
+ /**
961
+ * @maxLength 500
962
+ * @nullable
963
+ */
964
+ HostedInvoiceUrl?: string | null;
965
+ /**
966
+ * @maxLength 500
967
+ * @nullable
968
+ */
969
+ InvoicePdf?: string | null;
970
+ /** @nullable */
971
+ NextPaymentAttempt?: string | null;
972
+ /**
973
+ * @maxLength 50
974
+ * @nullable
975
+ */
976
+ Number?: string | null;
977
+ PeriodEnd?: string;
978
+ PeriodStart?: string;
979
+ /**
980
+ * @maxLength 30
981
+ * @nullable
982
+ */
983
+ Status?: string | null;
984
+ /** @nullable */
985
+ StripeDiscounts?: StripeDiscount[] | null;
986
+ /** @nullable */
987
+ StripeInvoiceDiscountAmounts?: StripeInvoiceDiscountAmount[] | null;
988
+ /** @nullable */
989
+ StripeInvoiceLineItems?: StripeInvoiceLineItem[] | null;
990
+ /** @nullable */
991
+ StripeInvoicePayments?: StripeInvoicePayment[] | null;
992
+ SubTotal?: number;
993
+ /** @nullable */
994
+ SubTotalExcludingTax?: number | null;
995
+ /** @nullable */
996
+ Tax?: number | null;
997
+ Total?: number;
998
+ /** @nullable */
999
+ TotalExcludingTax?: number | null;
1000
+ /** @nullable */
1001
+ Account?: StripeInvoiceAllOfAccount;
1002
+ IsRefunded?: boolean;
1003
+ CurrencyAmountDue?: number;
1004
+ CurrencyAmountPaid?: number;
1005
+ /** @nullable */
1006
+ CurrencySymbol?: string | null;
1007
+ CurrencyTotal?: number;
1008
+ CurrencyTotalExcludingTax?: number;
1009
+ CurrencySubTotal?: number;
1010
+ CurrencySubTotalExcludingTax?: number;
1011
+ CurrencyTax?: number;
1012
+ /** @nullable */
1013
+ DaysUntilDue?: number | null;
1014
+ /** @nullable */
1015
+ CustomerId?: string | null;
1016
+ /** @nullable */
1017
+ PaymentStatus?: string | null;
1018
+ /** @nullable */
1019
+ StripeCreditNotes?: StripeCreditNote[] | null;
1020
+ /** @nullable */
1021
+ StripePaymentMethodId?: string | null;
1022
+ [key: string]: unknown | null;
1023
+ };
1024
+
1025
+ export type StripeInvoice = AbstractStripeBeanOfInvoice & StripeInvoiceAllOf;
1026
+
1027
+ /**
1028
+ * @nullable
1029
+ */
1030
+ export type StripeDiscountAllOfAccount = Account | null;
1031
+
1032
+ /**
1033
+ * @nullable
1034
+ */
1035
+ export type StripeDiscountAllOfStripeCoupon = StripeCoupon | null;
1036
+
1037
+ /**
1038
+ * @nullable
1039
+ */
1040
+ export type StripeDiscountAllOfStripePromotionCode = StripePromotionCode | null;
1041
+
1042
+ /**
1043
+ * @nullable
1044
+ */
1045
+ export type StripeDiscountAllOfStripeInvoice = StripeInvoice | null;
1046
+
1047
+ /**
1048
+ * @nullable
1049
+ */
1050
+ export type StripeDiscountAllOfStripeSubscription = StripeSubscription | null;
1051
+
1052
+ export type StripeDiscountAllOf = {
1053
+ /** @nullable */
1054
+ Account?: StripeDiscountAllOfAccount;
1055
+ /**
1056
+ * @maxLength 255
1057
+ * @nullable
1058
+ */
1059
+ CheckoutSessionId?: string | null;
1060
+ /** @nullable */
1061
+ End?: string | null;
1062
+ /**
1063
+ * @maxLength 255
1064
+ * @nullable
1065
+ */
1066
+ InvoiceId?: string | null;
1067
+ /**
1068
+ * @maxLength 255
1069
+ * @nullable
1070
+ */
1071
+ InvoiceItemId?: string | null;
1072
+ IsDeleted?: boolean;
1073
+ Start?: string;
1074
+ /** @nullable */
1075
+ StripeCoupon?: StripeDiscountAllOfStripeCoupon;
1076
+ /** @nullable */
1077
+ StripePromotionCode?: StripeDiscountAllOfStripePromotionCode;
1078
+ /**
1079
+ * @maxLength 255
1080
+ * @nullable
1081
+ */
1082
+ SubscriptionId?: string | null;
1083
+ /**
1084
+ * @maxLength 255
1085
+ * @nullable
1086
+ */
1087
+ SubscriptionItemId?: string | null;
1088
+ /** @nullable */
1089
+ CouponId?: string | null;
1090
+ /** @nullable */
1091
+ CustomerId?: string | null;
1092
+ /** @nullable */
1093
+ StripeInvoice?: StripeDiscountAllOfStripeInvoice;
1094
+ /** @nullable */
1095
+ StripeSubscription?: StripeDiscountAllOfStripeSubscription;
1096
+ /** @nullable */
1097
+ PromotionCodeId?: string | null;
1098
+ [key: string]: unknown | null;
1099
+ };
1100
+
1101
+ export type StripeDiscount = AbstractStripeBeanOfDiscount & StripeDiscountAllOf;
1102
+
1103
+ export type StripeCouponAllOf = {
1104
+ /** @nullable */
1105
+ AmountOff?: number | null;
1106
+ /** @nullable */
1107
+ AppliesToProducts?: StripeProduct[] | null;
1108
+ /**
1109
+ * @maxLength 3
1110
+ * @nullable
1111
+ */
1112
+ Currency?: string | null;
1113
+ /**
1114
+ * @maxLength 30
1115
+ * @nullable
1116
+ */
1117
+ Duration?: string | null;
1118
+ /** @nullable */
1119
+ DurationInMonths?: number | null;
1120
+ /** @nullable */
1121
+ MaxRedemptions?: number | null;
1122
+ /**
1123
+ * @maxLength 250
1124
+ * @nullable
1125
+ */
1126
+ Name?: string | null;
1127
+ /** @nullable */
1128
+ PercentOff?: number | null;
1129
+ /** @nullable */
1130
+ RedeemBy?: string | null;
1131
+ TimesRedeemed?: number;
1132
+ Valid?: boolean;
1133
+ /** @nullable */
1134
+ AppliesToProductIds?: string[] | null;
1135
+ /** @nullable */
1136
+ CurrencySymbol?: string | null;
1137
+ /** @nullable */
1138
+ CurrencyAmountOff?: number | null;
1139
+ [key: string]: unknown | null;
1140
+ };
1141
+
1142
+ export type StripeCoupon = AbstractStripeBeanOfCoupon & StripeCouponAllOf;
1143
+
1144
+ /**
1145
+ * @nullable
1146
+ */
1147
+ export type StripeProductAllOfStripeProductFamily = StripeProductFamily | null;
1148
+
1149
+ export type StripeProductAllOf = {
1150
+ /**
1151
+ * @maxLength 250
1152
+ * @nullable
1153
+ */
1154
+ Name?: string | null;
1155
+ /** @nullable */
1156
+ Description?: string | null;
1157
+ IsActive?: boolean;
1158
+ /**
1159
+ * @maxLength 36
1160
+ * @nullable
1161
+ */
1162
+ TaxCodeId?: string | null;
1163
+ /**
1164
+ * @maxLength 250
1165
+ * @nullable
1166
+ */
1167
+ UnitLabel?: string | null;
1168
+ /** @nullable */
1169
+ ContentGroups?: ContentGroup[] | null;
1170
+ /** @nullable */
1171
+ StripePrices?: StripePrice[] | null;
1172
+ AccountRegistrationMode?: AccountRegistrationMode;
1173
+ ExpiresAfterMonths?: number;
1174
+ /** @nullable */
1175
+ ExpirationDate?: string | null;
1176
+ IsPerUser?: boolean;
1177
+ IsQuantityEditable?: boolean;
1178
+ /** @nullable */
1179
+ MaximumPeople?: number | null;
1180
+ /**
1181
+ * @maxLength 8
1182
+ * @nullable
1183
+ */
1184
+ MigratedAddOnUid?: string | null;
1185
+ /**
1186
+ * @maxLength 8
1187
+ * @nullable
1188
+ */
1189
+ MigratedPlanUid?: string | null;
1190
+ /** @nullable */
1191
+ MinimumQuantity?: number | null;
1192
+ /**
1193
+ * @maxLength 250
1194
+ * @nullable
1195
+ */
1196
+ PostLoginPath?: string | null;
1197
+ /**
1198
+ * @maxLength 500
1199
+ * @nullable
1200
+ */
1201
+ PostPurchaseUrl?: string | null;
1202
+ RequirePaymentInformation?: boolean;
1203
+ /** @nullable */
1204
+ StripeProductCrossSells?: StripeProductCrossSell[] | null;
1205
+ TrialPeriodDays?: number;
1206
+ /** @nullable */
1207
+ TrialUntilDate?: string | null;
1208
+ NumberOfPurchases?: number;
1209
+ NumberOfSubscriptions?: number;
1210
+ /** @nullable */
1211
+ StripeProductFamily?: StripeProductAllOfStripeProductFamily;
1212
+ [key: string]: unknown | null;
1213
+ };
1214
+
1215
+ export type StripeProduct = AbstractStripeBeanOfProduct & StripeProductAllOf;
1216
+
1217
+ export type ContentGroupAllOf = {
1218
+ /**
1219
+ * @minLength 1
1220
+ * @maxLength 50
1221
+ */
1222
+ Name: string;
1223
+ /**
1224
+ * @maxLength 1024
1225
+ * @nullable
1226
+ */
1227
+ AccessDeniedPath?: string | null;
1228
+ /** @nullable */
1229
+ ContentGroupItems?: ContentGroupItem[] | null;
1230
+ /** @nullable */
1231
+ AllowedPlans?: Plan[] | null;
1232
+ /** @nullable */
1233
+ AllowedProducts?: StripeProduct[] | null;
1234
+ /** @nullable */
1235
+ AllowedAddOns?: AddOn[] | null;
1236
+ };
1237
+
1238
+ export type ContentGroup = AbstractQcountBean & ContentGroupAllOf;
1239
+
1240
+ export type ContentGroupItemAllOf = {
1241
+ /** @minLength 1 */
1242
+ Pattern: string;
1243
+ MatchMode: ContentGroupItemMatchMode;
1244
+ ContentGroup: ContentGroup;
1245
+ };
1246
+
1247
+ export type ContentGroupItem = AbstractQcountBean & ContentGroupItemAllOf;
1248
+
1249
+ /**
1250
+ * `1` - Equals, `2` - StartsWith
1251
+ */
1252
+ export type ContentGroupItemMatchMode = typeof ContentGroupItemMatchMode[keyof typeof ContentGroupItemMatchMode];
1253
+
1254
+
1255
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
1256
+ export const ContentGroupItemMatchMode = {
1257
+ Equals: 1,
1258
+ StartsWith: 2,
1259
+ } as const;
1260
+
1261
+ /**
1262
+ * @nullable
1263
+ */
1264
+ export type PlanAllOfPlanFamily = PlanFamily | null;
1265
+
1266
+ export type PlanAllOf = {
1267
+ /**
1268
+ * @maxLength 250
1269
+ * @nullable
1270
+ */
1271
+ Name?: string | null;
1272
+ /** @nullable */
1273
+ Description?: string | null;
1274
+ /** @nullable */
1275
+ PlanFamily?: PlanAllOfPlanFamily;
1276
+ AccountRegistrationMode?: AccountRegistrationMode;
1277
+ IsQuantityEditable: boolean;
1278
+ MinimumQuantity?: number;
1279
+ /** @nullable */
1280
+ MaximumPeople?: number | null;
1281
+ MonthlyRate?: number;
1282
+ AnnualRate?: number;
1283
+ QuarterlyRate?: number;
1284
+ OneTimeRate?: number;
1285
+ SetupFee?: number;
1286
+ SkipSetupFeeOnPlanChange?: boolean;
1287
+ IsTaxable: boolean;
1288
+ IsActive?: boolean;
1289
+ IsPerUser?: boolean;
1290
+ RequirePaymentInformation?: boolean;
1291
+ TrialPeriodDays?: number;
1292
+ /** @nullable */
1293
+ TrialUntilDate?: string | null;
1294
+ ExpiresAfterMonths?: number;
1295
+ /** @nullable */
1296
+ ExpirationDate?: string | null;
1297
+ /**
1298
+ * @maxLength 250
1299
+ * @nullable
1300
+ */
1301
+ PostLoginPath?: string | null;
1302
+ /**
1303
+ * @maxLength 15
1304
+ * @nullable
1305
+ */
1306
+ StripeTaxCodeId?: string | null;
1307
+ /**
1308
+ * @maxLength 250
1309
+ * @nullable
1310
+ */
1311
+ UnitOfMeasure?: string | null;
1312
+ /** @nullable */
1313
+ PlanAddOns?: PlanAddOn[] | null;
1314
+ /** @nullable */
1315
+ ContentGroups?: ContentGroup[] | null;
1316
+ /** @nullable */
1317
+ NumberOfSubscriptions?: number | null;
1318
+ };
1319
+
1320
+ export type Plan = AbstractQcountBean & PlanAllOf;
1321
+
1322
+ export type PlanFamilyAllOf = {
1323
+ /**
1324
+ * @maxLength 250
1325
+ * @nullable
1326
+ */
1327
+ Name?: string | null;
1328
+ IsActive?: boolean;
1329
+ IsDefault?: boolean;
1330
+ /** @nullable */
1331
+ Plans?: Plan[] | null;
1332
+ [key: string]: unknown | null;
1333
+ };
1334
+
1335
+ export type PlanFamily = AbstractSchemaLessBean & PlanFamilyAllOf;
1336
+
1337
+ /**
1338
+ * @nullable
1339
+ */
1340
+ export type AbstractSchemaLessBeanAllOfSchemaLessData = {[key: string]: unknown} | null;
1341
+
1342
+ export type AbstractSchemaLessBeanAllOf = {
1343
+ /** @nullable */
1344
+ SchemaLessData?: AbstractSchemaLessBeanAllOfSchemaLessData;
1345
+ [key: string]: unknown | null;
1346
+ };
1347
+
1348
+ export type AbstractSchemaLessBean = AbstractQcountBean & AbstractSchemaLessBeanAllOf;
1349
+
1350
+ /**
1351
+ * `1` - Individual, `2` - Team
1352
+ */
1353
+ export type AccountRegistrationMode = typeof AccountRegistrationMode[keyof typeof AccountRegistrationMode];
1354
+
1355
+
1356
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
1357
+ export const AccountRegistrationMode = {
1358
+ Individual: 1,
1359
+ Team: 2,
1360
+ } as const;
1361
+
1362
+ /**
1363
+ * @nullable
1364
+ */
1365
+ export type PlanAddOnAllOfPlan = Plan | null;
1366
+
1367
+ /**
1368
+ * @nullable
1369
+ */
1370
+ export type PlanAddOnAllOfAddOn = AddOn | null;
1371
+
1372
+ export type PlanAddOnAllOf = {
1373
+ /** @nullable */
1374
+ Plan?: PlanAddOnAllOfPlan;
1375
+ /** @nullable */
1376
+ AddOn?: PlanAddOnAllOfAddOn;
1377
+ IsUserSelectable: boolean;
1378
+ };
1379
+
1380
+ export type PlanAddOn = AbstractQcountBean & PlanAddOnAllOf;
1381
+
1382
+ export type AddOnAllOf = {
1383
+ /**
1384
+ * @maxLength 250
1385
+ * @nullable
1386
+ */
1387
+ Name?: string | null;
1388
+ /**
1389
+ * @minimum 1
1390
+ * @maximum 3
1391
+ */
1392
+ BillingAddOnType?: BillingAddOnType;
1393
+ IsQuantityEditable: boolean;
1394
+ MinimumQuantity?: number;
1395
+ MonthlyRate?: number;
1396
+ AnnualRate?: number;
1397
+ SetupFee?: number;
1398
+ /**
1399
+ * @maxLength 250
1400
+ * @nullable
1401
+ */
1402
+ UnitOfMeasure?: string | null;
1403
+ IsTaxable: boolean;
1404
+ IsBilledDuringTrial: boolean;
1405
+ ExpiresAfterMonths?: number;
1406
+ /** @nullable */
1407
+ ExpirationDate?: string | null;
1408
+ /**
1409
+ * @maxLength 15
1410
+ * @nullable
1411
+ */
1412
+ StripeTaxCodeId?: string | null;
1413
+ /** @nullable */
1414
+ PlanAddOns?: PlanAddOn[] | null;
1415
+ /** @nullable */
1416
+ ContentGroups?: ContentGroup[] | null;
1417
+ IsPerUser?: boolean;
1418
+ QuarterlyRate?: number;
1419
+ OneTimeRate?: number;
1420
+ SubscriptionCount?: number;
1421
+ Quantity?: number;
1422
+ };
1423
+
1424
+ export type AddOn = AbstractQcountBean & AddOnAllOf;
1425
+
1426
+ /**
1427
+ * `1` - Recurring, `2` - Usage, `3` - OneTime
1428
+ */
1429
+ export type BillingAddOnType = typeof BillingAddOnType[keyof typeof BillingAddOnType];
1430
+
1431
+
1432
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
1433
+ export const BillingAddOnType = {
1434
+ Recurring: 1,
1435
+ Usage: 2,
1436
+ OneTime: 3,
1437
+ } as const;
1438
+
1439
+ /**
1440
+ * @nullable
1441
+ */
1442
+ export type StripePriceAllOfRecurringStripeMeter = StripeMeter | null;
1443
+
1444
+ /**
1445
+ * @nullable
1446
+ */
1447
+ export type StripePriceAllOfStripeProduct = StripeProduct | null;
1448
+
1449
+ export type StripePriceAllOf = {
1450
+ /**
1451
+ * @maxLength 36
1452
+ * @nullable
1453
+ */
1454
+ BillingScheme?: string | null;
1455
+ /**
1456
+ * @maxLength 36
1457
+ * @nullable
1458
+ */
1459
+ Currency?: string | null;
1460
+ IsActive?: boolean;
1461
+ /**
1462
+ * @maxLength 250
1463
+ * @nullable
1464
+ */
1465
+ Nickname?: string | null;
1466
+ /**
1467
+ * @maxLength 36
1468
+ * @nullable
1469
+ */
1470
+ Recurring_Interval?: string | null;
1471
+ /** @nullable */
1472
+ Recurring_IntervalCount?: number | null;
1473
+ /** @nullable */
1474
+ Recurring_StripeMeter?: StripePriceAllOfRecurringStripeMeter;
1475
+ /**
1476
+ * @maxLength 36
1477
+ * @nullable
1478
+ */
1479
+ Recurring_UsageType?: string | null;
1480
+ /** @nullable */
1481
+ StripeProduct?: StripePriceAllOfStripeProduct;
1482
+ /**
1483
+ * @maxLength 36
1484
+ * @nullable
1485
+ */
1486
+ TaxBehavior?: string | null;
1487
+ /** @nullable */
1488
+ TransformQuantity_DivideBy?: number | null;
1489
+ /**
1490
+ * @maxLength 36
1491
+ * @nullable
1492
+ */
1493
+ Type?: string | null;
1494
+ /** @nullable */
1495
+ UnitAmount?: number | null;
1496
+ /** @nullable */
1497
+ UnitAmountDecimal?: number | null;
1498
+ /** @nullable */
1499
+ CurrencySymbol?: string | null;
1500
+ /** @nullable */
1501
+ CurrencyUnitAmount?: number | null;
1502
+ /** @nullable */
1503
+ CurrencyUnitAmountDecimal?: number | null;
1504
+ /** @nullable */
1505
+ Recurring_Description?: string | null;
1506
+ /** @nullable */
1507
+ StripeMeterId?: string | null;
1508
+ /** @nullable */
1509
+ StripeProductId?: string | null;
1510
+ [key: string]: unknown | null;
1511
+ };
1512
+
1513
+ export type StripePrice = AbstractStripeBeanOfPrice & StripePriceAllOf;
1514
+
1515
+ export type StripeMeterAllOf = {
1516
+ /**
1517
+ * @minLength 1
1518
+ * @maxLength 250
1519
+ */
1520
+ DisplayName: string;
1521
+ /**
1522
+ * @minLength 1
1523
+ * @maxLength 50
1524
+ */
1525
+ EventName: string;
1526
+ /**
1527
+ * @maxLength 10
1528
+ * @nullable
1529
+ */
1530
+ Status?: string | null;
1531
+ [key: string]: unknown | null;
1532
+ };
1533
+
1534
+ export type StripeMeter = AbstractStripeBeanOfMeter & StripeMeterAllOf;
1535
+
1536
+ export type AbstractStripeBeanOfMeterAllOf = {
1537
+ /**
1538
+ * @maxLength 255
1539
+ * @nullable
1540
+ */
1541
+ StripeId?: string | null;
1542
+ IsLivemode?: boolean;
1543
+ [key: string]: unknown | null;
1544
+ };
1545
+
1546
+ export type AbstractStripeBeanOfMeter = AbstractSchemaLessBean & AbstractStripeBeanOfMeterAllOf;
1547
+
1548
+ export type AbstractStripeBeanOfPriceAllOf = {
1549
+ /**
1550
+ * @maxLength 255
1551
+ * @nullable
1552
+ */
1553
+ StripeId?: string | null;
1554
+ IsLivemode?: boolean;
1555
+ [key: string]: unknown | null;
1556
+ };
1557
+
1558
+ export type AbstractStripeBeanOfPrice = AbstractSchemaLessBean & AbstractStripeBeanOfPriceAllOf;
1559
+
1560
+ /**
1561
+ * @nullable
1562
+ */
1563
+ export type StripeProductCrossSellAllOfStripeProduct = StripeProduct | null;
1564
+
1565
+ /**
1566
+ * @nullable
1567
+ */
1568
+ export type StripeProductCrossSellAllOfCrossSellProduct = StripeProduct | null;
1569
+
1570
+ export type StripeProductCrossSellAllOf = {
1571
+ /** @nullable */
1572
+ StripeProduct?: StripeProductCrossSellAllOfStripeProduct;
1573
+ /** @nullable */
1574
+ CrossSellProduct?: StripeProductCrossSellAllOfCrossSellProduct;
1575
+ IsUserSelectable?: boolean;
1576
+ };
1577
+
1578
+ export type StripeProductCrossSell = AbstractQcountBean & StripeProductCrossSellAllOf;
1579
+
1580
+ export type StripeProductFamilyAllOf = {
1581
+ /**
1582
+ * @maxLength 250
1583
+ * @nullable
1584
+ */
1585
+ Name?: string | null;
1586
+ IsActive?: boolean;
1587
+ IsDefault?: boolean;
1588
+ /** @nullable */
1589
+ StripeProducts?: StripeProduct[] | null;
1590
+ [key: string]: unknown | null;
1591
+ };
1592
+
1593
+ export type StripeProductFamily = AbstractSchemaLessBean & StripeProductFamilyAllOf;
1594
+
1595
+ export type AbstractStripeBeanOfProductAllOf = {
1596
+ /**
1597
+ * @maxLength 255
1598
+ * @nullable
1599
+ */
1600
+ StripeId?: string | null;
1601
+ IsLivemode?: boolean;
1602
+ [key: string]: unknown | null;
1603
+ };
1604
+
1605
+ export type AbstractStripeBeanOfProduct = AbstractSchemaLessBean & AbstractStripeBeanOfProductAllOf;
1606
+
1607
+ export type AbstractStripeBeanOfCouponAllOf = {
1608
+ /**
1609
+ * @maxLength 255
1610
+ * @nullable
1611
+ */
1612
+ StripeId?: string | null;
1613
+ IsLivemode?: boolean;
1614
+ [key: string]: unknown | null;
1615
+ };
1616
+
1617
+ export type AbstractStripeBeanOfCoupon = AbstractSchemaLessBean & AbstractStripeBeanOfCouponAllOf;
1618
+
1619
+ /**
1620
+ * @nullable
1621
+ */
1622
+ export type StripePromotionCodeAllOfAccount = Account | null;
1623
+
1624
+ /**
1625
+ * @nullable
1626
+ */
1627
+ export type StripePromotionCodeAllOfStripeCoupon = StripeCoupon | null;
1628
+
1629
+ export type StripePromotionCodeAllOf = {
1630
+ /** @nullable */
1631
+ Account?: StripePromotionCodeAllOfAccount;
1632
+ Active?: boolean;
1633
+ /**
1634
+ * @maxLength 250
1635
+ * @nullable
1636
+ */
1637
+ Code?: string | null;
1638
+ /** @nullable */
1639
+ ExpiresAt?: string | null;
1640
+ /** @nullable */
1641
+ MaxRedemptions?: number | null;
1642
+ Restrictions_FirstTimeTransaction?: boolean;
1643
+ /** @nullable */
1644
+ StripeCoupon?: StripePromotionCodeAllOfStripeCoupon;
1645
+ TimesRedeemed?: number;
1646
+ Valid?: boolean;
1647
+ /** @nullable */
1648
+ CustomerId?: string | null;
1649
+ /** @nullable */
1650
+ CouponId?: string | null;
1651
+ [key: string]: unknown | null;
1652
+ };
1653
+
1654
+ export type StripePromotionCode = AbstractStripeBeanOfPromotionCode & StripePromotionCodeAllOf;
1655
+
1656
+ export type AbstractStripeBeanOfPromotionCodeAllOf = {
1657
+ /**
1658
+ * @maxLength 255
1659
+ * @nullable
1660
+ */
1661
+ StripeId?: string | null;
1662
+ IsLivemode?: boolean;
1663
+ [key: string]: unknown | null;
1664
+ };
1665
+
1666
+ export type AbstractStripeBeanOfPromotionCode = AbstractSchemaLessBean & AbstractStripeBeanOfPromotionCodeAllOf;
1667
+
1668
+ /**
1669
+ * @nullable
1670
+ */
1671
+ export type StripeSubscriptionAllOfStripeSubscriptionCancellation = StripeSubscriptionCancellation | null;
1672
+
1673
+ /**
1674
+ * @nullable
1675
+ */
1676
+ export type StripeSubscriptionAllOfAccount = Account | null;
1677
+
1678
+ /**
1679
+ * @nullable
1680
+ */
1681
+ export type StripeSubscriptionAllOfCurrentStripeSubscriptionSchedule = StripeSubscriptionSchedule | null;
1682
+
1683
+ export type StripeSubscriptionAllOf = {
1684
+ /** @nullable */
1685
+ CancelAt?: string | null;
1686
+ CancelAtPeriodEnd?: boolean;
1687
+ /** @nullable */
1688
+ StripeSubscriptionCancellation?: StripeSubscriptionAllOfStripeSubscriptionCancellation;
1689
+ /**
1690
+ * @maxLength 3
1691
+ * @nullable
1692
+ */
1693
+ Currency?: string | null;
1694
+ /** @nullable */
1695
+ EndedAt?: string | null;
1696
+ /**
1697
+ * @maxLength 30
1698
+ * @nullable
1699
+ */
1700
+ PauseCollection_Behavior?: string | null;
1701
+ /** @nullable */
1702
+ PauseCollection_ResumesAt?: string | null;
1703
+ StartDate?: string;
1704
+ /**
1705
+ * @maxLength 30
1706
+ * @nullable
1707
+ */
1708
+ Status?: string | null;
1709
+ /** @nullable */
1710
+ TrialEnd?: string | null;
1711
+ /** @nullable */
1712
+ StripeDiscounts?: StripeDiscount[] | null;
1713
+ /** @nullable */
1714
+ StripeSubscriptionItems?: StripeSubscriptionItem[] | null;
1715
+ /** @nullable */
1716
+ StripeSubscriptionSchedules?: StripeSubscriptionSchedule[] | null;
1717
+ /** @nullable */
1718
+ Account?: StripeSubscriptionAllOfAccount;
1719
+ /** @nullable */
1720
+ AccountUid?: string | null;
1721
+ /** @nullable */
1722
+ CustomerId?: string | null;
1723
+ /** @nullable */
1724
+ ScheduleId?: string | null;
1725
+ /** @nullable */
1726
+ StripeDiscountIds?: string[] | null;
1727
+ /** @nullable */
1728
+ StripePriceIds?: string | null;
1729
+ TrialPeriodDays?: number;
1730
+ /** @nullable */
1731
+ CurrentStripeSubscriptionSchedule?: StripeSubscriptionAllOfCurrentStripeSubscriptionSchedule;
1732
+ [key: string]: unknown | null;
1733
+ };
1734
+
1735
+ export type StripeSubscription = AbstractStripeBeanOfSubscription & StripeSubscriptionAllOf;
1736
+
1737
+ export type StripeSubscriptionCancellationAllOf = {
1738
+ /**
1739
+ * @maxLength 1024
1740
+ * @nullable
1741
+ */
1742
+ Comment?: string | null;
1743
+ /**
1744
+ * @maxLength 30
1745
+ * @nullable
1746
+ */
1747
+ Feedback?: string | null;
1748
+ /**
1749
+ * @maxLength 30
1750
+ * @nullable
1751
+ */
1752
+ Reason?: string | null;
1753
+ };
1754
+
1755
+ export type StripeSubscriptionCancellation = AbstractQcountBean & StripeSubscriptionCancellationAllOf;
1756
+
1757
+ /**
1758
+ * @nullable
1759
+ */
1760
+ export type StripeSubscriptionItemAllOfStripeSubscription = StripeSubscription | null;
1761
+
1762
+ /**
1763
+ * @nullable
1764
+ */
1765
+ export type StripeSubscriptionItemAllOfStripePrice = StripePrice | null;
1766
+
1767
+ export type StripeSubscriptionItemAllOf = {
1768
+ CurrentPeriodStart?: string;
1769
+ CurrentPeriodEnd?: string;
1770
+ /** @nullable */
1771
+ StripeSubscription?: StripeSubscriptionItemAllOfStripeSubscription;
1772
+ /** @nullable */
1773
+ StripeDiscounts?: StripeDiscount[] | null;
1774
+ /** @nullable */
1775
+ StripePrice?: StripeSubscriptionItemAllOfStripePrice;
1776
+ Quantity?: number;
1777
+ /** @nullable */
1778
+ PriceId?: string | null;
1779
+ [key: string]: unknown | null;
1780
+ };
1781
+
1782
+ export type StripeSubscriptionItem = AbstractStripeBeanOfSubscriptionItem & StripeSubscriptionItemAllOf;
1783
+
1784
+ export type AbstractStripeBeanOfSubscriptionItemAllOf = {
1785
+ /**
1786
+ * @maxLength 255
1787
+ * @nullable
1788
+ */
1789
+ StripeId?: string | null;
1790
+ IsLivemode?: boolean;
1791
+ [key: string]: unknown | null;
1792
+ };
1793
+
1794
+ export type AbstractStripeBeanOfSubscriptionItem = AbstractSchemaLessBean & AbstractStripeBeanOfSubscriptionItemAllOf;
1795
+
1796
+ /**
1797
+ * @nullable
1798
+ */
1799
+ export type StripeSubscriptionScheduleAllOfStripeSubscription = StripeSubscription | null;
1800
+
1801
+ export type StripeSubscriptionScheduleAllOf = {
1802
+ /** @nullable */
1803
+ CompletedAt?: string | null;
1804
+ /** @nullable */
1805
+ CurrentPhase_EndDate?: string | null;
1806
+ /** @nullable */
1807
+ CurrentPhase_StartDate?: string | null;
1808
+ /** @nullable */
1809
+ EndBehavior?: string | null;
1810
+ /** @nullable */
1811
+ StripeSubscriptionSchedulePhases?: StripeSubscriptionSchedulePhase[] | null;
1812
+ /** @nullable */
1813
+ ReleasedAt?: string | null;
1814
+ /** @nullable */
1815
+ Status?: string | null;
1816
+ /** @nullable */
1817
+ StripeSubscription?: StripeSubscriptionScheduleAllOfStripeSubscription;
1818
+ /** @nullable */
1819
+ SubscriptionId?: string | null;
1820
+ /** @nullable */
1821
+ ReleasedSubscriptionId?: string | null;
1822
+ [key: string]: unknown | null;
1823
+ };
1824
+
1825
+ export type StripeSubscriptionSchedule = AbstractStripeBeanOfSubscriptionSchedule & StripeSubscriptionScheduleAllOf;
1826
+
1827
+ /**
1828
+ * @nullable
1829
+ */
1830
+ export type StripeSubscriptionSchedulePhaseAllOfStripeSubscriptionSchedule = StripeSubscriptionSchedule | null;
1831
+
1832
+ export type StripeSubscriptionSchedulePhaseAllOf = {
1833
+ EndDate?: string;
1834
+ IsLivemode?: boolean;
1835
+ StartDate?: string;
1836
+ /** @nullable */
1837
+ StripeSubscriptionSchedulePhaseItems?: StripeSubscriptionSchedulePhaseItem[] | null;
1838
+ /** @nullable */
1839
+ StripeSubscriptionSchedule?: StripeSubscriptionSchedulePhaseAllOfStripeSubscriptionSchedule;
1840
+ /** @nullable */
1841
+ TrialEnd?: string | null;
1842
+ [key: string]: unknown | null;
1843
+ };
1844
+
1845
+ export type StripeSubscriptionSchedulePhase = AbstractStripeBeanOfSubscriptionSchedulePhase & StripeSubscriptionSchedulePhaseAllOf;
1846
+
1847
+ /**
1848
+ * @nullable
1849
+ */
1850
+ export type StripeSubscriptionSchedulePhaseItemAllOfStripePrice = StripePrice | null;
1851
+
1852
+ export type StripeSubscriptionSchedulePhaseItemAllOf = {
1853
+ /** @nullable */
1854
+ StripePrice?: StripeSubscriptionSchedulePhaseItemAllOfStripePrice;
1855
+ Quantity?: number;
1856
+ /** @nullable */
1857
+ PriceId?: string | null;
1858
+ [key: string]: unknown | null;
1859
+ };
1860
+
1861
+ export type StripeSubscriptionSchedulePhaseItem = AbstractStripeBeanOfSubscriptionSchedulePhaseItem & StripeSubscriptionSchedulePhaseItemAllOf;
1862
+
1863
+ export type AbstractStripeBeanOfSubscriptionSchedulePhaseItemAllOf = {
1864
+ /**
1865
+ * @maxLength 255
1866
+ * @nullable
1867
+ */
1868
+ StripeId?: string | null;
1869
+ IsLivemode?: boolean;
1870
+ [key: string]: unknown | null;
1871
+ };
1872
+
1873
+ export type AbstractStripeBeanOfSubscriptionSchedulePhaseItem = AbstractSchemaLessBean & AbstractStripeBeanOfSubscriptionSchedulePhaseItemAllOf;
1874
+
1875
+ export type AbstractStripeBeanOfSubscriptionSchedulePhaseAllOf = {
1876
+ /**
1877
+ * @maxLength 255
1878
+ * @nullable
1879
+ */
1880
+ StripeId?: string | null;
1881
+ IsLivemode?: boolean;
1882
+ [key: string]: unknown | null;
1883
+ };
1884
+
1885
+ export type AbstractStripeBeanOfSubscriptionSchedulePhase = AbstractSchemaLessBean & AbstractStripeBeanOfSubscriptionSchedulePhaseAllOf;
1886
+
1887
+ export type AbstractStripeBeanOfSubscriptionScheduleAllOf = {
1888
+ /**
1889
+ * @maxLength 255
1890
+ * @nullable
1891
+ */
1892
+ StripeId?: string | null;
1893
+ IsLivemode?: boolean;
1894
+ [key: string]: unknown | null;
1895
+ };
1896
+
1897
+ export type AbstractStripeBeanOfSubscriptionSchedule = AbstractSchemaLessBean & AbstractStripeBeanOfSubscriptionScheduleAllOf;
1898
+
1899
+ export type AbstractStripeBeanOfSubscriptionAllOf = {
1900
+ /**
1901
+ * @maxLength 255
1902
+ * @nullable
1903
+ */
1904
+ StripeId?: string | null;
1905
+ IsLivemode?: boolean;
1906
+ [key: string]: unknown | null;
1907
+ };
1908
+
1909
+ export type AbstractStripeBeanOfSubscription = AbstractSchemaLessBean & AbstractStripeBeanOfSubscriptionAllOf;
1910
+
1911
+ export type AbstractStripeBeanOfDiscountAllOf = {
1912
+ /**
1913
+ * @maxLength 255
1914
+ * @nullable
1915
+ */
1916
+ StripeId?: string | null;
1917
+ IsLivemode?: boolean;
1918
+ [key: string]: unknown | null;
1919
+ };
1920
+
1921
+ export type AbstractStripeBeanOfDiscount = AbstractSchemaLessBean & AbstractStripeBeanOfDiscountAllOf;
1922
+
1923
+ /**
1924
+ * @nullable
1925
+ */
1926
+ export type StripeInvoiceDiscountAmountAllOfStripeInvoice = StripeInvoice | null;
1927
+
1928
+ /**
1929
+ * @nullable
1930
+ */
1931
+ export type StripeInvoiceDiscountAmountAllOfStripeDiscount = StripeDiscount | null;
1932
+
1933
+ export type StripeInvoiceDiscountAmountAllOf = {
1934
+ Amount?: number;
1935
+ /**
1936
+ * @maxLength 36
1937
+ * @nullable
1938
+ */
1939
+ DiscountId?: string | null;
1940
+ /** @nullable */
1941
+ StripeInvoice?: StripeInvoiceDiscountAmountAllOfStripeInvoice;
1942
+ CurrencyAmount?: number;
1943
+ /** @nullable */
1944
+ StripeDiscount?: StripeInvoiceDiscountAmountAllOfStripeDiscount;
1945
+ };
1946
+
1947
+ export type StripeInvoiceDiscountAmount = AbstractQcountBean & StripeInvoiceDiscountAmountAllOf;
1948
+
1949
+ /**
1950
+ * @nullable
1951
+ */
1952
+ export type StripeInvoiceLineItemAllOfStripeInvoice = StripeInvoice | null;
1953
+
1954
+ /**
1955
+ * @nullable
1956
+ */
1957
+ export type StripeInvoiceLineItemAllOfStripePrice = StripePrice | null;
1958
+
1959
+ export type StripeInvoiceLineItemAllOf = {
1960
+ /** @nullable */
1961
+ StripeInvoice?: StripeInvoiceLineItemAllOfStripeInvoice;
1962
+ Amount?: number;
1963
+ /**
1964
+ * @maxLength 3
1965
+ * @nullable
1966
+ */
1967
+ Currency?: string | null;
1968
+ PeriodStart?: string;
1969
+ PeriodEnd?: string;
1970
+ /** @nullable */
1971
+ Quantity?: number | null;
1972
+ /** @nullable */
1973
+ StripeDiscounts?: StripeDiscount[] | null;
1974
+ /** @nullable */
1975
+ StripePrice?: StripeInvoiceLineItemAllOfStripePrice;
1976
+ /** @nullable */
1977
+ EndDate?: string | null;
1978
+ /** @nullable */
1979
+ CurrencyAmount?: number | null;
1980
+ /** @nullable */
1981
+ PriceId?: string | null;
1982
+ Proration?: boolean;
1983
+ [key: string]: unknown | null;
1984
+ };
1985
+
1986
+ export type StripeInvoiceLineItem = AbstractStripeBeanOfInvoiceLineItem & StripeInvoiceLineItemAllOf;
1987
+
1988
+ export type AbstractStripeBeanOfInvoiceLineItemAllOf = {
1989
+ /**
1990
+ * @maxLength 255
1991
+ * @nullable
1992
+ */
1993
+ StripeId?: string | null;
1994
+ IsLivemode?: boolean;
1995
+ [key: string]: unknown | null;
1996
+ };
1997
+
1998
+ export type AbstractStripeBeanOfInvoiceLineItem = AbstractSchemaLessBean & AbstractStripeBeanOfInvoiceLineItemAllOf;
1999
+
2000
+ /**
2001
+ * @nullable
2002
+ */
2003
+ export type StripeInvoicePaymentAllOfStripeInvoice = StripeInvoice | null;
2004
+
2005
+ export type StripeInvoicePaymentAllOf = {
2006
+ /** @nullable */
2007
+ AmountPaid?: number | null;
2008
+ AmountRequested?: number;
2009
+ /**
2010
+ * @maxLength 3
2011
+ * @nullable
2012
+ */
2013
+ Currency?: string | null;
2014
+ /**
2015
+ * @maxLength 50
2016
+ * @nullable
2017
+ */
2018
+ Payment_ChargeId?: string | null;
2019
+ /**
2020
+ * @maxLength 50
2021
+ * @nullable
2022
+ */
2023
+ Payment_PaymentIntentId?: string | null;
2024
+ /**
2025
+ * @maxLength 20
2026
+ * @nullable
2027
+ */
2028
+ Payment_Type?: string | null;
2029
+ /** @nullable */
2030
+ StripeInvoice?: StripeInvoicePaymentAllOfStripeInvoice;
2031
+ /** @nullable */
2032
+ Status?: string | null;
2033
+ /** @nullable */
2034
+ InvoiceId?: string | null;
2035
+ /** @nullable */
2036
+ StripeCharges?: StripeCharge[] | null;
2037
+ [key: string]: unknown | null;
2038
+ };
2039
+
2040
+ export type StripeInvoicePayment = AbstractStripeBeanOfInvoicePayment & StripeInvoicePaymentAllOf;
2041
+
2042
+ /**
2043
+ * @nullable
2044
+ */
2045
+ export type StripeChargeAllOfStripePaymentMethod = StripePaymentMethod | null;
2046
+
2047
+ /**
2048
+ * @nullable
2049
+ */
2050
+ export type StripeChargeAllOfAccount = Account | null;
2051
+
2052
+ export type StripeChargeAllOf = {
2053
+ Amount?: number;
2054
+ AmountCaptured?: number;
2055
+ AmountRefunded?: number;
2056
+ Captured?: boolean;
2057
+ /**
2058
+ * @maxLength 3
2059
+ * @nullable
2060
+ */
2061
+ Currency?: string | null;
2062
+ Paid?: boolean;
2063
+ /**
2064
+ * @maxLength 50
2065
+ * @nullable
2066
+ */
2067
+ PaymentIntentId?: string | null;
2068
+ Refunded?: boolean;
2069
+ /**
2070
+ * @maxLength 30
2071
+ * @nullable
2072
+ */
2073
+ Status?: string | null;
2074
+ /** @nullable */
2075
+ StripePaymentMethod?: StripeChargeAllOfStripePaymentMethod;
2076
+ /** @nullable */
2077
+ Account?: StripeChargeAllOfAccount;
2078
+ /**
2079
+ * @maxLength 256
2080
+ * @nullable
2081
+ */
2082
+ ExtraData?: string | null;
2083
+ /** @nullable */
2084
+ CurrencySymbol?: string | null;
2085
+ CurrencyAmount?: number;
2086
+ /** @nullable */
2087
+ CustomerId?: string | null;
2088
+ /** @nullable */
2089
+ PaymentMethodId?: string | null;
2090
+ /** @nullable */
2091
+ StripeRefunds?: StripeRefund[] | null;
2092
+ [key: string]: unknown | null;
2093
+ };
2094
+
2095
+ export type StripeCharge = AbstractStripeBeanOfCharge & StripeChargeAllOf;
2096
+
2097
+ /**
2098
+ * @nullable
2099
+ */
2100
+ export type StripePaymentMethodAllOfAccount = Account | null;
2101
+
2102
+ export type StripePaymentMethodAllOf = {
2103
+ /** @nullable */
2104
+ Account?: StripePaymentMethodAllOfAccount;
2105
+ /** @nullable */
2106
+ Card_Brand?: string | null;
2107
+ /** @nullable */
2108
+ Card_ExpMonth?: number | null;
2109
+ /** @nullable */
2110
+ Card_ExpYear?: number | null;
2111
+ /** @nullable */
2112
+ Card_Wallet_Type?: string | null;
2113
+ /** @nullable */
2114
+ BankName?: string | null;
2115
+ /** @nullable */
2116
+ Last4?: string | null;
2117
+ /** @nullable */
2118
+ Type?: string | null;
2119
+ /** @nullable */
2120
+ Label?: string | null;
2121
+ [key: string]: unknown | null;
2122
+ };
2123
+
2124
+ export type StripePaymentMethod = AbstractStripeBeanOfPaymentMethod & StripePaymentMethodAllOf;
2125
+
2126
+ export type AbstractStripeBeanOfPaymentMethodAllOf = {
2127
+ /**
2128
+ * @maxLength 255
2129
+ * @nullable
2130
+ */
2131
+ StripeId?: string | null;
2132
+ IsLivemode?: boolean;
2133
+ [key: string]: unknown | null;
2134
+ };
2135
+
2136
+ export type AbstractStripeBeanOfPaymentMethod = AbstractSchemaLessBean & AbstractStripeBeanOfPaymentMethodAllOf;
2137
+
2138
+ /**
2139
+ * @nullable
2140
+ */
2141
+ export type StripeRefundAllOfStripeCharge = StripeCharge | null;
2142
+
2143
+ export type StripeRefundAllOf = {
2144
+ Amount?: number;
2145
+ /**
2146
+ * @maxLength 50
2147
+ * @nullable
2148
+ */
2149
+ ChargeId?: string | null;
2150
+ /**
2151
+ * @maxLength 3
2152
+ * @nullable
2153
+ */
2154
+ Currency?: string | null;
2155
+ /**
2156
+ * @maxLength 50
2157
+ * @nullable
2158
+ */
2159
+ PaymentIntentId?: string | null;
2160
+ /**
2161
+ * @maxLength 50
2162
+ * @nullable
2163
+ */
2164
+ Reason?: string | null;
2165
+ /**
2166
+ * @maxLength 30
2167
+ * @nullable
2168
+ */
2169
+ Status?: string | null;
2170
+ /** @nullable */
2171
+ CurrencySymbol?: string | null;
2172
+ CurrencyAmount?: number;
2173
+ /** @nullable */
2174
+ StripeCharge?: StripeRefundAllOfStripeCharge;
2175
+ [key: string]: unknown | null;
2176
+ };
2177
+
2178
+ export type StripeRefund = AbstractStripeBeanOfRefund & StripeRefundAllOf;
2179
+
2180
+ export type AbstractStripeBeanOfRefundAllOf = {
2181
+ /**
2182
+ * @maxLength 255
2183
+ * @nullable
2184
+ */
2185
+ StripeId?: string | null;
2186
+ IsLivemode?: boolean;
2187
+ [key: string]: unknown | null;
2188
+ };
2189
+
2190
+ export type AbstractStripeBeanOfRefund = AbstractSchemaLessBean & AbstractStripeBeanOfRefundAllOf;
2191
+
2192
+ export type AbstractStripeBeanOfChargeAllOf = {
2193
+ /**
2194
+ * @maxLength 255
2195
+ * @nullable
2196
+ */
2197
+ StripeId?: string | null;
2198
+ IsLivemode?: boolean;
2199
+ [key: string]: unknown | null;
2200
+ };
2201
+
2202
+ export type AbstractStripeBeanOfCharge = AbstractSchemaLessBean & AbstractStripeBeanOfChargeAllOf;
2203
+
2204
+ export type AbstractStripeBeanOfInvoicePaymentAllOf = {
2205
+ /**
2206
+ * @maxLength 255
2207
+ * @nullable
2208
+ */
2209
+ StripeId?: string | null;
2210
+ IsLivemode?: boolean;
2211
+ [key: string]: unknown | null;
2212
+ };
2213
+
2214
+ export type AbstractStripeBeanOfInvoicePayment = AbstractSchemaLessBean & AbstractStripeBeanOfInvoicePaymentAllOf;
2215
+
2216
+ export type StripeCreditNoteAllOf = {
2217
+ /**
2218
+ * @maxLength 3
2219
+ * @nullable
2220
+ */
2221
+ Currency?: string | null;
2222
+ /**
2223
+ * @maxLength 50
2224
+ * @nullable
2225
+ */
2226
+ CustomerId?: string | null;
2227
+ /**
2228
+ * @maxLength 50
2229
+ * @nullable
2230
+ */
2231
+ InvoiceId?: string | null;
2232
+ /**
2233
+ * @maxLength 30
2234
+ * @nullable
2235
+ */
2236
+ Reason?: string | null;
2237
+ /**
2238
+ * @maxLength 30
2239
+ * @nullable
2240
+ */
2241
+ Status?: string | null;
2242
+ Total?: number;
2243
+ /** @nullable */
2244
+ CurrencySymbol?: string | null;
2245
+ CurrencyTotal?: number;
2246
+ [key: string]: unknown | null;
2247
+ };
2248
+
2249
+ export type StripeCreditNote = AbstractStripeBeanOfCreditNote & StripeCreditNoteAllOf;
2250
+
2251
+ export type AbstractStripeBeanOfCreditNoteAllOf = {
2252
+ /**
2253
+ * @maxLength 255
2254
+ * @nullable
2255
+ */
2256
+ StripeId?: string | null;
2257
+ IsLivemode?: boolean;
2258
+ [key: string]: unknown | null;
2259
+ };
2260
+
2261
+ export type AbstractStripeBeanOfCreditNote = AbstractSchemaLessBean & AbstractStripeBeanOfCreditNoteAllOf;
2262
+
2263
+ export type AbstractStripeBeanOfInvoiceAllOf = {
2264
+ /**
2265
+ * @maxLength 255
2266
+ * @nullable
2267
+ */
2268
+ StripeId?: string | null;
2269
+ IsLivemode?: boolean;
2270
+ [key: string]: unknown | null;
2271
+ };
2272
+
2273
+ export type AbstractStripeBeanOfInvoice = AbstractSchemaLessBean & AbstractStripeBeanOfInvoiceAllOf;
2274
+
2275
+ /**
2276
+ * @nullable
2277
+ */
2278
+ export type SubscriptionAllOfAccount = Account | null;
2279
+
2280
+ /**
2281
+ * @nullable
2282
+ */
2283
+ export type SubscriptionAllOfPlan = Plan | null;
2284
+
2285
+ /**
2286
+ * @nullable
2287
+ */
2288
+ export type SubscriptionAllOfLatestInvoice = Invoice | null;
2289
+
2290
+ export type SubscriptionAllOf = {
2291
+ /**
2292
+ * @minimum 1
2293
+ * @maximum 4
2294
+ */
2295
+ BillingRenewalTerm?: BillingRenewalTerm;
2296
+ /** @nullable */
2297
+ Account?: SubscriptionAllOfAccount;
2298
+ /** @nullable */
2299
+ Plan?: SubscriptionAllOfPlan;
2300
+ /** @nullable */
2301
+ Quantity?: number | null;
2302
+ StartDate?: string;
2303
+ /** @nullable */
2304
+ EndDate?: string | null;
2305
+ /** @nullable */
2306
+ ExpirationDate?: string | null;
2307
+ /** @nullable */
2308
+ RenewalDate?: string | null;
2309
+ /** @nullable */
2310
+ NewRequiredQuantity?: number | null;
2311
+ IsPlanUpgradeRequired?: boolean;
2312
+ /** @nullable */
2313
+ PlanUpgradeRequiredMessage?: string | null;
2314
+ /** @nullable */
2315
+ SubscriptionAddOns?: SubscriptionAddOn[] | null;
2316
+ /** @nullable */
2317
+ DiscountCouponSubscriptions?: DiscountCouponSubscription[] | null;
2318
+ /** @nullable */
2319
+ DiscountCode?: string | null;
2320
+ /** @nullable */
2321
+ DiscountCouponExpirationDate?: string | null;
2322
+ /** @nullable */
2323
+ LatestInvoice?: SubscriptionAllOfLatestInvoice;
2324
+ /** @nullable */
2325
+ Rate?: number | null;
2326
+ };
2327
+
2328
+ export type Subscription = AbstractQcountBean & SubscriptionAllOf;
2329
+
2330
+ /**
2331
+ * `1` - Monthly, `2` - Yearly, `3` - Quarterly, `4` - One Time
2332
+ */
2333
+ export type BillingRenewalTerm = typeof BillingRenewalTerm[keyof typeof BillingRenewalTerm];
2334
+
2335
+
2336
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2337
+ export const BillingRenewalTerm = {
2338
+ Monthly: 1,
2339
+ Yearly: 2,
2340
+ Quarterly: 3,
2341
+ /** One Time */
2342
+ OneTime: 4,
2343
+ } as const;
2344
+
2345
+ /**
2346
+ * @nullable
2347
+ */
2348
+ export type SubscriptionAddOnAllOfSubscription = Subscription | null;
2349
+
2350
+ /**
2351
+ * @nullable
2352
+ */
2353
+ export type SubscriptionAddOnAllOfAddOn = AddOn | null;
2354
+
2355
+ export type SubscriptionAddOnAllOf = {
2356
+ /**
2357
+ * @minimum 1
2358
+ * @maximum 4
2359
+ */
2360
+ BillingRenewalTerm?: BillingRenewalTerm;
2361
+ /** @nullable */
2362
+ Subscription?: SubscriptionAddOnAllOfSubscription;
2363
+ /** @nullable */
2364
+ AddOn?: SubscriptionAddOnAllOfAddOn;
2365
+ /** @nullable */
2366
+ Quantity?: number | null;
2367
+ StartDate?: string;
2368
+ /** @nullable */
2369
+ EndDate?: string | null;
2370
+ /** @nullable */
2371
+ ExpirationDate?: string | null;
2372
+ /** @nullable */
2373
+ RenewalDate?: string | null;
2374
+ /** @nullable */
2375
+ NewRequiredQuantity?: number | null;
2376
+ /** @nullable */
2377
+ Rate?: number | null;
2378
+ };
2379
+
2380
+ export type SubscriptionAddOn = AbstractQcountBean & SubscriptionAddOnAllOf;
2381
+
2382
+ /**
2383
+ * @nullable
2384
+ */
2385
+ export type DiscountCouponSubscriptionAllOfSubscription = Subscription | null;
2386
+
2387
+ /**
2388
+ * @nullable
2389
+ */
2390
+ export type DiscountCouponSubscriptionAllOfDiscountCoupon = DiscountCoupon | null;
2391
+
2392
+ export type DiscountCouponSubscriptionAllOf = {
2393
+ /** @nullable */
2394
+ RedeemedDate?: string | null;
2395
+ /** @nullable */
2396
+ ExpireDate?: string | null;
2397
+ /** @nullable */
2398
+ Subscription?: DiscountCouponSubscriptionAllOfSubscription;
2399
+ /** @nullable */
2400
+ DiscountCoupon?: DiscountCouponSubscriptionAllOfDiscountCoupon;
2401
+ };
2402
+
2403
+ export type DiscountCouponSubscription = AbstractQcountBean & DiscountCouponSubscriptionAllOf;
2404
+
2405
+ export type DiscountCouponAllOf = {
2406
+ /** @nullable */
2407
+ UniqueIdentifier?: string | null;
2408
+ /** @nullable */
2409
+ Name?: string | null;
2410
+ IsActive?: boolean;
2411
+ /** @nullable */
2412
+ AmountOff?: number | null;
2413
+ /** @nullable */
2414
+ PercentOff?: number | null;
2415
+ /** @nullable */
2416
+ RedeemBy?: string | null;
2417
+ /**
2418
+ * @minimum 1
2419
+ * @maximum 3
2420
+ */
2421
+ Duration?: BillingDiscountDuration;
2422
+ /** @nullable */
2423
+ DurationInMonths?: number | null;
2424
+ TimesRedeemed?: number;
2425
+ /** @nullable */
2426
+ MaxRedemptions?: number | null;
2427
+ /** @nullable */
2428
+ DiscountCouponPlans?: DiscountCouponPlan[] | null;
2429
+ ApplyToAddOns?: boolean;
2430
+ /** @nullable */
2431
+ PlanUids?: string | null;
2432
+ };
2433
+
2434
+ export type DiscountCoupon = AbstractQcountBean & DiscountCouponAllOf;
2435
+
2436
+ /**
2437
+ * `1` - Forever, `2` - Once, `3` - Repeating
2438
+ */
2439
+ export type BillingDiscountDuration = typeof BillingDiscountDuration[keyof typeof BillingDiscountDuration];
2440
+
2441
+
2442
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2443
+ export const BillingDiscountDuration = {
2444
+ Forever: 1,
2445
+ Once: 2,
2446
+ Repeating: 3,
2447
+ } as const;
2448
+
2449
+ /**
2450
+ * @nullable
2451
+ */
2452
+ export type DiscountCouponPlanAllOfPlan = Plan | null;
2453
+
2454
+ /**
2455
+ * @nullable
2456
+ */
2457
+ export type DiscountCouponPlanAllOfDiscountCoupon = DiscountCoupon | null;
2458
+
2459
+ export type DiscountCouponPlanAllOf = {
2460
+ /** @nullable */
2461
+ Plan?: DiscountCouponPlanAllOfPlan;
2462
+ /** @nullable */
2463
+ DiscountCoupon?: DiscountCouponPlanAllOfDiscountCoupon;
2464
+ };
2465
+
2466
+ export type DiscountCouponPlan = AbstractQcountBean & DiscountCouponPlanAllOf;
2467
+
2468
+ /**
2469
+ * @nullable
2470
+ */
2471
+ export type InvoiceAllOfSubscription = Subscription | null;
2472
+
2473
+ export type InvoiceAllOf = {
2474
+ InvoiceDate?: string;
2475
+ /** @nullable */
2476
+ PaymentReminderSentDate?: string | null;
2477
+ Number?: number;
2478
+ BillingInvoiceStatus?: BillingInvoiceStatus;
2479
+ /** @nullable */
2480
+ Subscription?: InvoiceAllOfSubscription;
2481
+ Amount?: number;
2482
+ AmountOutstanding?: number;
2483
+ /** @nullable */
2484
+ InvoiceLineItems?: InvoiceLineItem[] | null;
2485
+ IsUserGenerated?: boolean;
2486
+ /**
2487
+ * @maxLength 50
2488
+ * @nullable
2489
+ */
2490
+ StripeTaxCalculationId?: string | null;
2491
+ /**
2492
+ * @maxLength 10
2493
+ * @nullable
2494
+ */
2495
+ StripeTaxBehavior?: string | null;
2496
+ AmountCredit?: number;
2497
+ AmountDiscount?: number;
2498
+ AmountPaid?: number;
2499
+ AmountRefunded?: number;
2500
+ AmountSubtotal?: number;
2501
+ AmountTax?: number;
2502
+ IsTaxable?: boolean;
2503
+ };
2504
+
2505
+ export type Invoice = AbstractQcountBean & InvoiceAllOf;
2506
+
2507
+ /**
2508
+ * `1` - Unpaid, `2` - Paid, `3` - Partial, `4` - Uncollected, `5` - Refunded, `6` - Uncollectible, `7` - Processing
2509
+ */
2510
+ export type BillingInvoiceStatus = typeof BillingInvoiceStatus[keyof typeof BillingInvoiceStatus];
2511
+
2512
+
2513
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2514
+ export const BillingInvoiceStatus = {
2515
+ Unpaid: 1,
2516
+ Paid: 2,
2517
+ Partial: 3,
2518
+ Uncollected: 4,
2519
+ Refunded: 5,
2520
+ Uncollectible: 6,
2521
+ Processing: 7,
2522
+ } as const;
2523
+
2524
+ /**
2525
+ * @nullable
2526
+ */
2527
+ export type InvoiceLineItemAllOfInvoice = Invoice | null;
2528
+
2529
+ /**
2530
+ * @nullable
2531
+ */
2532
+ export type InvoiceLineItemAllOfLineItemType = LineItemType | null;
2533
+
2534
+ export type InvoiceLineItemAllOf = {
2535
+ /** @nullable */
2536
+ StartDate?: string | null;
2537
+ /** @nullable */
2538
+ EndDate?: string | null;
2539
+ /** @nullable */
2540
+ Description?: string | null;
2541
+ /**
2542
+ * @maxLength 250
2543
+ * @nullable
2544
+ */
2545
+ UnitOfMeasure?: string | null;
2546
+ /** @nullable */
2547
+ Quantity?: number | null;
2548
+ Rate?: number;
2549
+ Amount?: number;
2550
+ Tax?: number;
2551
+ /** @nullable */
2552
+ Invoice?: InvoiceLineItemAllOfInvoice;
2553
+ /** @nullable */
2554
+ LineItemType?: InvoiceLineItemAllOfLineItemType;
2555
+ /** @nullable */
2556
+ EntityId?: number | null;
2557
+ /**
2558
+ * @maxLength 10
2559
+ * @nullable
2560
+ */
2561
+ StripeTaxReference?: string | null;
2562
+ /**
2563
+ * @maxLength 50
2564
+ * @nullable
2565
+ */
2566
+ StripeTaxLineItemId?: string | null;
2567
+ /** @nullable */
2568
+ EntityUid?: string | null;
2569
+ };
2570
+
2571
+ export type InvoiceLineItem = AbstractQcountBean & InvoiceLineItemAllOf;
2572
+
2573
+ /**
2574
+ * `1` - Plan, `2` - PlanSetupFee, `3` - AddOn, `4` - AddOnSetupFee, `5` - Discount, `6` - Credit, `7` - PlanCredit, `8` - AddOnCredit
2575
+ */
2576
+ export type LineItemType = typeof LineItemType[keyof typeof LineItemType];
2577
+
2578
+
2579
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2580
+ export const LineItemType = {
2581
+ Plan: 1,
2582
+ PlanSetupFee: 2,
2583
+ AddOn: 3,
2584
+ AddOnSetupFee: 4,
2585
+ Discount: 5,
2586
+ Credit: 6,
2587
+ PlanCredit: 7,
2588
+ AddOnCredit: 8,
2589
+ } as const;
2590
+
2591
+ /**
2592
+ * @nullable
2593
+ */
2594
+ export type DealAllOfDealPipelineStage = DealPipelineStage | null;
2595
+
2596
+ /**
2597
+ * @nullable
2598
+ */
2599
+ export type DealAllOfAccount = Account | null;
2600
+
2601
+ /**
2602
+ * @nullable
2603
+ */
2604
+ export type DealAllOfOwner = Person | null;
2605
+
2606
+ export type DealAllOf = {
2607
+ /**
2608
+ * @minLength 1
2609
+ * @maxLength 250
2610
+ */
2611
+ Name: string;
2612
+ /** @nullable */
2613
+ Amount?: number | null;
2614
+ /** @nullable */
2615
+ DueDate?: string | null;
2616
+ /**
2617
+ * @maxLength 50
2618
+ * @nullable
2619
+ */
2620
+ AssignedToPersonClientIdentifier?: string | null;
2621
+ Weight?: number;
2622
+ /** @nullable */
2623
+ DealPipelineStage?: DealAllOfDealPipelineStage;
2624
+ /** @nullable */
2625
+ Account?: DealAllOfAccount;
2626
+ /** @nullable */
2627
+ DealPeople?: DealPerson[] | null;
2628
+ /** @nullable */
2629
+ Contacts?: string | null;
2630
+ AccountId?: number;
2631
+ /** @nullable */
2632
+ Owner?: DealAllOfOwner;
2633
+ /** @nullable */
2634
+ PipelineUid?: string | null;
2635
+ [key: string]: unknown | null;
2636
+ };
2637
+
2638
+ export type Deal = AbstractSchemaLessBean & DealAllOf;
2639
+
2640
+ /**
2641
+ * @nullable
2642
+ */
2643
+ export type DealPipelineStageAllOfDealPipeline = DealPipeline | null;
2644
+
2645
+ export type DealPipelineStageAllOf = {
2646
+ Weight?: number;
2647
+ /**
2648
+ * @maxLength 250
2649
+ * @nullable
2650
+ */
2651
+ Name?: string | null;
2652
+ /** @nullable */
2653
+ DealPipeline?: DealPipelineStageAllOfDealPipeline;
2654
+ /** @nullable */
2655
+ Deals?: Deal[] | null;
2656
+ };
2657
+
2658
+ export type DealPipelineStage = AbstractQcountBean & DealPipelineStageAllOf;
2659
+
2660
+ export type DealPipelineAllOf = {
2661
+ /**
2662
+ * @maxLength 250
2663
+ * @nullable
2664
+ */
2665
+ Name?: string | null;
2666
+ /** @nullable */
2667
+ DealPipelineStages?: DealPipelineStage[] | null;
2668
+ };
2669
+
2670
+ export type DealPipeline = AbstractQcountBean & DealPipelineAllOf;
2671
+
2672
+ /**
2673
+ * @nullable
2674
+ */
2675
+ export type DealPersonAllOfPerson = Person | null;
2676
+
2677
+ /**
2678
+ * @nullable
2679
+ */
2680
+ export type DealPersonAllOfDeal = Deal | null;
2681
+
2682
+ export type DealPersonAllOf = {
2683
+ /** @nullable */
2684
+ Person?: DealPersonAllOfPerson;
2685
+ /** @nullable */
2686
+ Deal?: DealPersonAllOfDeal;
2687
+ };
2688
+
2689
+ export type DealPerson = AbstractQcountBean & DealPersonAllOf;
2690
+
2691
+ /**
2692
+ * @nullable
2693
+ */
2694
+ export type AccountTaxIdAllOfAccount = Account | null;
2695
+
2696
+ export type AccountTaxIdAllOf = {
2697
+ /** @nullable */
2698
+ Account?: AccountTaxIdAllOfAccount;
2699
+ /**
2700
+ * @maxLength 50
2701
+ * @nullable
2702
+ */
2703
+ TaxId?: string | null;
2704
+ /**
2705
+ * @maxLength 20
2706
+ * @nullable
2707
+ */
2708
+ TaxIdType?: string | null;
2709
+ IsInvalid?: boolean;
2710
+ [key: string]: unknown | null;
2711
+ };
2712
+
2713
+ export type AccountTaxId = AbstractStripeBeanOfTaxId & AccountTaxIdAllOf;
2714
+
2715
+ export type AbstractStripeBeanOfTaxIdAllOf = {
2716
+ /**
2717
+ * @maxLength 255
2718
+ * @nullable
2719
+ */
2720
+ StripeId?: string | null;
2721
+ IsLivemode?: boolean;
2722
+ [key: string]: unknown | null;
2723
+ };
2724
+
2725
+ export type AbstractStripeBeanOfTaxId = AbstractSchemaLessBean & AbstractStripeBeanOfTaxIdAllOf;
2726
+
2727
+ export type AbstractStripeBeanOfCustomerAllOf = {
2728
+ /**
2729
+ * @maxLength 255
2730
+ * @nullable
2731
+ */
2732
+ StripeId?: string | null;
2733
+ IsLivemode?: boolean;
2734
+ [key: string]: unknown | null;
2735
+ };
2736
+
2737
+ export type AbstractStripeBeanOfCustomer = AbstractSchemaLessBean & AbstractStripeBeanOfCustomerAllOf;
2738
+
2739
+ export type LeadFormSubmissionAllOf = {
2740
+ Person: Person;
2741
+ LeadForm: LeadForm;
2742
+ /** @nullable */
2743
+ RefererURL?: string | null;
2744
+ /** @nullable */
2745
+ RecaptchaToken?: string | null;
2746
+ /** @nullable */
2747
+ RecaptchaSiteKey?: string | null;
2748
+ };
2749
+
2750
+ export type LeadFormSubmission = AbstractQcountBean & LeadFormSubmissionAllOf;
2751
+
2752
+ /**
2753
+ * @nullable
2754
+ */
2755
+ export type LeadFormAllOfDealPipelineStage = DealPipelineStage | null;
2756
+
2757
+ export type LeadFormAllOf = {
2758
+ /**
2759
+ * @maxLength 250
2760
+ * @nullable
2761
+ */
2762
+ Name?: string | null;
2763
+ /** @nullable */
2764
+ FieldConfigurationDataJSON?: string | null;
2765
+ /**
2766
+ * @deprecated
2767
+ * @maxLength 1000
2768
+ * @nullable
2769
+ */
2770
+ ThankYouRedirectUrl?: string | null;
2771
+ SubmissionCount?: number;
2772
+ /** @nullable */
2773
+ PipelineStageUid?: string | null;
2774
+ /** @nullable */
2775
+ DealPipelineStage?: LeadFormAllOfDealPipelineStage;
2776
+ };
2777
+
2778
+ export type LeadForm = AbstractQcountBean & LeadFormAllOf;
2779
+
2780
+ /**
2781
+ * `0` - None, `1` - Gmail
2782
+ */
2783
+ export type OAuthService = typeof OAuthService[keyof typeof OAuthService];
2784
+
2785
+
2786
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2787
+ export const OAuthService = {
2788
+ None: 0,
2789
+ Gmail: 1,
2790
+ } as const;
2791
+
2792
+ export type DiscordUserAllOf = {
2793
+ /**
2794
+ * @maxLength 250
2795
+ * @nullable
2796
+ */
2797
+ DiscordUserId?: string | null;
2798
+ /**
2799
+ * @maxLength 250
2800
+ * @nullable
2801
+ */
2802
+ DiscordEmail?: string | null;
2803
+ /**
2804
+ * @maxLength 250
2805
+ * @nullable
2806
+ */
2807
+ DiscordUsername?: string | null;
2808
+ /** @nullable */
2809
+ DiscordOAuthRefreshToken?: string | null;
2810
+ };
2811
+
2812
+ export type DiscordUser = AbstractQcountBean & DiscordUserAllOf & Required<Pick<AbstractQcountBean & DiscordUserAllOf, 'Person'>>;
2813
+
2814
+ /**
2815
+ * `1` - Subscribed, `2` - Unsubscribed, `3` - Cleaned, `4` - Confirmed
2816
+ */
2817
+ export type EmailListSubscriberStatus = typeof EmailListSubscriberStatus[keyof typeof EmailListSubscriberStatus];
2818
+
2819
+
2820
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2821
+ export const EmailListSubscriberStatus = {
2822
+ Subscribed: 1,
2823
+ Unsubscribed: 2,
2824
+ Cleaned: 3,
2825
+ Confirmed: 4,
2826
+ } as const;
2827
+
2828
+ export interface PasswordPayload {
2829
+ /** @nullable */
2830
+ Password?: string | null;
2831
+ }
2832
+
2833
+ /**
2834
+ * @nullable
2835
+ */
2836
+ export type NoCodeSettingsAllOfAccount = Account | null;
2837
+
2838
+ export type NoCodeSettingsAllOf = {
2839
+ AccountPagesEnabled?: boolean;
2840
+ /**
2841
+ * @maxLength 255
2842
+ * @nullable
2843
+ */
2844
+ AccountPagesPathPrefix?: string | null;
2845
+ /**
2846
+ * @maxLength 1024
2847
+ * @nullable
2848
+ */
2849
+ AccountPagesAccessDeniedPath?: string | null;
2850
+ AccountPagesRedirectOnLogin?: boolean;
2851
+ /** @nullable */
2852
+ Account?: NoCodeSettingsAllOfAccount;
2853
+ BillingSystem?: BillingSystem;
2854
+ /** @nullable */
2855
+ ContentGroups?: ContentGroup[] | null;
2856
+ /** @nullable */
2857
+ MagicLinkApiKey?: string | null;
2858
+ /** @nullable */
2859
+ OidcClients?: ClientApplication[] | null;
2860
+ /**
2861
+ * @deprecated
2862
+ * @nullable
2863
+ */
2864
+ OidcClientId?: string | null;
2865
+ /**
2866
+ * @deprecated
2867
+ * @nullable
2868
+ */
2869
+ OidcRedirectUri?: string | null;
2870
+ /**
2871
+ * @deprecated
2872
+ * @nullable
2873
+ */
2874
+ OidcPostLogoutRedirectUri?: string | null;
2875
+ /** @nullable */
2876
+ Plans?: Plan[] | null;
2877
+ /** @nullable */
2878
+ Products?: StripeProduct[] | null;
2879
+ };
2880
+
2881
+ export type NoCodeSettings = AbstractQcountBean & NoCodeSettingsAllOf;
2882
+
2883
+ /**
2884
+ * `1` - Outseta, `2` - Stripe
2885
+ */
2886
+ export type BillingSystem = typeof BillingSystem[keyof typeof BillingSystem];
2887
+
2888
+
2889
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
2890
+ export const BillingSystem = {
2891
+ Outseta: 1,
2892
+ Stripe: 2,
2893
+ } as const;
2894
+
2895
+ export type ClientApplicationAllOf = {
2896
+ /**
2897
+ * @maxLength 20
2898
+ * @nullable
2899
+ */
2900
+ ClientId?: string | null;
2901
+ /**
2902
+ * @maxLength 50
2903
+ * @nullable
2904
+ */
2905
+ ClientSecret?: string | null;
2906
+ /**
2907
+ * @minLength 1
2908
+ * @maxLength 100
2909
+ */
2910
+ Name: string;
2911
+ /**
2912
+ * @minLength 1
2913
+ * @maxLength 100
2914
+ */
2915
+ AllowedOrigin: string;
2916
+ /** @nullable */
2917
+ PostLogoutRedirectUris?: string | null;
2918
+ /** @nullable */
2919
+ RedirectUris?: string | null;
2920
+ RefreshTokenLifetime?: number;
2921
+ };
2922
+
2923
+ export type ClientApplication = AbstractQcountBean & ClientApplicationAllOf;
2924
+
2925
+ export type ChatSettingsAllOf = {
2926
+ /**
2927
+ * @maxLength 100
2928
+ * @nullable
2929
+ */
2930
+ IntroHeading?: string | null;
2931
+ /**
2932
+ * @maxLength 280
2933
+ * @nullable
2934
+ */
2935
+ IntroMessage?: string | null;
2936
+ /**
2937
+ * @maxLength 280
2938
+ * @nullable
2939
+ */
2940
+ AutoResponderMessageAway?: string | null;
2941
+ /**
2942
+ * @deprecated
2943
+ * @maxLength 280
2944
+ * @nullable
2945
+ */
2946
+ AutoResponderMessageAwayNoEmail?: string | null;
2947
+ /**
2948
+ * @deprecated
2949
+ * @maxLength 280
2950
+ * @nullable
2951
+ */
2952
+ AutoResponderMessageAwayNoEmailThankYou?: string | null;
2953
+ AutoResponderDelayMinutes?: number;
2954
+ RequireEmail?: boolean;
2955
+ /**
2956
+ * @maxLength 280
2957
+ * @nullable
2958
+ */
2959
+ RequireEmailMessage?: string | null;
2960
+ };
2961
+
2962
+ export type ChatSettings = AbstractQcountBean & ChatSettingsAllOf;
2963
+
2964
+ /**
2965
+ * @nullable
2966
+ */
2967
+ export type CaseAllOfLastCaseHistory = CaseHistory | null;
2968
+
2969
+ export type CaseAllOf = {
2970
+ SubmittedDateTime?: string;
2971
+ LastActivity?: string;
2972
+ FromPerson: Person;
2973
+ /**
2974
+ * @maxLength 50
2975
+ * @nullable
2976
+ */
2977
+ AssignedToPersonClientIdentifier?: string | null;
2978
+ /** @nullable */
2979
+ Subject?: string | null;
2980
+ /** @nullable */
2981
+ Body?: string | null;
2982
+ /** @nullable */
2983
+ UserAgent?: string | null;
2984
+ /**
2985
+ * @minimum 1
2986
+ * @maximum 2
2987
+ */
2988
+ Status: SupportCaseStatus;
2989
+ /**
2990
+ * @minimum 1
2991
+ * @maximum 5
2992
+ */
2993
+ Source: SupportCaseSource;
2994
+ /** @nullable */
2995
+ CaseHistories?: CaseHistory[] | null;
2996
+ /** @nullable */
2997
+ CaseTags?: CaseTag[] | null;
2998
+ HasUnread?: boolean;
2999
+ IsOnline?: boolean;
3000
+ /** @nullable */
3001
+ LastCaseHistory?: CaseAllOfLastCaseHistory;
3002
+ /** @nullable */
3003
+ Participants?: string | null;
3004
+ /** @nullable */
3005
+ RecaptchaToken?: string | null;
3006
+ /** @nullable */
3007
+ RecaptchaSiteKey?: string | null;
3008
+ Score?: number;
3009
+ };
3010
+
3011
+ export type Case = AbstractQcountBean & CaseAllOf;
3012
+
3013
+ /**
3014
+ * `1` - Open, `2` - Closed
3015
+ */
3016
+ export type SupportCaseStatus = typeof SupportCaseStatus[keyof typeof SupportCaseStatus];
3017
+
3018
+
3019
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3020
+ export const SupportCaseStatus = {
3021
+ Open: 1,
3022
+ Closed: 2,
3023
+ } as const;
3024
+
3025
+ /**
3026
+ * `1` - Website, `2` - Email, `3` - Facebook, `4` - Twitter, `5` - Chat
3027
+ */
3028
+ export type SupportCaseSource = typeof SupportCaseSource[keyof typeof SupportCaseSource];
3029
+
3030
+
3031
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3032
+ export const SupportCaseSource = {
3033
+ Website: 1,
3034
+ Email: 2,
3035
+ Facebook: 3,
3036
+ Twitter: 4,
3037
+ Chat: 5,
3038
+ } as const;
3039
+
3040
+ export type CaseHistoryAllOf = {
3041
+ HistoryDateTime?: string;
3042
+ Case: Case;
3043
+ /** @nullable */
3044
+ AgentName?: string | null;
3045
+ /** @nullable */
3046
+ Comment?: string | null;
3047
+ Type: SupportCaseHistoryType;
3048
+ /** @nullable */
3049
+ SeenDateTime?: string | null;
3050
+ /** @nullable */
3051
+ ClickDateTime?: string | null;
3052
+ /**
3053
+ * @maxLength 50
3054
+ * @nullable
3055
+ */
3056
+ UniqueIdentifier?: string | null;
3057
+ /** @nullable */
3058
+ PersonEmail?: string | null;
3059
+ /** @nullable */
3060
+ NewUvi?: string | null;
3061
+ };
3062
+
3063
+ export type CaseHistory = AbstractQcountBean & CaseHistoryAllOf;
3064
+
3065
+ /**
3066
+ * `1` - PersonReply, `2` - Note, `3` - Closed, `4` - Reopened, `5` - Assigned, `6` - AgentReply, `7` - AutoReply, `8` - ContactChange
3067
+ */
3068
+ export type SupportCaseHistoryType = typeof SupportCaseHistoryType[keyof typeof SupportCaseHistoryType];
3069
+
3070
+
3071
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3072
+ export const SupportCaseHistoryType = {
3073
+ PersonReply: 1,
3074
+ Note: 2,
3075
+ Closed: 3,
3076
+ Reopened: 4,
3077
+ Assigned: 5,
3078
+ AgentReply: 6,
3079
+ AutoReply: 7,
3080
+ ContactChange: 8,
3081
+ } as const;
3082
+
3083
+ /**
3084
+ * @nullable
3085
+ */
3086
+ export type CaseTagAllOfCase = Case | null;
3087
+
3088
+ /**
3089
+ * @nullable
3090
+ */
3091
+ export type CaseTagAllOfTag = Tag | null;
3092
+
3093
+ export type CaseTagAllOf = {
3094
+ /** @nullable */
3095
+ Case?: CaseTagAllOfCase;
3096
+ /** @nullable */
3097
+ Tag?: CaseTagAllOfTag;
3098
+ };
3099
+
3100
+ export type CaseTag = AbstractQcountBean & CaseTagAllOf;
3101
+
3102
+ /**
3103
+ * @nullable
3104
+ */
3105
+ export type ArticleAllOfCategory = Category | null;
3106
+
3107
+ export type ArticleAllOf = {
3108
+ Weight?: number;
3109
+ /**
3110
+ * @maxLength 255
3111
+ * @nullable
3112
+ */
3113
+ Title?: string | null;
3114
+ /** @nullable */
3115
+ Body?: string | null;
3116
+ /**
3117
+ * @minimum 1
3118
+ * @maximum 3
3119
+ */
3120
+ SupportArticleStatus?: SupportArticleStatus;
3121
+ /** @nullable */
3122
+ Category?: ArticleAllOfCategory;
3123
+ /**
3124
+ * @maxLength 255
3125
+ * @nullable
3126
+ */
3127
+ Keywords?: string | null;
3128
+ };
3129
+
3130
+ export type Article = AbstractQcountBean & ArticleAllOf;
3131
+
3132
+ /**
3133
+ * `1` - Draft, `2` - WaitingReview, `3` - Published
3134
+ */
3135
+ export type SupportArticleStatus = typeof SupportArticleStatus[keyof typeof SupportArticleStatus];
3136
+
3137
+
3138
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3139
+ export const SupportArticleStatus = {
3140
+ Draft: 1,
3141
+ WaitingReview: 2,
3142
+ Published: 3,
3143
+ } as const;
3144
+
3145
+ export type CategoryAllOf = {
3146
+ /**
3147
+ * @maxLength 250
3148
+ * @nullable
3149
+ */
3150
+ Name?: string | null;
3151
+ /** @nullable */
3152
+ Description?: string | null;
3153
+ Weight?: number;
3154
+ /** @nullable */
3155
+ Articles?: Article[] | null;
3156
+ };
3157
+
3158
+ export type Category = AbstractQcountBean & CategoryAllOf;
3159
+
3160
+ export type SupportSettingsAllOf = {
3161
+ /** @nullable */
3162
+ EmailAddress?: string | null;
3163
+ /** @nullable */
3164
+ HeaderCssBgColor?: string | null;
3165
+ /** @nullable */
3166
+ HeaderCssColor?: string | null;
3167
+ /** @nullable */
3168
+ PhoneNumber?: string | null;
3169
+ /** @nullable */
3170
+ KnowledgeBaseCss?: string | null;
3171
+ /** @nullable */
3172
+ KnowledgeBaseLogoS3Url?: string | null;
3173
+ /**
3174
+ * @maxLength 100
3175
+ * @nullable
3176
+ */
3177
+ KnowledgeBaseHeader?: string | null;
3178
+ /** @nullable */
3179
+ KnowledgeBaseIntroduction?: string | null;
3180
+ /** @nullable */
3181
+ KnowledgeBaseFooterLinkJSON?: string | null;
3182
+ /** @nullable */
3183
+ OfficeHoursJSON?: string | null;
3184
+ /** @nullable */
3185
+ EmailNotificationForNewTickets?: string | null;
3186
+ DoNotSendSupportThankYouEmail?: boolean;
3187
+ };
3188
+
3189
+ export type SupportSettings = AbstractQcountBean & SupportSettingsAllOf;
3190
+
3191
+ /**
3192
+ * @nullable
3193
+ */
3194
+ export type WebflowConfigurationSyncConfiguration = WebflowSyncConfiguration | null;
3195
+
3196
+ export interface WebflowConfiguration {
3197
+ IsAuthorized?: boolean;
3198
+ /** @nullable */
3199
+ LastSynced?: string | null;
3200
+ /** @nullable */
3201
+ LastSyncErrors?: WebflowSyncError[] | null;
3202
+ /** @nullable */
3203
+ SyncConfiguration?: WebflowConfigurationSyncConfiguration;
3204
+ /** @nullable */
3205
+ SyncLogs?: WebflowSyncLog[] | null;
3206
+ }
3207
+
3208
+ export interface WebflowSyncError { [key: string]: unknown }
3209
+
3210
+ /**
3211
+ * @nullable
3212
+ */
3213
+ export type WebflowSyncConfigurationSite = WebflowSite | null;
3214
+
3215
+ /**
3216
+ * @nullable
3217
+ */
3218
+ export type WebflowSyncConfigurationCollection = WebflowCollection | null;
3219
+
3220
+ export interface WebflowSyncConfiguration {
3221
+ IsActive?: boolean;
3222
+ /** @nullable */
3223
+ Site?: WebflowSyncConfigurationSite;
3224
+ /** @nullable */
3225
+ Collection?: WebflowSyncConfigurationCollection;
3226
+ /** @nullable */
3227
+ FieldMappings?: WebflowFieldMapping[] | null;
3228
+ SyncSlugToAccount?: boolean;
3229
+ }
3230
+
3231
+ export interface WebflowSite {
3232
+ /**
3233
+ * @deprecated
3234
+ * @nullable
3235
+ */
3236
+ _id?: string | null;
3237
+ /** @nullable */
3238
+ id?: string | null;
3239
+ createdOn?: string;
3240
+ /** @nullable */
3241
+ database?: string | null;
3242
+ /** @nullable */
3243
+ displayName?: string | null;
3244
+ /** @nullable */
3245
+ lastPublished?: string | null;
3246
+ /** @nullable */
3247
+ name?: string | null;
3248
+ /** @nullable */
3249
+ previewUrl?: string | null;
3250
+ /** @nullable */
3251
+ shortName?: string | null;
3252
+ /**
3253
+ * @deprecated
3254
+ * @nullable
3255
+ */
3256
+ timezone?: string | null;
3257
+ /** @nullable */
3258
+ timeZone?: string | null;
3259
+ }
3260
+
3261
+ export interface WebflowCollection {
3262
+ /**
3263
+ * @deprecated
3264
+ * @nullable
3265
+ */
3266
+ _id?: string | null;
3267
+ /** @nullable */
3268
+ id?: string | null;
3269
+ createdOn?: string;
3270
+ /** @nullable */
3271
+ displayName?: string | null;
3272
+ lastUpdated?: string;
3273
+ /**
3274
+ * @deprecated
3275
+ * @nullable
3276
+ */
3277
+ name?: string | null;
3278
+ /** @nullable */
3279
+ singularName?: string | null;
3280
+ /** @nullable */
3281
+ slug?: string | null;
3282
+ /** @nullable */
3283
+ fields?: WebflowField[] | null;
3284
+ }
3285
+
3286
+ export interface WebflowField {
3287
+ /** @nullable */
3288
+ id?: string | null;
3289
+ /** @nullable */
3290
+ displayName?: string | null;
3291
+ /** @deprecated */
3292
+ editable?: boolean;
3293
+ /** @nullable */
3294
+ helpText?: string | null;
3295
+ isEditable?: boolean;
3296
+ isRequired?: boolean;
3297
+ /** @nullable */
3298
+ itemRefCollectionId?: string | null;
3299
+ /**
3300
+ * @deprecated
3301
+ * @nullable
3302
+ */
3303
+ name?: string | null;
3304
+ /** @deprecated */
3305
+ required?: boolean;
3306
+ /** @nullable */
3307
+ slug?: string | null;
3308
+ /** @nullable */
3309
+ type?: string | null;
3310
+ }
3311
+
3312
+ /**
3313
+ * @nullable
3314
+ */
3315
+ export type WebflowFieldMappingWebflowField = WebflowField | null;
3316
+
3317
+ export interface WebflowFieldMapping {
3318
+ /** @nullable */
3319
+ OutsetaField?: string | null;
3320
+ /** @nullable */
3321
+ WebflowField?: WebflowFieldMappingWebflowField;
3322
+ }
3323
+
3324
+ export interface WebflowSyncLog {
3325
+ Count?: number;
3326
+ SyncDateTime?: string;
3327
+ /** @nullable */
3328
+ WebflowSyncItems?: WebflowSyncItem[] | null;
3329
+ }
3330
+
3331
+ export interface WebflowSyncItem { [key: string]: unknown }
3332
+
3333
+ export interface ProcessCodePayload { [key: string]: unknown }
3334
+
3335
+ export type QcountConfigAllOf = {
3336
+ SettingType?: QcountConfigSettingType;
3337
+ /** @nullable */
3338
+ SettingValue?: string | null;
3339
+ };
3340
+
3341
+ export type QcountConfig = AbstractQcountBean & QcountConfigAllOf;
3342
+
3343
+ /**
3344
+ * `100` - Slack, `102` - MagicLinkApiKey, `103` - MagicLinkApiKeySecret, `104` - OAuth_HideCreateAccountLink, `105` - Chat_IsOffline, `106` - HostedPageCustomCode, `107` - RegistrationConfirmationEmailDelaySeconds, `108` - AccountCancellationReasons, `110` - WebhookSignatureKey, `111` - HostedProfileBackLink, `112` - AccountCancellationReasonRequired, `114` - Email_OutsetaBrandingDisabled, `115` - Email_MarketingIpPool, `116` - Email_TransactionalIpPool, `117` - Email_LifecycleIpPool, `118` - Email_DomainAuthenticationConfigured, `119` - Email_BlacklistedInboundEmails, `120` - CRM_TeamMemberInviteEmailDisabled, `121` - PasswordPolicy, `123` - CRM_FieldSortingEnabled, `125` - KnowledgeBaseVersion, `126` - Support_SpamThreshold, `127` - Email_RestrictedPhrases, `128` - KnowledgeBaseLanguage, `130` - Billing_System, `131` - Billing_RestrictSubscriptionActions, `190` - Stripe_TaxEnabled, `192` - Stripe_TaxIdTypes, `193` - Stripe_ApplePayMerchantIdDomainAssociation, `194` - Stripe_WebhookSecret, `200` - Webflow_AccessToken, `201` - Webflow_SyncEnabled, `202` - Webflow_SyncConfiguration, `203` - Webflow_ApiVersion, `300` - SqsQueueEnabled, `301` - PersonSegmentationStatusEnabled, `304` - SqsCampaignEmailQueueEnabled, `310` - Account_AutoIncrementClientIdentifier, `402` - SqsEmailLogQueueUrlOverride, `500` - Logging_Webhook_Enabled, `501` - Logging_Activty_Enabled, `550` - CopyQcount_AddOnMap, `551` - CopyQcount_AccountMap, `552` - CopyQcount_DiscountCouponMap, `553` - CopyQcount_InvoiceMap, `554` - CopyQcount_PersonMap, `555` - CopyQcount_PlanMap, `556` - CopyQcount_PlanFamilyMap, `557` - CopyQcount_SubscriptionMap, `558` - CopyQcount_TransactionMap, `570` - StripeMigration_LastAccountId, `571` - StripeMigration_LastInvoiceId, `572` - StripeMigration_LastExpiredSubscriptionId, `573` - StripeMigration_LastPostExportSubscriptionId, `574` - StripeMigration_LastUsageId, `575` - StripeMigration_SubscriptionExportDate, `576` - StripeMigration_SubscriptionExportIds, `577` - StripeMigration_SubscriptionAddOnExportIds, `578` - StripeMigration_SubscriptionCutoverDate, `579` - StripeMigration_LastPreCutoverExportSubscriptionId, `601` - SqsSendGridWebHookEventQueueUrlOverride
3345
+ */
3346
+ export type QcountConfigSettingType = typeof QcountConfigSettingType[keyof typeof QcountConfigSettingType];
3347
+
3348
+
3349
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3350
+ export const QcountConfigSettingType = {
3351
+ Slack: 100,
3352
+ MagicLinkApiKey: 102,
3353
+ MagicLinkApiKeySecret: 103,
3354
+ OAuth_HideCreateAccountLink: 104,
3355
+ Chat_IsOffline: 105,
3356
+ HostedPageCustomCode: 106,
3357
+ RegistrationConfirmationEmailDelaySeconds: 107,
3358
+ AccountCancellationReasons: 108,
3359
+ WebhookSignatureKey: 110,
3360
+ HostedProfileBackLink: 111,
3361
+ AccountCancellationReasonRequired: 112,
3362
+ Email_OutsetaBrandingDisabled: 114,
3363
+ Email_MarketingIpPool: 115,
3364
+ Email_TransactionalIpPool: 116,
3365
+ Email_LifecycleIpPool: 117,
3366
+ Email_DomainAuthenticationConfigured: 118,
3367
+ Email_BlacklistedInboundEmails: 119,
3368
+ CRM_TeamMemberInviteEmailDisabled: 120,
3369
+ PasswordPolicy: 121,
3370
+ CRM_FieldSortingEnabled: 123,
3371
+ KnowledgeBaseVersion: 125,
3372
+ Support_SpamThreshold: 126,
3373
+ Email_RestrictedPhrases: 127,
3374
+ KnowledgeBaseLanguage: 128,
3375
+ Billing_System: 130,
3376
+ Billing_RestrictSubscriptionActions: 131,
3377
+ Stripe_TaxEnabled: 190,
3378
+ Stripe_TaxIdTypes: 192,
3379
+ Stripe_ApplePayMerchantIdDomainAssociation: 193,
3380
+ Stripe_WebhookSecret: 194,
3381
+ Webflow_AccessToken: 200,
3382
+ Webflow_SyncEnabled: 201,
3383
+ Webflow_SyncConfiguration: 202,
3384
+ Webflow_ApiVersion: 203,
3385
+ SqsQueueEnabled: 300,
3386
+ PersonSegmentationStatusEnabled: 301,
3387
+ SqsCampaignEmailQueueEnabled: 304,
3388
+ Account_AutoIncrementClientIdentifier: 310,
3389
+ SqsEmailLogQueueUrlOverride: 402,
3390
+ Logging_Webhook_Enabled: 500,
3391
+ Logging_Activty_Enabled: 501,
3392
+ CopyQcount_AddOnMap: 550,
3393
+ CopyQcount_AccountMap: 551,
3394
+ CopyQcount_DiscountCouponMap: 552,
3395
+ CopyQcount_InvoiceMap: 553,
3396
+ CopyQcount_PersonMap: 554,
3397
+ CopyQcount_PlanMap: 555,
3398
+ CopyQcount_PlanFamilyMap: 556,
3399
+ CopyQcount_SubscriptionMap: 557,
3400
+ CopyQcount_TransactionMap: 558,
3401
+ StripeMigration_LastAccountId: 570,
3402
+ StripeMigration_LastInvoiceId: 571,
3403
+ StripeMigration_LastExpiredSubscriptionId: 572,
3404
+ StripeMigration_LastPostExportSubscriptionId: 573,
3405
+ StripeMigration_LastUsageId: 574,
3406
+ StripeMigration_SubscriptionExportDate: 575,
3407
+ StripeMigration_SubscriptionExportIds: 576,
3408
+ StripeMigration_SubscriptionAddOnExportIds: 577,
3409
+ StripeMigration_SubscriptionCutoverDate: 578,
3410
+ StripeMigration_LastPreCutoverExportSubscriptionId: 579,
3411
+ SqsSendGridWebHookEventQueueUrlOverride: 601,
3412
+ } as const;
3413
+
3414
+ export type DiscordServerAllOf = {
3415
+ /**
3416
+ * @maxLength 250
3417
+ * @nullable
3418
+ */
3419
+ ExternalId?: string | null;
3420
+ /**
3421
+ * @maxLength 250
3422
+ * @nullable
3423
+ */
3424
+ Name?: string | null;
3425
+ /**
3426
+ * @maxLength 250
3427
+ * @nullable
3428
+ */
3429
+ Description?: string | null;
3430
+ RequiresActiveSubscription?: boolean;
3431
+ SuppressPromptToConnect?: boolean;
3432
+ IsActive?: boolean;
3433
+ /** @nullable */
3434
+ DiscordRoles?: DiscordRole[] | null;
3435
+ };
3436
+
3437
+ export type DiscordServer = AbstractQcountBean & DiscordServerAllOf;
3438
+
3439
+ /**
3440
+ * @nullable
3441
+ */
3442
+ export type DiscordRoleAllOfDiscordServer = DiscordServer | null;
3443
+
3444
+ export type DiscordRoleAllOf = {
3445
+ /**
3446
+ * @maxLength 250
3447
+ * @nullable
3448
+ */
3449
+ ExternalId?: string | null;
3450
+ /**
3451
+ * @maxLength 250
3452
+ * @nullable
3453
+ */
3454
+ Name?: string | null;
3455
+ Position?: number;
3456
+ /**
3457
+ * @maxLength 250
3458
+ * @nullable
3459
+ */
3460
+ Icon?: string | null;
3461
+ /**
3462
+ * @maxLength 250
3463
+ * @nullable
3464
+ */
3465
+ Emoji?: string | null;
3466
+ /** @nullable */
3467
+ DiscordServer?: DiscordRoleAllOfDiscordServer;
3468
+ /** @nullable */
3469
+ DiscordRolePlans?: DiscordRolePlan[] | null;
3470
+ };
3471
+
3472
+ export type DiscordRole = AbstractQcountBean & DiscordRoleAllOf;
3473
+
3474
+ /**
3475
+ * @nullable
3476
+ */
3477
+ export type DiscordRolePlanAllOfDiscordRole = DiscordRole | null;
3478
+
3479
+ /**
3480
+ * @nullable
3481
+ */
3482
+ export type DiscordRolePlanAllOfPlan = Plan | null;
3483
+
3484
+ export type DiscordRolePlanAllOf = {
3485
+ /** @nullable */
3486
+ DiscordRole?: DiscordRolePlanAllOfDiscordRole;
3487
+ /** @nullable */
3488
+ Plan?: DiscordRolePlanAllOfPlan;
3489
+ };
3490
+
3491
+ export type DiscordRolePlan = AbstractQcountBean & DiscordRolePlanAllOf;
3492
+
3493
+ export interface SlackChannelSetting {
3494
+ /** @nullable */
3495
+ Channel?: string | null;
3496
+ /** @nullable */
3497
+ ChannelId?: string | null;
3498
+ /** @nullable */
3499
+ Webhook?: string | null;
3500
+ /** @nullable */
3501
+ Notifications?: ActivityType[] | null;
3502
+ }
3503
+
3504
+ /**
3505
+ * `10` - Custom, `50` - Note, `51` - Email, `52` - PhoneCall, `53` - Meeting, `54` - Chat, `100` - AccountCreated, `101` - AccountUpdated, `102` - AccountAddPerson, `103` - AccountStageUpdated, `104` - AccountDeleted, `105` - AccountBillingInformationUpdated, `106` - AccountSubscriptionPlanUpdated, `107` - AccountSubscriptionPaymentCollected, `108` - AccountSubscriptionPaymentDeclined, `109` - AccountBillingInformationRequested, `110` - AccountBillingInvoiceEmailSent, `111` - AccountRemovePerson, `112` - AccountPaidSubscriptionCreated, `113` - AccountBillingInformationRemoved, `114` - AccountPrimaryPersonUpdated, `115` - AccountBillingInvoiceCreated, `116` - AccountSubscriptionStarted, `117` - AccountSubscriptionRenewalExtended, `118` - AccountSubscriptionAddOnsChanged, `119` - AccountSubscriptionCancellationRequested, `120` - AccountBillingInvoiceDeleted, `200` - PersonCreated, `201` - PersonUpdated, `202` - PersonDeleted, `203` - PersonLogin, `204` - PersonListSubscribed, `205` - PersonListUnsubscribed, `206` - PersonSegmentAdded, `207` - PersonSegmentRemoved, `208` - PersonEmailOpened, `209` - PersonEmailClicked, `210` - PersonEmailBounce, `211` - PersonEmailSpam, `212` - PersonSupportTicketCreated, `213` - PersonSupportTicketUpdated, `214` - PersonLeadFormSubmitted, `215` - PersonListConfirmed, `216` - PersonEmailSubscribed, `217` - PersonEmailUnsubscribed, `218` - PersonTemporaryPasswordSet, `219` - PersonSupportTicketClosed, `300` - DealCreated, `301` - DealUpdated, `302` - DealAddPerson, `303` - DealAddAccount, `304` - DealDeleted, `305` - DealDueDate, `306` - TaskCreated, `307` - TaskUpdated, `400` - PlanCreated, `401` - PlanUpdated, `402` - AddOnCreated, `403` - AddOnUpdated, `500` - DiscordUserLinked, `501` - DiscordUserAddedToServer, `502` - DiscordUserRolesUpdated, `503` - DiscordUserRemovedFromServer, `1000` - OutsetaSuspiciousBehavior
3506
+ */
3507
+ export type ActivityType = typeof ActivityType[keyof typeof ActivityType];
3508
+
3509
+
3510
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3511
+ export const ActivityType = {
3512
+ Custom: 10,
3513
+ Note: 50,
3514
+ Email: 51,
3515
+ PhoneCall: 52,
3516
+ Meeting: 53,
3517
+ Chat: 54,
3518
+ AccountCreated: 100,
3519
+ AccountUpdated: 101,
3520
+ AccountAddPerson: 102,
3521
+ AccountStageUpdated: 103,
3522
+ AccountDeleted: 104,
3523
+ AccountBillingInformationUpdated: 105,
3524
+ AccountSubscriptionPlanUpdated: 106,
3525
+ AccountSubscriptionPaymentCollected: 107,
3526
+ AccountSubscriptionPaymentDeclined: 108,
3527
+ AccountBillingInformationRequested: 109,
3528
+ AccountBillingInvoiceEmailSent: 110,
3529
+ AccountRemovePerson: 111,
3530
+ AccountPaidSubscriptionCreated: 112,
3531
+ AccountBillingInformationRemoved: 113,
3532
+ AccountPrimaryPersonUpdated: 114,
3533
+ AccountBillingInvoiceCreated: 115,
3534
+ AccountSubscriptionStarted: 116,
3535
+ AccountSubscriptionRenewalExtended: 117,
3536
+ AccountSubscriptionAddOnsChanged: 118,
3537
+ AccountSubscriptionCancellationRequested: 119,
3538
+ AccountBillingInvoiceDeleted: 120,
3539
+ PersonCreated: 200,
3540
+ PersonUpdated: 201,
3541
+ PersonDeleted: 202,
3542
+ PersonLogin: 203,
3543
+ PersonListSubscribed: 204,
3544
+ PersonListUnsubscribed: 205,
3545
+ PersonSegmentAdded: 206,
3546
+ PersonSegmentRemoved: 207,
3547
+ PersonEmailOpened: 208,
3548
+ PersonEmailClicked: 209,
3549
+ PersonEmailBounce: 210,
3550
+ PersonEmailSpam: 211,
3551
+ PersonSupportTicketCreated: 212,
3552
+ PersonSupportTicketUpdated: 213,
3553
+ PersonLeadFormSubmitted: 214,
3554
+ PersonListConfirmed: 215,
3555
+ PersonEmailSubscribed: 216,
3556
+ PersonEmailUnsubscribed: 217,
3557
+ PersonTemporaryPasswordSet: 218,
3558
+ PersonSupportTicketClosed: 219,
3559
+ DealCreated: 300,
3560
+ DealUpdated: 301,
3561
+ DealAddPerson: 302,
3562
+ DealAddAccount: 303,
3563
+ DealDeleted: 304,
3564
+ DealDueDate: 305,
3565
+ TaskCreated: 306,
3566
+ TaskUpdated: 307,
3567
+ PlanCreated: 400,
3568
+ PlanUpdated: 401,
3569
+ AddOnCreated: 402,
3570
+ AddOnUpdated: 403,
3571
+ DiscordUserLinked: 500,
3572
+ DiscordUserAddedToServer: 501,
3573
+ DiscordUserRolesUpdated: 502,
3574
+ DiscordUserRemovedFromServer: 503,
3575
+ OutsetaSuspiciousBehavior: 1000,
3576
+ } as const;
3577
+
3578
+ export type TemplateAllOf = {
3579
+ /**
3580
+ * @minLength 1
3581
+ * @maxLength 250
3582
+ */
3583
+ Name: string;
3584
+ /**
3585
+ * @maxLength 1000
3586
+ * @nullable
3587
+ */
3588
+ Subject?: string | null;
3589
+ /** @minLength 1 */
3590
+ Body: string;
3591
+ /** @nullable */
3592
+ Design?: string | null;
3593
+ /**
3594
+ * @maxLength 1000
3595
+ * @nullable
3596
+ */
3597
+ Description?: string | null;
3598
+ /**
3599
+ * @maxLength 50
3600
+ * @nullable
3601
+ */
3602
+ SystemName?: string | null;
3603
+ IsInternal?: boolean;
3604
+ /** @nullable */
3605
+ AvailableTokens?: string | null;
3606
+ /** @nullable */
3607
+ RequiredTokens?: string | null;
3608
+ /** @nullable */
3609
+ Tag?: string | null;
3610
+ };
3611
+
3612
+ export type Template = AbstractQcountBean & TemplateAllOf;
3613
+
3614
+ export type SendGridDomainAuthenticationAllOf = {
3615
+ /**
3616
+ * @minLength 1
3617
+ * @maxLength 250
3618
+ */
3619
+ DomainName: string;
3620
+ IsValid?: boolean;
3621
+ /** @nullable */
3622
+ LastValidationAttempt?: string | null;
3623
+ /** @nullable */
3624
+ DnsEntries?: DnsEntry[] | null;
3625
+ };
3626
+
3627
+ export type SendGridDomainAuthentication = AbstractQcountBean & SendGridDomainAuthenticationAllOf;
3628
+
3629
+ export interface DnsEntry {
3630
+ Valid?: boolean;
3631
+ /** @nullable */
3632
+ Type?: string | null;
3633
+ /** @nullable */
3634
+ Host?: string | null;
3635
+ /** @nullable */
3636
+ Data?: string | null;
3637
+ /** @nullable */
3638
+ Reason?: string | null;
3639
+ }
3640
+
3641
+ /**
3642
+ * @nullable
3643
+ */
3644
+ export type DripCampaignAllOfCampaign = Campaign | null;
3645
+
3646
+ export type DripCampaignAllOf = {
3647
+ IsActive?: boolean;
3648
+ /** @nullable */
3649
+ Campaign?: DripCampaignAllOfCampaign;
3650
+ TriggerId?: number;
3651
+ /** @nullable */
3652
+ TriggerStartValue?: string | null;
3653
+ /** @nullable */
3654
+ TriggerStopValue?: string | null;
3655
+ /** @nullable */
3656
+ DripCampaignMessages?: DripCampaignMessage[] | null;
3657
+ AllowRepeatProcessing?: boolean;
3658
+ StartDripToExistingMembers?: boolean;
3659
+ };
3660
+
3661
+ export type DripCampaign = AbstractQcountBean & DripCampaignAllOf;
3662
+
3663
+ export type CampaignAllOf = {
3664
+ /**
3665
+ * @minLength 1
3666
+ * @maxLength 250
3667
+ */
3668
+ Name: string;
3669
+ /**
3670
+ * @maxLength 250
3671
+ * @nullable
3672
+ */
3673
+ FromName?: string | null;
3674
+ /**
3675
+ * @maxLength 250
3676
+ * @nullable
3677
+ */
3678
+ FromEmail?: string | null;
3679
+ /**
3680
+ * @minimum 1
3681
+ * @maximum 2
3682
+ */
3683
+ CampaignType?: CampaignType;
3684
+ };
3685
+
3686
+ export type Campaign = AbstractQcountBean & CampaignAllOf;
3687
+
3688
+ /**
3689
+ * `1` - Broadcast, `2` - Drip
3690
+ */
3691
+ export type CampaignType = typeof CampaignType[keyof typeof CampaignType];
3692
+
3693
+
3694
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3695
+ export const CampaignType = {
3696
+ Broadcast: 1,
3697
+ Drip: 2,
3698
+ } as const;
3699
+
3700
+ /**
3701
+ * @nullable
3702
+ */
3703
+ export type DripCampaignMessageAllOfDripCampaign = DripCampaign | null;
3704
+
3705
+ /**
3706
+ * @nullable
3707
+ */
3708
+ export type DripCampaignMessageAllOfMessage = Message | null;
3709
+
3710
+ export type DripCampaignMessageAllOf = {
3711
+ /** @nullable */
3712
+ DripCampaign?: DripCampaignMessageAllOfDripCampaign;
3713
+ /** @nullable */
3714
+ Message?: DripCampaignMessageAllOfMessage;
3715
+ DelayFromPriorDay?: number;
3716
+ DelayInHours?: number;
3717
+ Weight?: number;
3718
+ };
3719
+
3720
+ export type DripCampaignMessage = AbstractQcountBean & DripCampaignMessageAllOf;
3721
+
3722
+ /**
3723
+ * @nullable
3724
+ */
3725
+ export type MessageAllOfTemplate = Template | null;
3726
+
3727
+ export type MessageAllOf = {
3728
+ /** @nullable */
3729
+ Template?: MessageAllOfTemplate;
3730
+ /**
3731
+ * @minLength 1
3732
+ * @maxLength 250
3733
+ */
3734
+ Name: string;
3735
+ /**
3736
+ * @maxLength 250
3737
+ * @nullable
3738
+ */
3739
+ Subject?: string | null;
3740
+ /** @nullable */
3741
+ Body?: string | null;
3742
+ /** @nullable */
3743
+ Design?: string | null;
3744
+ CountSent?: number;
3745
+ CountDelivered?: number;
3746
+ CountBounce?: number;
3747
+ CountSpam?: number;
3748
+ CountOpen?: number;
3749
+ CountClick?: number;
3750
+ CountUnsubscribed?: number;
3751
+ CountTotalOpen?: number;
3752
+ CountTotalClick?: number;
3753
+ IgnoredSpamBounce?: number;
3754
+ /** @nullable */
3755
+ EmailLinks?: EmailLink[] | null;
3756
+ SpamAssassinScore?: number;
3757
+ SpamStatus?: SpamStatus;
3758
+ };
3759
+
3760
+ export type Message = AbstractQcountBean & MessageAllOf;
3761
+
3762
+ export type EmailLinkAllOf = {
3763
+ /** @nullable */
3764
+ Name?: string | null;
3765
+ /** @nullable */
3766
+ URL?: string | null;
3767
+ CountClick?: number;
3768
+ CountTotalClick?: number;
3769
+ /** @nullable */
3770
+ RecipientIds?: number[] | null;
3771
+ };
3772
+
3773
+ export type EmailLink = AbstractQcountBean & EmailLinkAllOf;
3774
+
3775
+ /**
3776
+ * `0` - Draft, `1` - Pending, `2` - Processing, `3` - Reprocessing, `4` - Spam, `5` - NotSpam, `6` - Ignored
3777
+ */
3778
+ export type SpamStatus = typeof SpamStatus[keyof typeof SpamStatus];
3779
+
3780
+
3781
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3782
+ export const SpamStatus = {
3783
+ Draft: 0,
3784
+ Pending: 1,
3785
+ Processing: 2,
3786
+ Reprocessing: 3,
3787
+ Spam: 4,
3788
+ NotSpam: 5,
3789
+ Ignored: 6,
3790
+ } as const;
3791
+
3792
+ /**
3793
+ * @nullable
3794
+ */
3795
+ export type SendTestEmailRequestDripCampaign = DripCampaign | null;
3796
+
3797
+ export interface SendTestEmailRequest {
3798
+ /** @nullable */
3799
+ DripCampaign?: SendTestEmailRequestDripCampaign;
3800
+ /** @nullable */
3801
+ AdditionalRecipients?: string[] | null;
3802
+ }
3803
+
3804
+ /**
3805
+ * @nullable
3806
+ */
3807
+ export type QcountAllOfLogDatabase = Database | null;
3808
+
3809
+ export type QcountAllOf = {
3810
+ /**
3811
+ * @maxLength 100
3812
+ * @nullable
3813
+ */
3814
+ CompanyName?: string | null;
3815
+ /**
3816
+ * @maxLength 100
3817
+ * @nullable
3818
+ */
3819
+ CompanyWebsite?: string | null;
3820
+ /**
3821
+ * @minLength 1
3822
+ * @maxLength 100
3823
+ */
3824
+ DomainName: string;
3825
+ /**
3826
+ * @maxLength 100
3827
+ * @nullable
3828
+ */
3829
+ DomainNameCustomForKnowledgeBase?: string | null;
3830
+ /**
3831
+ * @maxLength 250
3832
+ * @nullable
3833
+ */
3834
+ AddressLine1?: string | null;
3835
+ /**
3836
+ * @maxLength 250
3837
+ * @nullable
3838
+ */
3839
+ AddressLine2?: string | null;
3840
+ /**
3841
+ * @maxLength 250
3842
+ * @nullable
3843
+ */
3844
+ AddressLine3?: string | null;
3845
+ /**
3846
+ * @maxLength 250
3847
+ * @nullable
3848
+ */
3849
+ City?: string | null;
3850
+ /**
3851
+ * @maxLength 250
3852
+ * @nullable
3853
+ */
3854
+ State?: string | null;
3855
+ /**
3856
+ * @maxLength 250
3857
+ * @nullable
3858
+ */
3859
+ PostalCode?: string | null;
3860
+ /**
3861
+ * @maxLength 250
3862
+ * @nullable
3863
+ */
3864
+ Country?: string | null;
3865
+ /**
3866
+ * @maxLength 250
3867
+ * @nullable
3868
+ */
3869
+ CompanyLogoS3Url?: string | null;
3870
+ /**
3871
+ * @maxLength 20
3872
+ * @nullable
3873
+ * @pattern ^#[a-fA-F0-9]{6}$
3874
+ */
3875
+ CssBgColor?: string | null;
3876
+ /**
3877
+ * @maxLength 20
3878
+ * @nullable
3879
+ * @pattern ^#[a-fA-F0-9]{6}$
3880
+ */
3881
+ CssColor?: string | null;
3882
+ /**
3883
+ * @maxLength 50
3884
+ * @nullable
3885
+ */
3886
+ AuthenticationAudience?: string | null;
3887
+ /** @nullable */
3888
+ AuthenticationCallbackUrl?: string | null;
3889
+ AccessTokenLifetimeMinutes?: number;
3890
+ /**
3891
+ * @maxLength 250
3892
+ * @nullable
3893
+ */
3894
+ AccountUid?: string | null;
3895
+ /**
3896
+ * @maxLength 250
3897
+ * @nullable
3898
+ */
3899
+ LocationId?: string | null;
3900
+ /**
3901
+ * @maxLength 250
3902
+ * @nullable
3903
+ */
3904
+ ForteJsAPILoginId?: string | null;
3905
+ /**
3906
+ * @maxLength 250
3907
+ * @nullable
3908
+ */
3909
+ StripeApplicationId?: string | null;
3910
+ /**
3911
+ * @maxLength 250
3912
+ * @nullable
3913
+ */
3914
+ StripePublishableKey?: string | null;
3915
+ /**
3916
+ * @maxLength 250
3917
+ * @nullable
3918
+ */
3919
+ StripeSecretKey?: string | null;
3920
+ /**
3921
+ * @maxLength 3
3922
+ * @nullable
3923
+ */
3924
+ StripeCurrencySymbol?: string | null;
3925
+ PaymentsGatewayActivationStatus?: PaymentsGatewayActivationStatus;
3926
+ /**
3927
+ * @maxLength 50
3928
+ * @nullable
3929
+ */
3930
+ RecaptchaSiteKey?: string | null;
3931
+ /**
3932
+ * @maxLength 50
3933
+ * @nullable
3934
+ */
3935
+ RecaptchaSecretKey?: string | null;
3936
+ /**
3937
+ * @maxLength 250
3938
+ * @nullable
3939
+ */
3940
+ RewardfulAPIKey?: string | null;
3941
+ Database: Database;
3942
+ /** @nullable */
3943
+ LogDatabase?: QcountAllOfLogDatabase;
3944
+ /** @nullable */
3945
+ DomainPrefix?: string | null;
3946
+ /** @nullable */
3947
+ CurrencySymbol?: string | null;
3948
+ /** @nullable */
3949
+ ColorDark?: string | null;
3950
+ /** @nullable */
3951
+ ColorLight?: string | null;
3952
+ IsLivemode?: boolean;
3953
+ PaymentsMode?: PaymentsMode;
3954
+ TaxEnabled?: boolean;
3955
+ };
3956
+
3957
+ export type Qcount = AbstractBean & QcountAllOf;
3958
+
3959
+ /**
3960
+ * `0` - Active, `1` - Inactive, `2` - MarkedForDeletion, `3` - Deleted
3961
+ */
3962
+ export type QcountStatus = typeof QcountStatus[keyof typeof QcountStatus];
3963
+
3964
+
3965
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3966
+ export const QcountStatus = {
3967
+ Active: 0,
3968
+ Inactive: 1,
3969
+ MarkedForDeletion: 2,
3970
+ Deleted: 3,
3971
+ } as const;
3972
+
3973
+ /**
3974
+ * `0` - Disabled, `1` - ForteEnabled, `2` - StripeEnabled
3975
+ */
3976
+ export type PaymentsGatewayActivationStatus = typeof PaymentsGatewayActivationStatus[keyof typeof PaymentsGatewayActivationStatus];
3977
+
3978
+
3979
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
3980
+ export const PaymentsGatewayActivationStatus = {
3981
+ Disabled: 0,
3982
+ ForteEnabled: 1,
3983
+ StripeEnabled: 2,
3984
+ } as const;
3985
+
3986
+ export type DatabaseAllOf = {
3987
+ /**
3988
+ * @maxLength 500
3989
+ * @nullable
3990
+ */
3991
+ ConnectionString?: string | null;
3992
+ /**
3993
+ * @maxLength 500
3994
+ * @nullable
3995
+ */
3996
+ ProxyConnectionString?: string | null;
3997
+ IsLive?: boolean;
3998
+ DatabaseType?: DatabaseType;
3999
+ };
4000
+
4001
+ export type Database = AbstractBean & DatabaseAllOf;
4002
+
4003
+ /**
4004
+ * `0` - Client, `1` - Log
4005
+ */
4006
+ export type DatabaseType = typeof DatabaseType[keyof typeof DatabaseType];
4007
+
4008
+
4009
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4010
+ export const DatabaseType = {
4011
+ Client: 0,
4012
+ Log: 1,
4013
+ } as const;
4014
+
4015
+ /**
4016
+ * @nullable
4017
+ */
4018
+ export type ApiKeyAllOfQcount = Qcount | null;
4019
+
4020
+ export type ApiKeyAllOf = {
4021
+ /**
4022
+ * @maxLength 50
4023
+ * @nullable
4024
+ */
4025
+ Name?: string | null;
4026
+ /**
4027
+ * @maxLength 40
4028
+ * @nullable
4029
+ */
4030
+ Key?: string | null;
4031
+ /**
4032
+ * @maxLength 255
4033
+ * @nullable
4034
+ */
4035
+ Secret?: string | null;
4036
+ /** @nullable */
4037
+ Qcount?: ApiKeyAllOfQcount;
4038
+ /** @nullable */
4039
+ InitialSecret?: string | null;
4040
+ ApiKeyType?: ApiKeyType;
4041
+ };
4042
+
4043
+ export type ApiKey = AbstractBean & ApiKeyAllOf;
4044
+
4045
+ /**
4046
+ * `0` - Admin, `1` - ReadOnly
4047
+ */
4048
+ export type ApiKeyType = typeof ApiKeyType[keyof typeof ApiKeyType];
4049
+
4050
+
4051
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4052
+ export const ApiKeyType = {
4053
+ Admin: 0,
4054
+ ReadOnly: 1,
4055
+ } as const;
4056
+
4057
+ /**
4058
+ * @nullable
4059
+ */
4060
+ export type JwtKeyAllOfQcount = Qcount | null;
4061
+
4062
+ export type JwtKeyAllOf = {
4063
+ Active?: boolean;
4064
+ /** @nullable */
4065
+ X509CertificatePublic?: string | null;
4066
+ /**
4067
+ * @maxLength 255
4068
+ * @nullable
4069
+ */
4070
+ Key?: string | null;
4071
+ /** @nullable */
4072
+ KeyInitial?: string | null;
4073
+ /** @nullable */
4074
+ KeyMasked?: string | null;
4075
+ /** @nullable */
4076
+ Qcount?: JwtKeyAllOfQcount;
4077
+ };
4078
+
4079
+ export type JwtKey = AbstractBean & JwtKeyAllOf;
4080
+
4081
+ /**
4082
+ * `0` - Manual, `1` - Automatic
4083
+ */
4084
+ export type PaymentsMode = typeof PaymentsMode[keyof typeof PaymentsMode];
4085
+
4086
+
4087
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4088
+ export const PaymentsMode = {
4089
+ Manual: 0,
4090
+ Automatic: 1,
4091
+ } as const;
4092
+
4093
+ /**
4094
+ * @nullable
4095
+ */
4096
+ export type BroadcastCampaignAllOfCampaign = Campaign | null;
4097
+
4098
+ /**
4099
+ * @nullable
4100
+ */
4101
+ export type BroadcastCampaignAllOfMessage = Message | null;
4102
+
4103
+ export type BroadcastCampaignAllOf = {
4104
+ /** @nullable */
4105
+ SendDateTime?: string | null;
4106
+ /** @nullable */
4107
+ NextRunDateTime?: string | null;
4108
+ /** @nullable */
4109
+ Campaign?: BroadcastCampaignAllOfCampaign;
4110
+ /** @nullable */
4111
+ Message?: BroadcastCampaignAllOfMessage;
4112
+ /** @nullable */
4113
+ RecipientData?: string | null;
4114
+ Status?: BroadcastCampaignStatus;
4115
+ /**
4116
+ * @maxLength 500
4117
+ * @nullable
4118
+ */
4119
+ ErrorMessage?: string | null;
4120
+ /** @nullable */
4121
+ Tags?: Tag[] | null;
4122
+ };
4123
+
4124
+ export type BroadcastCampaign = AbstractQcountBean & BroadcastCampaignAllOf;
4125
+
4126
+ /**
4127
+ * `1` - Draft, `2` - Pending, `3` - Sent, `4` - Queuing, `5` - Queued, `6` - Sending, `7` - Error, `8` - WaitingToResume, `9` - QueuedEmails
4128
+ */
4129
+ export type BroadcastCampaignStatus = typeof BroadcastCampaignStatus[keyof typeof BroadcastCampaignStatus];
4130
+
4131
+
4132
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4133
+ export const BroadcastCampaignStatus = {
4134
+ Draft: 1,
4135
+ Pending: 2,
4136
+ Sent: 3,
4137
+ Queuing: 4,
4138
+ Queued: 5,
4139
+ Sending: 6,
4140
+ Error: 7,
4141
+ WaitingToResume: 8,
4142
+ QueuedEmails: 9,
4143
+ } as const;
4144
+
4145
+ /**
4146
+ * @nullable
4147
+ */
4148
+ export type SendTestEmailRequest2BroadcastCampaign = BroadcastCampaign | null;
4149
+
4150
+ export interface SendTestEmailRequest2 {
4151
+ /** @nullable */
4152
+ BroadcastCampaign?: SendTestEmailRequest2BroadcastCampaign;
4153
+ /** @nullable */
4154
+ AdditionalRecipients?: string[] | null;
4155
+ }
4156
+
4157
+ /**
4158
+ * @nullable
4159
+ */
4160
+ export type FlatfileImportDataSchemalessData = {[key: string]: unknown} | null;
4161
+
4162
+ export interface FlatfileImportData {
4163
+ /** @nullable */
4164
+ SchemalessData?: FlatfileImportDataSchemalessData;
4165
+ JobId?: number;
4166
+ /** @nullable */
4167
+ SheetId?: string | null;
4168
+ TaskType?: BackGroundTaskType;
4169
+ [key: string]: unknown | null;
4170
+ }
4171
+
4172
+ /**
4173
+ * `1` - UpdateSegmentBackGroundTask, `2` - ImportPeopleTask, `3` - ImportAccountTask, `4` - ImportDealTask, `5` - ImportEmailList, `6` - RescheduleDripCampaignTask, `7` - DeleteSegmentPeopleTask, `8` - StartDripCampaignTask, `9` - WebflowSyncTask, `10` - UpdatePersonSegmentsTask, `11` - ImportDiscountCouponTask, `12` - RemoveDiscordUserFromAllServersTask, `13` - SendInvoiceEmailTask, `14` - UpdateDiscordUserRolesTask, `15` - StripeBillingSyncTask, `16` - UpdateStripeDefaultSourceTask, `17` - DeleteScheduledCampaignMessagesTask, `18` - SendSpamCheckEmailTask, `19` - UpdateDiscordMemberRolesTask
4174
+ */
4175
+ export type BackGroundTaskType = typeof BackGroundTaskType[keyof typeof BackGroundTaskType];
4176
+
4177
+
4178
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4179
+ export const BackGroundTaskType = {
4180
+ UpdateSegmentBackGroundTask: 1,
4181
+ ImportPeopleTask: 2,
4182
+ ImportAccountTask: 3,
4183
+ ImportDealTask: 4,
4184
+ ImportEmailList: 5,
4185
+ RescheduleDripCampaignTask: 6,
4186
+ DeleteSegmentPeopleTask: 7,
4187
+ StartDripCampaignTask: 8,
4188
+ WebflowSyncTask: 9,
4189
+ UpdatePersonSegmentsTask: 10,
4190
+ ImportDiscountCouponTask: 11,
4191
+ RemoveDiscordUserFromAllServersTask: 12,
4192
+ SendInvoiceEmailTask: 13,
4193
+ UpdateDiscordUserRolesTask: 14,
4194
+ StripeBillingSyncTask: 15,
4195
+ UpdateStripeDefaultSourceTask: 16,
4196
+ DeleteScheduledCampaignMessagesTask: 17,
4197
+ SendSpamCheckEmailTask: 18,
4198
+ UpdateDiscordMemberRolesTask: 19,
4199
+ } as const;
4200
+
4201
+ /**
4202
+ * @nullable
4203
+ */
4204
+ export type AccountCancelationAllOfAccount = Account | null;
4205
+
4206
+ /**
4207
+ * @nullable
4208
+ */
4209
+ export type AccountCancelationAllOfLastPlan = Plan | null;
4210
+
4211
+ export type AccountCancelationAllOf = {
4212
+ SubmittedDateTime?: string;
4213
+ /** @nullable */
4214
+ CancelationReason?: string | null;
4215
+ /** @nullable */
4216
+ Comment?: string | null;
4217
+ /** @nullable */
4218
+ Account?: AccountCancelationAllOfAccount;
4219
+ /** @nullable */
4220
+ LastPlan?: AccountCancelationAllOfLastPlan;
4221
+ /** @nullable */
4222
+ SubscribingStartDate?: string | null;
4223
+ };
4224
+
4225
+ export type AccountCancelation = AbstractQcountBean & AccountCancelationAllOf;
4226
+
4227
+ export interface PasswordChangeModel {
4228
+ /** @nullable */
4229
+ ExistingPassword?: string | null;
4230
+ /** @nullable */
4231
+ GoogleIdToken?: string | null;
4232
+ /** @nullable */
4233
+ NewPassword?: string | null;
4234
+ }
4235
+
4236
+ export type SegmentAllOf = {
4237
+ /**
4238
+ * @minLength 1
4239
+ * @maxLength 250
4240
+ */
4241
+ Name: string;
4242
+ /**
4243
+ * @maxLength 500
4244
+ * @nullable
4245
+ */
4246
+ Description?: string | null;
4247
+ ContainsAccountConditions: boolean;
4248
+ /** @nullable */
4249
+ CriteriaData?: string | null;
4250
+ /** @nullable */
4251
+ LastRefreshDateTime?: string | null;
4252
+ /** @nullable */
4253
+ People?: SegmentPerson[] | null;
4254
+ PendingProcessing?: boolean;
4255
+ PersonCount?: number;
4256
+ /** @nullable */
4257
+ Tags?: Tag[] | null;
4258
+ };
4259
+
4260
+ export type Segment = AbstractQcountBean & SegmentAllOf & Required<Pick<AbstractQcountBean & SegmentAllOf, 'ContainsDailyRepopulationConditions'>>;
4261
+
4262
+ /**
4263
+ * @nullable
4264
+ */
4265
+ export type SegmentPersonAllOfPerson = Person | null;
4266
+
4267
+ /**
4268
+ * @nullable
4269
+ */
4270
+ export type SegmentPersonAllOfSegment = Segment | null;
4271
+
4272
+ export type SegmentPersonAllOf = {
4273
+ /** @nullable */
4274
+ Person?: SegmentPersonAllOfPerson;
4275
+ /** @nullable */
4276
+ Segment?: SegmentPersonAllOfSegment;
4277
+ };
4278
+
4279
+ export type SegmentPerson = AbstractQcountBean & SegmentPersonAllOf;
4280
+
4281
+ /**
4282
+ * @nullable
4283
+ */
4284
+ export type CrmSettingsAllOfEmailList = EmailList | null;
4285
+
4286
+ export type CrmSettingsAllOf = {
4287
+ /** @deprecated */
4288
+ AccountRegistrationMode?: AccountRegistrationMode;
4289
+ AllowMultipleUserAccountsInTeamMode?: boolean;
4290
+ /**
4291
+ * @maxLength 1000
4292
+ * @nullable
4293
+ */
4294
+ CustomRegistrationUrl?: string | null;
4295
+ /**
4296
+ * @maxLength 1000
4297
+ * @nullable
4298
+ */
4299
+ CustomPostRegistrationUrl?: string | null;
4300
+ /** @nullable */
4301
+ EmailList?: CrmSettingsAllOfEmailList;
4302
+ /**
4303
+ * @maxLength 100
4304
+ * @nullable
4305
+ */
4306
+ ProfileTabs?: string | null;
4307
+ /** @nullable */
4308
+ ProfileAccountFieldGroupConfiguration?: string | null;
4309
+ /** @nullable */
4310
+ ProfileProfileFieldGroupConfiguration?: string | null;
4311
+ /**
4312
+ * @maxLength 1000
4313
+ * @nullable
4314
+ */
4315
+ RegistrationCallbackUrl?: string | null;
4316
+ /**
4317
+ * @maxLength 1000
4318
+ * @nullable
4319
+ */
4320
+ RegistrationConfirmationUrl?: string | null;
4321
+ RegistrationFields?: RegistrationField;
4322
+ /** @nullable */
4323
+ RegistrationFieldConfiguration?: string | null;
4324
+ RequireAcceptTermsAndConditions?: boolean;
4325
+ RequireAcceptTermsAndConditionsLocations?: AcceptTermsAndConditionsLocations;
4326
+ /** @nullable */
4327
+ RequireAcceptTermsAndConditionsHtml?: string | null;
4328
+ RequirePaymentInformation?: boolean;
4329
+ RequireCaptcha?: boolean;
4330
+ DoNotSendPasswordVerificationEmail?: boolean;
4331
+ /**
4332
+ * @maxLength 100
4333
+ * @nullable
4334
+ */
4335
+ GoogleOAuthClientId?: string | null;
4336
+ /** @nullable */
4337
+ CssWidgetStandard?: string | null;
4338
+ /** @nullable */
4339
+ CssWidgetCustom?: string | null;
4340
+ /** @nullable */
4341
+ SummaryDisplayFieldConfiguration?: string | null;
4342
+ RegistrationConfirmationEmailDelaySeconds?: number;
4343
+ };
4344
+
4345
+ export type CrmSettings = AbstractQcountBean & CrmSettingsAllOf;
4346
+
4347
+ /**
4348
+ * `1` - PersonFirstName, `2` - PersonLastName, `4` - AccountName, `8` - AccountMailingAddress, `16` - AccountBillingAddress, `32` - PersonMailingAddress
4349
+ */
4350
+ export type RegistrationField = typeof RegistrationField[keyof typeof RegistrationField];
4351
+
4352
+
4353
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4354
+ export const RegistrationField = {
4355
+ PersonFirstName: 1,
4356
+ PersonLastName: 2,
4357
+ AccountName: 4,
4358
+ AccountMailingAddress: 8,
4359
+ AccountBillingAddress: 16,
4360
+ PersonMailingAddress: 32,
4361
+ } as const;
4362
+
4363
+ /**
4364
+ * `1` - Registration, `2` - UpdatePaymentInformation
4365
+ */
4366
+ export type AcceptTermsAndConditionsLocations = typeof AcceptTermsAndConditionsLocations[keyof typeof AcceptTermsAndConditionsLocations];
4367
+
4368
+
4369
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4370
+ export const AcceptTermsAndConditionsLocations = {
4371
+ Registration: 1,
4372
+ UpdatePaymentInformation: 2,
4373
+ } as const;
4374
+
4375
+ /**
4376
+ * @nullable
4377
+ */
4378
+ export type TaskAllOfType = TaskType | null;
4379
+
4380
+ /**
4381
+ * @nullable
4382
+ */
4383
+ export type TaskAllOfAssignee = Person | null;
4384
+
4385
+ /**
4386
+ * @nullable
4387
+ */
4388
+ export type TaskAllOfDeal = Deal | null;
4389
+
4390
+ /**
4391
+ * @nullable
4392
+ */
4393
+ export type TaskAllOfPerson = Person | null;
4394
+
4395
+ /**
4396
+ * @nullable
4397
+ */
4398
+ export type TaskAllOfAccount = Account | null;
4399
+
4400
+ export type TaskAllOf = {
4401
+ /**
4402
+ * @maxLength 250
4403
+ * @nullable
4404
+ */
4405
+ Title?: string | null;
4406
+ /** @nullable */
4407
+ Type?: TaskAllOfType;
4408
+ /** @nullable */
4409
+ Assignee?: TaskAllOfAssignee;
4410
+ /** @nullable */
4411
+ DueDate?: string | null;
4412
+ /** @nullable */
4413
+ Deal?: TaskAllOfDeal;
4414
+ /** @nullable */
4415
+ Person?: TaskAllOfPerson;
4416
+ /** @nullable */
4417
+ Account?: TaskAllOfAccount;
4418
+ /**
4419
+ * @maxLength 5000
4420
+ * @nullable
4421
+ */
4422
+ Notes?: string | null;
4423
+ Status?: TaskStatus;
4424
+ CreatedDateTime?: string;
4425
+ /** @nullable */
4426
+ CompletedDateTime?: string | null;
4427
+ };
4428
+
4429
+ export type Task = AbstractQcountBean & TaskAllOf;
4430
+
4431
+ export type TaskTypeAllOf = {
4432
+ /**
4433
+ * @maxLength 250
4434
+ * @nullable
4435
+ */
4436
+ Name?: string | null;
4437
+ /** @nullable */
4438
+ DisplayOrder?: number | null;
4439
+ };
4440
+
4441
+ export type TaskType = AbstractQcountBean & TaskTypeAllOf;
4442
+
4443
+ /**
4444
+ * `1` - Pending, `2` - InProgress, `3` - Done
4445
+ */
4446
+ export type TaskStatus = typeof TaskStatus[keyof typeof TaskStatus];
4447
+
4448
+
4449
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4450
+ export const TaskStatus = {
4451
+ Pending: 1,
4452
+ InProgress: 2,
4453
+ Done: 3,
4454
+ } as const;
4455
+
4456
+ export interface ExtendTrialParams {
4457
+ ToDate?: string;
4458
+ /** @nullable */
4459
+ ExpirationDate?: string | null;
4460
+ }
4461
+
4462
+ export interface ExtendRenewalParams {
4463
+ /** @nullable */
4464
+ ToDate?: string | null;
4465
+ /** @nullable */
4466
+ ExpirationDate?: string | null;
4467
+ }
4468
+
4469
+ export interface TemporaryPasswordModel {
4470
+ /** @nullable */
4471
+ temporaryPassword?: string | null;
4472
+ }
4473
+
4474
+ export interface StripeCheckoutParams {
4475
+ /** @nullable */
4476
+ PriceIds?: string[] | null;
4477
+ }
4478
+
4479
+ export interface StripeBillingSyncParams {
4480
+ /** @nullable */
4481
+ StripeCustomerId?: string | null;
4482
+ }
4483
+
4484
+ /**
4485
+ * @nullable
4486
+ */
4487
+ export type SessionFlowDataOptionsAfterCompletion = SessionFlowDataAfterCompletionOptions | null;
4488
+
4489
+ /**
4490
+ * @nullable
4491
+ */
4492
+ export type SessionFlowDataOptionsSubscriptionCancel = SessionFlowDataSubscriptionCancelOptions | null;
4493
+
4494
+ /**
4495
+ * @nullable
4496
+ */
4497
+ export type SessionFlowDataOptionsSubscriptionUpdate = SessionFlowDataSubscriptionUpdateOptions | null;
4498
+
4499
+ /**
4500
+ * @nullable
4501
+ */
4502
+ export type SessionFlowDataOptionsSubscriptionUpdateConfirm = SessionFlowDataSubscriptionUpdateConfirmOptions | null;
4503
+
4504
+ export interface SessionFlowDataOptions {
4505
+ /** @nullable */
4506
+ AfterCompletion?: SessionFlowDataOptionsAfterCompletion;
4507
+ /** @nullable */
4508
+ SubscriptionCancel?: SessionFlowDataOptionsSubscriptionCancel;
4509
+ /** @nullable */
4510
+ SubscriptionUpdate?: SessionFlowDataOptionsSubscriptionUpdate;
4511
+ /** @nullable */
4512
+ SubscriptionUpdateConfirm?: SessionFlowDataOptionsSubscriptionUpdateConfirm;
4513
+ /** @nullable */
4514
+ Type?: string | null;
4515
+ }
4516
+
4517
+ /**
4518
+ * @nullable
4519
+ */
4520
+ export type SessionFlowDataAfterCompletionOptionsHostedConfirmation = SessionFlowDataAfterCompletionHostedConfirmationOptions | null;
4521
+
4522
+ /**
4523
+ * @nullable
4524
+ */
4525
+ export type SessionFlowDataAfterCompletionOptionsRedirect = SessionFlowDataAfterCompletionRedirectOptions | null;
4526
+
4527
+ export interface SessionFlowDataAfterCompletionOptions {
4528
+ /** @nullable */
4529
+ HostedConfirmation?: SessionFlowDataAfterCompletionOptionsHostedConfirmation;
4530
+ /** @nullable */
4531
+ Redirect?: SessionFlowDataAfterCompletionOptionsRedirect;
4532
+ /** @nullable */
4533
+ Type?: string | null;
4534
+ }
4535
+
4536
+ export interface SessionFlowDataAfterCompletionHostedConfirmationOptions {
4537
+ /** @nullable */
4538
+ CustomMessage?: string | null;
4539
+ }
4540
+
4541
+ export interface SessionFlowDataAfterCompletionRedirectOptions {
4542
+ /** @nullable */
4543
+ ReturnUrl?: string | null;
4544
+ }
4545
+
4546
+ /**
4547
+ * @nullable
4548
+ */
4549
+ export type SessionFlowDataSubscriptionCancelOptionsRetention = SessionFlowDataSubscriptionCancelRetentionOptions | null;
4550
+
4551
+ export interface SessionFlowDataSubscriptionCancelOptions {
4552
+ /** @nullable */
4553
+ Retention?: SessionFlowDataSubscriptionCancelOptionsRetention;
4554
+ /** @nullable */
4555
+ Subscription?: string | null;
4556
+ }
4557
+
4558
+ /**
4559
+ * @nullable
4560
+ */
4561
+ export type SessionFlowDataSubscriptionCancelRetentionOptionsCouponOffer = SessionFlowDataSubscriptionCancelRetentionCouponOfferOptions | null;
4562
+
4563
+ export interface SessionFlowDataSubscriptionCancelRetentionOptions {
4564
+ /** @nullable */
4565
+ CouponOffer?: SessionFlowDataSubscriptionCancelRetentionOptionsCouponOffer;
4566
+ /** @nullable */
4567
+ Type?: string | null;
4568
+ }
4569
+
4570
+ export interface SessionFlowDataSubscriptionCancelRetentionCouponOfferOptions {
4571
+ /** @nullable */
4572
+ Coupon?: string | null;
4573
+ }
4574
+
4575
+ export interface SessionFlowDataSubscriptionUpdateOptions {
4576
+ /** @nullable */
4577
+ Subscription?: string | null;
4578
+ }
4579
+
4580
+ export interface SessionFlowDataSubscriptionUpdateConfirmOptions {
4581
+ /** @nullable */
4582
+ Discounts?: SessionFlowDataSubscriptionUpdateConfirmDiscountOptions[] | null;
4583
+ /** @nullable */
4584
+ Items?: SessionFlowDataSubscriptionUpdateConfirmItemOptions[] | null;
4585
+ /** @nullable */
4586
+ Subscription?: string | null;
4587
+ }
4588
+
4589
+ export interface SessionFlowDataSubscriptionUpdateConfirmDiscountOptions {
4590
+ /** @nullable */
4591
+ Coupon?: string | null;
4592
+ /** @nullable */
4593
+ PromotionCode?: string | null;
4594
+ }
4595
+
4596
+ export interface SessionFlowDataSubscriptionUpdateConfirmItemOptions {
4597
+ /** @nullable */
4598
+ Id?: string | null;
4599
+ /** @nullable */
4600
+ Price?: string | null;
4601
+ /** @nullable */
4602
+ Quantity?: number | null;
4603
+ }
4604
+
4605
+ export interface InvoiceStatusChangeOptions {
4606
+ /** @nullable */
4607
+ NewStatus?: string | null;
4608
+ }
4609
+
4610
+ export interface InvoiceCreditOptions {
4611
+ CreditAmount?: number;
4612
+ /** @nullable */
4613
+ CreditReason?: string | null;
4614
+ /** @nullable */
4615
+ CreditType?: string | null;
4616
+ }
4617
+
4618
+ export interface PauseCollectionOptions {
4619
+ /** @nullable */
4620
+ Behavior?: string | null;
4621
+ /** @nullable */
4622
+ ResumesAt?: string | null;
4623
+ }
4624
+
4625
+ export type BillSettingsAllOf = {
4626
+ DaysPastDueToSetAccountToCanceling?: number;
4627
+ IsInvoicePaymentEmailDisabled: boolean;
4628
+ PaymentsMode?: PaymentsMode;
4629
+ BillingSystem?: BillingSystem;
4630
+ RestrictSubscriptionActions?: boolean;
4631
+ /** @nullable */
4632
+ StripeTaxCode?: string | null;
4633
+ StripeTaxEnabled?: boolean;
4634
+ /** @nullable */
4635
+ StripeTaxTaxIdTypes?: string | null;
4636
+ };
4637
+
4638
+ export type BillSettings = AbstractQcountBean & BillSettingsAllOf;
4639
+
4640
+ /**
4641
+ * @nullable
4642
+ */
4643
+ export type UsageAllOfInvoice = Invoice | null;
4644
+
4645
+ export type UsageAllOf = {
4646
+ /** @minLength 1 */
4647
+ UsageDate: string;
4648
+ /** @nullable */
4649
+ Invoice?: UsageAllOfInvoice;
4650
+ SubscriptionAddOn: SubscriptionAddOn;
4651
+ Amount: number;
4652
+ /**
4653
+ * @maxLength 1024
4654
+ * @nullable
4655
+ */
4656
+ AdditionalUsageData?: string | null;
4657
+ };
4658
+
4659
+ export type Usage = AbstractQcountBean & UsageAllOf;
4660
+
4661
+ export type TaxRateAllOf = {
4662
+ /**
4663
+ * @maxLength 250
4664
+ * @nullable
4665
+ */
4666
+ Country?: string | null;
4667
+ /**
4668
+ * @maxLength 250
4669
+ * @nullable
4670
+ */
4671
+ State?: string | null;
4672
+ /**
4673
+ * @minimum 0.001
4674
+ * @maximum 0.99
4675
+ */
4676
+ Rate?: number;
4677
+ };
4678
+
4679
+ export type TaxRate = AbstractQcountBean & TaxRateAllOf;
4680
+
4681
+ /**
4682
+ * @nullable
4683
+ */
4684
+ export type TransactionAllOfAccount = Account | null;
4685
+
4686
+ /**
4687
+ * @nullable
4688
+ */
4689
+ export type TransactionAllOfInvoice = Invoice | null;
4690
+
4691
+ export type TransactionAllOf = {
4692
+ TransactionDate?: string;
4693
+ BillingTransactionType?: BillingTransactionType;
4694
+ /** @nullable */
4695
+ Account?: TransactionAllOfAccount;
4696
+ /** @nullable */
4697
+ Invoice?: TransactionAllOfInvoice;
4698
+ Amount?: number;
4699
+ IsCaptured?: boolean;
4700
+ IsElectronicTransaction?: boolean;
4701
+ };
4702
+
4703
+ export type Transaction = AbstractQcountBean & TransactionAllOf;
4704
+
4705
+ /**
4706
+ * `1` - Invoice, `2` - Payment, `3` - Credit, `4` - Refund, `5` - Chargeback, `6` - TaxRefund
4707
+ */
4708
+ export type BillingTransactionType = typeof BillingTransactionType[keyof typeof BillingTransactionType];
4709
+
4710
+
4711
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
4712
+ export const BillingTransactionType = {
4713
+ Invoice: 1,
4714
+ Payment: 2,
4715
+ Credit: 3,
4716
+ Refund: 4,
4717
+ Chargeback: 5,
4718
+ TaxRefund: 6,
4719
+ } as const;
4720
+
4721
+ /**
4722
+ * @nullable
4723
+ */
4724
+ export type SetupIntentBillingAddress = Address | null;
4725
+
4726
+ export interface SetupIntent {
4727
+ /** @nullable */
4728
+ AddOnUid?: string | null;
4729
+ /** @nullable */
4730
+ BillingAddress?: SetupIntentBillingAddress;
4731
+ CheckoutAmount?: number;
4732
+ /** @nullable */
4733
+ ClientSecret?: string | null;
4734
+ /** @nullable */
4735
+ CompanyName?: string | null;
4736
+ /** @nullable */
4737
+ CustomerToken?: string | null;
4738
+ /** @nullable */
4739
+ Email?: string | null;
4740
+ /** @nullable */
4741
+ FirstName?: string | null;
4742
+ /** @nullable */
4743
+ InvoiceUid?: string | null;
4744
+ IsSetupIntent?: boolean;
4745
+ IsPaymentAuthentication?: boolean;
4746
+ /** @nullable */
4747
+ LastName?: string | null;
4748
+ OutstandingAmount?: number;
4749
+ /** @nullable */
4750
+ PaymentToken?: string | null;
4751
+ /** @nullable */
4752
+ PlanUid?: string | null;
4753
+ }
4754
+
4755
+ /**
4756
+ * @nullable
4757
+ */
4758
+ export type ActivityCRMDealTriggerAllOfDealPipelineStage = DealPipelineStage | null;
4759
+
4760
+ export type ActivityCRMDealTriggerAllOf = {
4761
+ ActivityType?: ActivityType;
4762
+ /** @nullable */
4763
+ DealPipelineStage?: ActivityCRMDealTriggerAllOfDealPipelineStage;
4764
+ };
4765
+
4766
+ export type ActivityCRMDealTrigger = AbstractQcountBean & ActivityCRMDealTriggerAllOf;
4767
+
4768
+ export type ActivityNotificationAllOf = {
4769
+ ActivityType?: ActivityType;
4770
+ /** @nullable */
4771
+ NotificationEmail?: string | null;
4772
+ /** @nullable */
4773
+ CallbackURL?: string | null;
4774
+ /**
4775
+ * @maxLength 512
4776
+ * @nullable
4777
+ */
4778
+ SlackWebhookURL?: string | null;
4779
+ CallbackErrorCount?: number;
4780
+ /**
4781
+ * @maxLength 512
4782
+ * @nullable
4783
+ */
4784
+ CallbackErrorDescription?: string | null;
4785
+ };
4786
+
4787
+ export type ActivityNotification = AbstractQcountBean & ActivityNotificationAllOf;
4788
+
4789
+ /**
4790
+ * @nullable
4791
+ */
4792
+ export type ActivityCriteriaActivityType = ActivityType | null;
4793
+
4794
+ export interface ActivityCriteria {
4795
+ /** @nullable */
4796
+ EntityType?: string | null;
4797
+ /** @nullable */
4798
+ EntityUid?: string | null;
4799
+ /** @nullable */
4800
+ ActivityType?: ActivityCriteriaActivityType;
4801
+ /** @nullable */
4802
+ ActivityTypes?: string[] | null;
4803
+ }
4804
+
4805
+ export type ActivityAllOf = {
4806
+ /**
4807
+ * @maxLength 250
4808
+ * @nullable
4809
+ */
4810
+ Title?: string | null;
4811
+ /** @nullable */
4812
+ Description?: string | null;
4813
+ /** @nullable */
4814
+ ActivityData?: string | null;
4815
+ ActivityDateTime?: string;
4816
+ ActivityType?: ActivityType;
4817
+ EntityType?: EntityType;
4818
+ /** @nullable */
4819
+ EntityUid?: string | null;
4820
+ };
4821
+
4822
+ export type Activity = AbstractQcountBean & ActivityAllOf;
4823
+
4824
+ export type CaseGetAllCasesParams = {
4825
+ /**
4826
+ * Search string
4827
+ * @nullable
4828
+ */
4829
+ q?: string | null;
4830
+ /**
4831
+ * Uid of tag that is on the case
4832
+ * @nullable
4833
+ */
4834
+ tagUid?: string | null;
4835
+ };
4836
+
4837
+ export type AccountGetAllAccountsParams = {
4838
+ /**
4839
+ * Accounts are filtered based on whether they are associated with the segment
4840
+ * @nullable
4841
+ */
4842
+ segmentUid?: string | null;
4843
+ /**
4844
+ * Partial match on account name or exact account Uid
4845
+ * @nullable
4846
+ */
4847
+ q?: string | null;
4848
+ };
4849
+
4850
+ export type AccountAddAccountParams = {
4851
+ isImported?: boolean;
4852
+ };
4853
+
4854
+ /**
4855
+ * @nullable
4856
+ */
4857
+ export type AccountAddAccountBody = Account | null;
4858
+