@openmeter/sdk 1.0.0-beta.204 → 1.0.0-beta.206

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.
@@ -1,4 +1,114 @@
1
1
  export interface paths {
2
+ '/api/v1/addons': {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ /**
10
+ * List add-ons
11
+ * @description List all add-ons.
12
+ */
13
+ get: operations['listAddons'];
14
+ put?: never;
15
+ /**
16
+ * Create an add-on
17
+ * @description Create a new add-on.
18
+ */
19
+ post: operations['createAddon'];
20
+ delete?: never;
21
+ options?: never;
22
+ head?: never;
23
+ patch?: never;
24
+ trace?: never;
25
+ };
26
+ '/api/v1/addons/{addonIdOrKey}': {
27
+ parameters: {
28
+ query?: never;
29
+ header?: never;
30
+ path?: never;
31
+ cookie?: never;
32
+ };
33
+ /**
34
+ * Get add-on
35
+ * @description Get add-on by id or key. The latest published version is returned if latter is used.
36
+ */
37
+ get: operations['getAddon'];
38
+ put?: never;
39
+ post?: never;
40
+ delete?: never;
41
+ options?: never;
42
+ head?: never;
43
+ patch?: never;
44
+ trace?: never;
45
+ };
46
+ '/api/v1/addons/{addonId}': {
47
+ parameters: {
48
+ query?: never;
49
+ header?: never;
50
+ path?: never;
51
+ cookie?: never;
52
+ };
53
+ get?: never;
54
+ /**
55
+ * Update add-on
56
+ * @description Update add-on by id.
57
+ */
58
+ put: operations['updateAddon'];
59
+ post?: never;
60
+ /**
61
+ * Delete add-on
62
+ * @description Soft delete add-on by id.
63
+ *
64
+ * Once a add-on is deleted it cannot be undeleted.
65
+ */
66
+ delete: operations['deleteAddon'];
67
+ options?: never;
68
+ head?: never;
69
+ patch?: never;
70
+ trace?: never;
71
+ };
72
+ '/api/v1/addons/{addonId}/archive': {
73
+ parameters: {
74
+ query?: never;
75
+ header?: never;
76
+ path?: never;
77
+ cookie?: never;
78
+ };
79
+ get?: never;
80
+ put?: never;
81
+ /**
82
+ * Archive add-on version
83
+ * @description Archive a add-on version.
84
+ */
85
+ post: operations['archiveAddon'];
86
+ delete?: never;
87
+ options?: never;
88
+ head?: never;
89
+ patch?: never;
90
+ trace?: never;
91
+ };
92
+ '/api/v1/addons/{addonId}/publish': {
93
+ parameters: {
94
+ query?: never;
95
+ header?: never;
96
+ path?: never;
97
+ cookie?: never;
98
+ };
99
+ get?: never;
100
+ put?: never;
101
+ /**
102
+ * Publish add-on
103
+ * @description Publish a add-on version.
104
+ */
105
+ post: operations['publishAddon'];
106
+ delete?: never;
107
+ options?: never;
108
+ head?: never;
109
+ patch?: never;
110
+ trace?: never;
111
+ };
2
112
  '/api/v1/apps': {
3
113
  parameters: {
4
114
  query?: never;
@@ -463,7 +573,55 @@ export interface paths {
463
573
  patch?: never;
464
574
  trace?: never;
465
575
  };
466
- '/api/v1/customers/{customerId}/apps': {
576
+ '/api/v1/customers/{customerIdOrKey}': {
577
+ parameters: {
578
+ query?: never;
579
+ header?: never;
580
+ path?: never;
581
+ cookie?: never;
582
+ };
583
+ /**
584
+ * Get customer
585
+ * @description Get a customer by ID or key.
586
+ */
587
+ get: operations['getCustomer'];
588
+ /**
589
+ * Update customer
590
+ * @description Update a customer by ID.
591
+ */
592
+ put: operations['updateCustomer'];
593
+ post?: never;
594
+ /**
595
+ * Delete customer
596
+ * @description Delete a customer by ID.
597
+ */
598
+ delete: operations['deleteCustomer'];
599
+ options?: never;
600
+ head?: never;
601
+ patch?: never;
602
+ trace?: never;
603
+ };
604
+ '/api/v1/customers/{customerIdOrKey}/access': {
605
+ parameters: {
606
+ query?: never;
607
+ header?: never;
608
+ path?: never;
609
+ cookie?: never;
610
+ };
611
+ /**
612
+ * Get customer access
613
+ * @description Get the overall access of a customer.
614
+ */
615
+ get: operations['getCustomerAccess'];
616
+ put?: never;
617
+ post?: never;
618
+ delete?: never;
619
+ options?: never;
620
+ head?: never;
621
+ patch?: never;
622
+ trace?: never;
623
+ };
624
+ '/api/v1/customers/{customerIdOrKey}/apps': {
467
625
  parameters: {
468
626
  query?: never;
469
627
  header?: never;
@@ -487,7 +645,7 @@ export interface paths {
487
645
  patch?: never;
488
646
  trace?: never;
489
647
  };
490
- '/api/v1/customers/{customerId}/apps/{appId}': {
648
+ '/api/v1/customers/{customerIdOrKey}/apps/{appId}': {
491
649
  parameters: {
492
650
  query?: never;
493
651
  header?: never;
@@ -507,7 +665,7 @@ export interface paths {
507
665
  patch?: never;
508
666
  trace?: never;
509
667
  };
510
- '/api/v1/customers/{customerId}/entitlements/{featureKey}/value': {
668
+ '/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/value': {
511
669
  parameters: {
512
670
  query?: never;
513
671
  header?: never;
@@ -527,7 +685,7 @@ export interface paths {
527
685
  patch?: never;
528
686
  trace?: never;
529
687
  };
530
- '/api/v1/customers/{customerId}/subscriptions': {
688
+ '/api/v1/customers/{customerIdOrKey}/subscriptions': {
531
689
  parameters: {
532
690
  query?: never;
533
691
  header?: never;
@@ -547,34 +705,6 @@ export interface paths {
547
705
  patch?: never;
548
706
  trace?: never;
549
707
  };
550
- '/api/v1/customers/{id}': {
551
- parameters: {
552
- query?: never;
553
- header?: never;
554
- path?: never;
555
- cookie?: never;
556
- };
557
- /**
558
- * Get customer
559
- * @description Get a customer by ID.
560
- */
561
- get: operations['getCustomer'];
562
- /**
563
- * Update customer
564
- * @description Update a customer by ID.
565
- */
566
- put: operations['updateCustomer'];
567
- post?: never;
568
- /**
569
- * Delete customer
570
- * @description Delete a customer by ID.
571
- */
572
- delete: operations['deleteCustomer'];
573
- options?: never;
574
- head?: never;
575
- patch?: never;
576
- trace?: never;
577
- };
578
708
  '/api/v1/debug/metrics': {
579
709
  parameters: {
580
710
  query?: never;
@@ -964,8 +1094,8 @@ export interface paths {
964
1094
  cookie?: never;
965
1095
  };
966
1096
  /**
967
- * Query meter Query meter
968
- * @description Query meter for usage. Query meter for usage.
1097
+ * Query meter
1098
+ * @description Query meter for usage.
969
1099
  */
970
1100
  get: operations['queryMeter'];
971
1101
  put?: never;
@@ -1219,6 +1349,7 @@ export interface paths {
1219
1349
  put?: never;
1220
1350
  /**
1221
1351
  * New draft plan
1352
+ * @deprecated
1222
1353
  * @description Create a new draft version from plan.
1223
1354
  * It returns error if there is already a plan in draft or planId does not reference the latest published version.
1224
1355
  */
@@ -1643,7 +1774,11 @@ export interface paths {
1643
1774
  get: operations['getSubscription'];
1644
1775
  put?: never;
1645
1776
  post?: never;
1646
- delete?: never;
1777
+ /**
1778
+ * Delete subscription
1779
+ * @description Deletes a subscription. Only scheduled subscriptions can be deleted.
1780
+ */
1781
+ delete: operations['deleteSubscription'];
1647
1782
  options?: never;
1648
1783
  head?: never;
1649
1784
  /**
@@ -1783,43 +1918,14 @@ export interface paths {
1783
1918
  export type webhooks = Record<string, never>;
1784
1919
  export interface components {
1785
1920
  schemas: {
1786
- /** @description Address */
1787
- Address: {
1788
- /** @description Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format. */
1789
- country?: components['schemas']['CountryCode'];
1790
- /** @description Postal code. */
1791
- postalCode?: string;
1792
- /** @description State or province. */
1793
- state?: string;
1794
- /** @description City. */
1795
- city?: string;
1796
- /** @description First line of the address. */
1797
- line1?: string;
1798
- /** @description Second line of the address. */
1799
- line2?: string;
1800
- /** @description Phone number. */
1801
- phoneNumber?: string;
1802
- };
1803
- /** @description Alignment configuration for a plan or subscription. */
1804
- Alignment: {
1805
- /** @description Whether all Billable items and RateCards must align.
1806
- * Alignment means the Price's BillingCadence must align for both duration and anchor time. */
1807
- billablesMustAlign?: boolean;
1808
- };
1809
- /**
1810
- * @description Set of key-value pairs managed by the system. Cannot be modified by user.
1811
- * @example {
1812
- * "externalId": "019142cc-a016-796a-8113-1a942fecd26d"
1813
- * }
1814
- */
1815
- Annotations: {
1816
- [key: string]: unknown;
1817
- };
1818
- /** @description App.
1819
- * One of: stripe */
1820
- App: components['schemas']['StripeApp'] | components['schemas']['SandboxApp'];
1821
- /** @description Resource update operation model. */
1822
- AppBaseReplaceUpdate: {
1921
+ /** @description Add-on allows extending subscriptions with compatible plans with additional ratecards. */
1922
+ Addon: {
1923
+ /**
1924
+ * ID
1925
+ * @description A unique identifier for the resource.
1926
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
1927
+ */
1928
+ readonly id: string;
1823
1929
  /**
1824
1930
  * Display name
1825
1931
  * @description Human-readable name for the resource. Between 1 and 256 characters.
@@ -1835,181 +1941,85 @@ export interface components {
1835
1941
  * @description Additional metadata for the resource.
1836
1942
  */
1837
1943
  metadata?: components['schemas']['Metadata'] | null;
1838
- /** @description Default for the app type
1839
- * Only one app of each type can be default. */
1840
- default: boolean;
1841
- };
1842
- /**
1843
- * @description App capability.
1844
- *
1845
- * Capabilities only exist in config so they don't extend the Resource model.
1846
- * @example {
1847
- * "type": "collectPayments",
1848
- * "key": "stripe_collect_payment",
1849
- * "name": "Collect Payments",
1850
- * "description": "Stripe payments collects outstanding revenue with Stripe customer's default payment method."
1851
- * }
1852
- */
1853
- AppCapability: {
1854
- /** @description The capability type. */
1855
- type: components['schemas']['AppCapabilityType'];
1856
- /** @description Key */
1857
- key: string;
1858
- /** @description The capability name. */
1859
- name: string;
1860
- /** @description The capability description. */
1861
- description: string;
1862
- };
1863
- /**
1864
- * @description App capability type.
1865
- * @enum {string}
1866
- */
1867
- AppCapabilityType: 'reportUsage' | 'reportEvents' | 'calculateTax' | 'invoiceCustomers' | 'collectPayments';
1868
- /** @description Paginated response */
1869
- AppPaginatedResponse: {
1870
1944
  /**
1871
- * @description The total number of items.
1872
- * @example 500
1945
+ * Creation Time
1946
+ * Format: date-time
1947
+ * @description Timestamp of when the resource was created.
1948
+ * @example 2024-01-01T01:01:01.001Z
1873
1949
  */
1874
- totalCount: number;
1950
+ readonly createdAt: Date;
1875
1951
  /**
1876
- * @description The page index.
1877
- * @example 1
1952
+ * Last Update Time
1953
+ * Format: date-time
1954
+ * @description Timestamp of when the resource was last updated.
1955
+ * @example 2024-01-01T01:01:01.001Z
1878
1956
  */
1879
- page: number;
1957
+ readonly updatedAt: Date;
1880
1958
  /**
1881
- * @description The maximum number of items per page.
1882
- * @example 100
1959
+ * Deletion Time
1960
+ * Format: date-time
1961
+ * @description Timestamp of when the resource was permanently deleted.
1962
+ * @example 2024-01-01T01:01:01.001Z
1883
1963
  */
1884
- pageSize: number;
1885
- /** @description The items in the current page. */
1886
- items: components['schemas']['App'][];
1887
- };
1888
- /** @description App reference
1889
- *
1890
- * Can be used as a short reference to an app if the full app object is not needed. */
1891
- AppReference: {
1964
+ readonly deletedAt?: Date;
1892
1965
  /**
1893
- * @description The ID of the app.
1894
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
1966
+ * Key
1967
+ * @description A semi-unique identifier for the resource.
1895
1968
  */
1896
- id: string;
1897
- };
1898
- /**
1899
- * @description App installed status.
1900
- * @enum {string}
1901
- */
1902
- AppStatus: 'ready' | 'unauthorized';
1903
- /**
1904
- * @description Type of the app.
1905
- * @enum {string}
1906
- */
1907
- AppType: 'stripe' | 'sandbox';
1908
- /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
1909
- BadRequestProblemResponse: components['schemas']['UnexpectedProblemResponse'];
1910
- /** @description The balance history window. */
1911
- BalanceHistoryWindow: {
1912
- period: components['schemas']['Period'];
1969
+ key: string;
1913
1970
  /**
1914
- * Format: double
1915
- * @description The total usage of the feature in the period.
1916
- * @example 100
1971
+ * Annotations
1972
+ * @description Set of key-value pairs managed by the system. Cannot be modified by user.
1917
1973
  */
1918
- readonly usage: number;
1974
+ readonly annotations?: components['schemas']['Annotations'];
1919
1975
  /**
1920
- * Format: double
1921
- * @description The entitlement balance at the start of the period.
1922
- * @example 100
1976
+ * Version
1977
+ * @description Version of the add-on. Incremented when the add-on is updated.
1978
+ * @default 1
1923
1979
  */
1924
- readonly balanceAtStart: number;
1925
- };
1926
- /** @description Customer specific merged profile.
1927
- *
1928
- * This profile is calculated from the customer override and the billing profile it references or the default.
1929
- *
1930
- * Thus this does not have any kind of resource fields, only the calculated values. */
1931
- BillingCustomerProfile: {
1932
- /** @description The name and contact information for the supplier this billing profile represents */
1933
- readonly supplier: components['schemas']['BillingParty'];
1934
- /** @description The billing workflow settings for this profile */
1935
- readonly workflow: components['schemas']['BillingWorkflow'];
1936
- /** @description The applications used by this billing profile.
1937
- *
1938
- * Expand settings govern if this includes the whole app object or just the ID references. */
1939
- readonly apps: components['schemas']['BillingProfileAppsOrReference'];
1940
- };
1941
- /** @description InvoiceLineCharge represents an amount added to the line, and will be applied before taxes. */
1942
- BillingLineCharge: {
1980
+ readonly version: number;
1943
1981
  /**
1944
- * Creation Time
1945
- * Format: date-time
1946
- * @description Timestamp of when the resource was created.
1947
- * @example 2024-01-01T01:01:01.001Z
1982
+ * InstanceType
1983
+ * @description The instanceType of the add-ons. Can be "single" or "multiple".
1948
1984
  */
1949
- readonly createdAt: Date;
1985
+ instanceType: components['schemas']['AddonInstanceType'];
1950
1986
  /**
1951
- * Last Update Time
1987
+ * Currency
1988
+ * @description The currency code of the add-on.
1989
+ * @default USD
1990
+ */
1991
+ currency: components['schemas']['CurrencyCode'];
1992
+ /**
1993
+ * Effective start date
1952
1994
  * Format: date-time
1953
- * @description Timestamp of when the resource was last updated.
1954
- * @example 2024-01-01T01:01:01.001Z
1995
+ * @description The date and time when the add-on becomes effective. When not specified, the add-on is a draft.
1996
+ * @example 2023-01-01T01:01:01.001Z
1955
1997
  */
1956
- readonly updatedAt: Date;
1998
+ readonly effectiveFrom?: Date;
1957
1999
  /**
1958
- * Deletion Time
2000
+ * Effective end date
1959
2001
  * Format: date-time
1960
- * @description Timestamp of when the resource was permanently deleted.
1961
- * @example 2024-01-01T01:01:01.001Z
2002
+ * @description The date and time when the add-on is no longer effective. When not specified, the add-on is effective indefinitely.
2003
+ * @example 2023-01-01T01:01:01.001Z
1962
2004
  */
1963
- readonly deletedAt?: Date;
2005
+ readonly effectiveTo?: Date;
1964
2006
  /**
1965
- * @description ID of the charge or discount.
1966
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
2007
+ * Status
2008
+ * @description The status of the add-on.
2009
+ * Computed based on the effective start and end dates:
2010
+ * - draft = no effectiveFrom
2011
+ * - active = effectiveFrom <= now < effectiveTo
2012
+ * - archived = effectiveTo <= now
1967
2013
  */
1968
- readonly id: string;
1969
- /** @description Percentage if fixed amount not applied */
1970
- percent?: components['schemas']['Percentage'];
1971
- /** @description Fixed discount amount to apply (calculated if percent present). */
1972
- amount: components['schemas']['Numeric'];
1973
- /** @description Reason code. */
1974
- code?: string;
1975
- /** @description Text description as to why the discount was applied. */
1976
- description?: string;
1977
- };
1978
- /** @description Party represents a person or business entity. */
1979
- BillingParty: {
1980
- /** @description Unique identifier for the party (if available) */
1981
- readonly id?: string;
1982
- /** @description Legal name or representation of the organization. */
1983
- name?: string;
1984
- /** @description The entity's legal ID code used for tax purposes. They may have
1985
- * other numbers, but we're only interested in those valid for tax purposes. */
1986
- taxId?: components['schemas']['BillingPartyTaxIdentity'];
1987
- /** @description Regular post addresses for where information should be sent if needed. */
1988
- addresses?: components['schemas']['Address'][];
1989
- };
1990
- /** @description Resource update operation model. */
1991
- BillingPartyReplaceUpdate: {
1992
- /** @description Legal name or representation of the organization. */
1993
- name?: string;
1994
- /** @description The entity's legal ID code used for tax purposes. They may have
1995
- * other numbers, but we're only interested in those valid for tax purposes. */
1996
- taxId?: components['schemas']['BillingPartyTaxIdentity'];
1997
- /** @description Regular post addresses for where information should be sent if needed. */
1998
- addresses?: components['schemas']['Address'][];
1999
- };
2000
- /** @description Identity stores the details required to identify an entity for tax purposes in a specific country. */
2001
- BillingPartyTaxIdentity: {
2002
- /** @description Normalized tax code shown on the original identity document. */
2003
- code?: components['schemas']['BillingTaxIdentificationCode'];
2004
- };
2005
- /** @description BillingProfile represents a billing profile */
2006
- BillingProfile: {
2014
+ readonly status: components['schemas']['AddonStatus'];
2007
2015
  /**
2008
- * ID
2009
- * @description A unique identifier for the resource.
2010
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
2016
+ * Rate cards
2017
+ * @description The rate cards of the add-on.
2011
2018
  */
2012
- readonly id: string;
2019
+ rateCards: components['schemas']['RateCard'][];
2020
+ };
2021
+ /** @description Resource create operation model. */
2022
+ AddonCreate: {
2013
2023
  /**
2014
2024
  * Display name
2015
2025
  * @description Human-readable name for the resource. Between 1 and 256 characters.
@@ -2026,69 +2036,60 @@ export interface components {
2026
2036
  */
2027
2037
  metadata?: components['schemas']['Metadata'] | null;
2028
2038
  /**
2029
- * Creation Time
2030
- * Format: date-time
2031
- * @description Timestamp of when the resource was created.
2032
- * @example 2024-01-01T01:01:01.001Z
2039
+ * Key
2040
+ * @description A semi-unique identifier for the resource.
2033
2041
  */
2034
- readonly createdAt: Date;
2042
+ key: string;
2035
2043
  /**
2036
- * Last Update Time
2037
- * Format: date-time
2038
- * @description Timestamp of when the resource was last updated.
2039
- * @example 2024-01-01T01:01:01.001Z
2044
+ * InstanceType
2045
+ * @description The instanceType of the add-ons. Can be "single" or "multiple".
2040
2046
  */
2041
- readonly updatedAt: Date;
2047
+ instanceType: components['schemas']['AddonInstanceType'];
2042
2048
  /**
2043
- * Deletion Time
2044
- * Format: date-time
2045
- * @description Timestamp of when the resource was permanently deleted.
2046
- * @example 2024-01-01T01:01:01.001Z
2049
+ * Currency
2050
+ * @description The currency code of the add-on.
2051
+ * @default USD
2047
2052
  */
2048
- readonly deletedAt?: Date;
2049
- /** @description The name and contact information for the supplier this billing profile represents */
2050
- supplier: components['schemas']['BillingParty'];
2051
- /** @description The billing workflow settings for this profile */
2052
- readonly workflow: components['schemas']['BillingWorkflow'];
2053
- /** @description The applications used by this billing profile.
2054
- *
2055
- * Expand settings govern if this includes the whole app object or just the ID references. */
2056
- readonly apps: components['schemas']['BillingProfileAppsOrReference'];
2057
- /** @description Is this the default profile? */
2058
- default: boolean;
2059
- };
2060
- /** @description BillingProfileAppReferences represents the references (id, type) to the apps used by a billing profile */
2061
- BillingProfileAppReferences: {
2062
- /** @description The tax app used for this workflow */
2063
- readonly tax: components['schemas']['AppReference'];
2064
- /** @description The invoicing app used for this workflow */
2065
- readonly invoicing: components['schemas']['AppReference'];
2066
- /** @description The payment app used for this workflow */
2067
- readonly payment: components['schemas']['AppReference'];
2068
- };
2069
- /** @description BillingProfileApps represents the applications used by a billing profile */
2070
- BillingProfileApps: {
2071
- /** @description The tax app used for this workflow */
2072
- readonly tax: components['schemas']['App'];
2073
- /** @description The invoicing app used for this workflow */
2074
- readonly invoicing: components['schemas']['App'];
2075
- /** @description The payment app used for this workflow */
2076
- readonly payment: components['schemas']['App'];
2053
+ currency: components['schemas']['CurrencyCode'];
2054
+ /**
2055
+ * Rate cards
2056
+ * @description The rate cards of the add-on.
2057
+ */
2058
+ rateCards: components['schemas']['RateCard'][];
2077
2059
  };
2078
- /** @description BillingProfileAppsCreate represents the input for creating a billing profile's apps */
2079
- BillingProfileAppsCreate: {
2080
- /** @description The tax app used for this workflow */
2081
- tax: string;
2082
- /** @description The invoicing app used for this workflow */
2083
- invoicing: string;
2084
- /** @description The payment app used for this workflow */
2085
- payment: string;
2060
+ /**
2061
+ * @description The instanceType of the add-on.
2062
+ * Single instance add-ons can be added to subscription only once while add-ons with multiple type can be added more then once.
2063
+ * @enum {string}
2064
+ */
2065
+ AddonInstanceType: 'single' | 'multiple';
2066
+ /**
2067
+ * @description Order by options for add-ons.
2068
+ * @enum {string}
2069
+ */
2070
+ AddonOrderBy: 'id' | 'key' | 'version' | 'created_at' | 'updated_at';
2071
+ /** @description Paginated response */
2072
+ AddonPaginatedResponse: {
2073
+ /**
2074
+ * @description The total number of items.
2075
+ * @example 500
2076
+ */
2077
+ totalCount: number;
2078
+ /**
2079
+ * @description The page index.
2080
+ * @example 1
2081
+ */
2082
+ page: number;
2083
+ /**
2084
+ * @description The maximum number of items per page.
2085
+ * @example 100
2086
+ */
2087
+ pageSize: number;
2088
+ /** @description The items in the current page. */
2089
+ items: components['schemas']['Addon'][];
2086
2090
  };
2087
- /** @description ProfileAppsOrReference represents the union of ProfileApps and ProfileAppReferences
2088
- * for a billing profile. */
2089
- BillingProfileAppsOrReference: components['schemas']['BillingProfileApps'] | components['schemas']['BillingProfileAppReferences'];
2090
- /** @description BillingProfileCreate represents the input for creating a billing profile */
2091
- BillingProfileCreate: {
2091
+ /** @description Resource update operation model. */
2092
+ AddonReplaceUpdate: {
2092
2093
  /**
2093
2094
  * Display name
2094
2095
  * @description Human-readable name for the resource. Between 1 and 256 characters.
@@ -2104,85 +2105,106 @@ export interface components {
2104
2105
  * @description Additional metadata for the resource.
2105
2106
  */
2106
2107
  metadata?: components['schemas']['Metadata'] | null;
2107
- /** @description The name and contact information for the supplier this billing profile represents */
2108
- supplier: components['schemas']['BillingParty'];
2109
- /** @description Is this the default profile? */
2110
- default: boolean;
2111
- /** @description The billing workflow settings for this profile. */
2112
- workflow: components['schemas']['BillingWorkflowCreate'];
2113
- /** @description The apps used by this billing profile. */
2114
- apps: components['schemas']['BillingProfileAppsCreate'];
2115
- };
2116
- /** @description Customer override values. */
2117
- BillingProfileCustomerOverride: {
2118
- /**
2119
- * Creation Time
2120
- * Format: date-time
2121
- * @description Timestamp of when the resource was created.
2122
- * @example 2024-01-01T01:01:01.001Z
2123
- */
2124
- readonly createdAt: Date;
2125
- /**
2126
- * Last Update Time
2127
- * Format: date-time
2128
- * @description Timestamp of when the resource was last updated.
2129
- * @example 2024-01-01T01:01:01.001Z
2130
- */
2131
- readonly updatedAt: Date;
2132
2108
  /**
2133
- * @description The billing profile this override is associated with.
2134
- *
2135
- * If empty the default profile is looked up dynamically.
2136
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
2109
+ * InstanceType
2110
+ * @description The instanceType of the add-ons. Can be "single" or "multiple".
2137
2111
  */
2138
- billingProfileId?: string;
2112
+ instanceType: components['schemas']['AddonInstanceType'];
2139
2113
  /**
2140
- * @description The customer id this override is associated with.
2141
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
2114
+ * Rate cards
2115
+ * @description The rate cards of the add-on.
2142
2116
  */
2143
- customerId: string;
2144
- };
2145
- /** @description Payload for creating a new or updating an existing customer override. */
2146
- BillingProfileCustomerOverrideCreate: {
2147
- /**
2148
- * @description The billing profile this override is associated with.
2149
- *
2150
- * If not provided, the default billing profile is chosen if available.
2151
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
2152
- */
2153
- billingProfileId?: string;
2117
+ rateCards: components['schemas']['RateCard'][];
2154
2118
  };
2155
2119
  /**
2156
- * @description CustomerOverrideExpand specifies the parts of the profile to expand.
2120
+ * @description The status of the add-on defined by the effectiveFrom and effectiveTo properties.
2157
2121
  * @enum {string}
2158
2122
  */
2159
- BillingProfileCustomerOverrideExpand: 'apps' | 'customer';
2123
+ AddonStatus: 'draft' | 'active' | 'archived';
2124
+ /** @description Address */
2125
+ Address: {
2126
+ /** @description Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format. */
2127
+ country?: components['schemas']['CountryCode'];
2128
+ /** @description Postal code. */
2129
+ postalCode?: string;
2130
+ /** @description State or province. */
2131
+ state?: string;
2132
+ /** @description City. */
2133
+ city?: string;
2134
+ /** @description First line of the address. */
2135
+ line1?: string;
2136
+ /** @description Second line of the address. */
2137
+ line2?: string;
2138
+ /** @description Phone number. */
2139
+ phoneNumber?: string;
2140
+ };
2141
+ /** @description Alignment configuration for a plan or subscription. */
2142
+ Alignment: {
2143
+ /** @description Whether all Billable items and RateCards must align.
2144
+ * Alignment means the Price's BillingCadence must align for both duration and anchor time. */
2145
+ billablesMustAlign?: boolean;
2146
+ };
2160
2147
  /**
2161
- * @description Order by options for customers.
2162
- * @enum {string}
2148
+ * @description Set of key-value pairs managed by the system. Cannot be modified by user.
2149
+ * @example {
2150
+ * "externalId": "019142cc-a016-796a-8113-1a942fecd26d"
2151
+ * }
2163
2152
  */
2164
- BillingProfileCustomerOverrideOrderBy: 'customerId' | 'customerName' | 'customerKey' | 'customerPrimaryEmail' | 'customerCreatedAt';
2165
- /** @description Customer specific workflow overrides. */
2166
- BillingProfileCustomerOverrideWithDetails: {
2167
- /** @description The customer override values.
2168
- *
2169
- * If empty the merged values are calculated based on the default profile. */
2170
- customerOverride?: components['schemas']['BillingProfileCustomerOverride'];
2153
+ Annotations: {
2154
+ [key: string]: unknown;
2155
+ };
2156
+ /** @description App.
2157
+ * One of: stripe */
2158
+ App: components['schemas']['StripeApp'] | components['schemas']['SandboxApp'];
2159
+ /** @description Resource update operation model. */
2160
+ AppBaseReplaceUpdate: {
2171
2161
  /**
2172
- * @description The billing profile the customerProfile is associated with at the time of query.
2173
- *
2174
- * customerOverride contains the explicit mapping set in the customer override object. If that is
2175
- * empty, then the baseBillingProfileId is the default profile.
2176
- * @example 01G65Z755AFWAKHE12NY0CQ9FH
2162
+ * Display name
2163
+ * @description Human-readable name for the resource. Between 1 and 256 characters.
2177
2164
  */
2178
- baseBillingProfileId: string;
2179
- /** @description Merged billing profile with the customer specific overrides. */
2180
- customerProfile?: components['schemas']['BillingCustomerProfile'];
2181
- /** @description The customer this override belongs to. */
2182
- customer?: components['schemas']['Customer'];
2165
+ name: string;
2166
+ /**
2167
+ * Description
2168
+ * @description Optional description of the resource. Maximum 1024 characters.
2169
+ */
2170
+ description?: string;
2171
+ /**
2172
+ * Metadata
2173
+ * @description Additional metadata for the resource.
2174
+ */
2175
+ metadata?: components['schemas']['Metadata'] | null;
2176
+ /** @description Default for the app type
2177
+ * Only one app of each type can be default. */
2178
+ default: boolean;
2179
+ };
2180
+ /**
2181
+ * @description App capability.
2182
+ *
2183
+ * Capabilities only exist in config so they don't extend the Resource model.
2184
+ * @example {
2185
+ * "type": "collectPayments",
2186
+ * "key": "stripe_collect_payment",
2187
+ * "name": "Collect Payments",
2188
+ * "description": "Stripe payments collects outstanding revenue with Stripe customer's default payment method."
2189
+ * }
2190
+ */
2191
+ AppCapability: {
2192
+ /** @description The capability type. */
2193
+ type: components['schemas']['AppCapabilityType'];
2194
+ /** @description Key */
2195
+ key: string;
2196
+ /** @description The capability name. */
2197
+ name: string;
2198
+ /** @description The capability description. */
2199
+ description: string;
2183
2200
  };
2201
+ /**
2202
+ * @description App capability type.
2203
+ * @enum {string}
2204
+ */
2205
+ AppCapabilityType: 'reportUsage' | 'reportEvents' | 'calculateTax' | 'invoiceCustomers' | 'collectPayments';
2184
2206
  /** @description Paginated response */
2185
- BillingProfileCustomerOverrideWithDetailsPaginatedResponse: {
2207
+ AppPaginatedResponse: {
2186
2208
  /**
2187
2209
  * @description The total number of items.
2188
2210
  * @example 500
@@ -2199,43 +2221,96 @@ export interface components {
2199
2221
  */
2200
2222
  pageSize: number;
2201
2223
  /** @description The items in the current page. */
2202
- items: components['schemas']['BillingProfileCustomerOverrideWithDetails'][];
2224
+ items: components['schemas']['App'][];
2225
+ };
2226
+ /** @description App reference
2227
+ *
2228
+ * Can be used as a short reference to an app if the full app object is not needed. */
2229
+ AppReference: {
2230
+ /**
2231
+ * @description The ID of the app.
2232
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2233
+ */
2234
+ id: string;
2203
2235
  };
2204
2236
  /**
2205
- * @description BillingProfileExpand details what profile fields to expand
2237
+ * @description App installed status.
2206
2238
  * @enum {string}
2207
2239
  */
2208
- BillingProfileExpand: 'apps';
2240
+ AppStatus: 'ready' | 'unauthorized';
2209
2241
  /**
2210
- * @description BillingProfileOrderBy specifies the ordering options for profiles
2242
+ * @description Type of the app.
2211
2243
  * @enum {string}
2212
2244
  */
2213
- BillingProfileOrderBy: 'createdAt' | 'updatedAt' | 'default' | 'name';
2214
- /** @description Paginated response */
2215
- BillingProfilePaginatedResponse: {
2216
- /**
2217
- * @description The total number of items.
2218
- * @example 500
2219
- */
2220
- totalCount: number;
2245
+ AppType: 'stripe' | 'sandbox';
2246
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
2247
+ BadRequestProblemResponse: components['schemas']['UnexpectedProblemResponse'];
2248
+ /** @description The balance history window. */
2249
+ BalanceHistoryWindow: {
2250
+ period: components['schemas']['Period'];
2221
2251
  /**
2222
- * @description The page index.
2223
- * @example 1
2252
+ * Format: double
2253
+ * @description The total usage of the feature in the period.
2254
+ * @example 100
2224
2255
  */
2225
- page: number;
2256
+ readonly usage: number;
2226
2257
  /**
2227
- * @description The maximum number of items per page.
2258
+ * Format: double
2259
+ * @description The entitlement balance at the start of the period.
2228
2260
  * @example 100
2229
2261
  */
2230
- pageSize: number;
2231
- /** @description The items in the current page. */
2232
- items: components['schemas']['BillingProfile'][];
2262
+ readonly balanceAtStart: number;
2233
2263
  };
2234
- /** @description BillingProfileReplaceUpdate represents the input for updating a billing profile
2264
+ /** @description Customer specific merged profile.
2235
2265
  *
2236
- * The apps field cannot be updated directly, if an app change is desired a new
2237
- * profile should be created. */
2238
- BillingProfileReplaceUpdateWithWorkflow: {
2266
+ * This profile is calculated from the customer override and the billing profile it references or the default.
2267
+ *
2268
+ * Thus this does not have any kind of resource fields, only the calculated values. */
2269
+ BillingCustomerProfile: {
2270
+ /** @description The name and contact information for the supplier this billing profile represents */
2271
+ readonly supplier: components['schemas']['BillingParty'];
2272
+ /** @description The billing workflow settings for this profile */
2273
+ readonly workflow: components['schemas']['BillingWorkflow'];
2274
+ /** @description The applications used by this billing profile.
2275
+ *
2276
+ * Expand settings govern if this includes the whole app object or just the ID references. */
2277
+ readonly apps: components['schemas']['BillingProfileAppsOrReference'];
2278
+ };
2279
+ /** @description Party represents a person or business entity. */
2280
+ BillingParty: {
2281
+ /** @description Unique identifier for the party (if available) */
2282
+ readonly id?: string;
2283
+ /** @description Legal name or representation of the organization. */
2284
+ name?: string;
2285
+ /** @description The entity's legal ID code used for tax purposes. They may have
2286
+ * other numbers, but we're only interested in those valid for tax purposes. */
2287
+ taxId?: components['schemas']['BillingPartyTaxIdentity'];
2288
+ /** @description Regular post addresses for where information should be sent if needed. */
2289
+ addresses?: components['schemas']['Address'][];
2290
+ };
2291
+ /** @description Resource update operation model. */
2292
+ BillingPartyReplaceUpdate: {
2293
+ /** @description Legal name or representation of the organization. */
2294
+ name?: string;
2295
+ /** @description The entity's legal ID code used for tax purposes. They may have
2296
+ * other numbers, but we're only interested in those valid for tax purposes. */
2297
+ taxId?: components['schemas']['BillingPartyTaxIdentity'];
2298
+ /** @description Regular post addresses for where information should be sent if needed. */
2299
+ addresses?: components['schemas']['Address'][];
2300
+ };
2301
+ /** @description Identity stores the details required to identify an entity for tax purposes in a specific country. */
2302
+ BillingPartyTaxIdentity: {
2303
+ /** @description Normalized tax code shown on the original identity document. */
2304
+ code?: components['schemas']['BillingTaxIdentificationCode'];
2305
+ };
2306
+ /** @description BillingProfile represents a billing profile */
2307
+ BillingProfile: {
2308
+ /**
2309
+ * ID
2310
+ * @description A unique identifier for the resource.
2311
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2312
+ */
2313
+ readonly id: string;
2239
2314
  /**
2240
2315
  * Display name
2241
2316
  * @description Human-readable name for the resource. Between 1 and 256 characters.
@@ -2251,25 +2326,251 @@ export interface components {
2251
2326
  * @description Additional metadata for the resource.
2252
2327
  */
2253
2328
  metadata?: components['schemas']['Metadata'] | null;
2329
+ /**
2330
+ * Creation Time
2331
+ * Format: date-time
2332
+ * @description Timestamp of when the resource was created.
2333
+ * @example 2024-01-01T01:01:01.001Z
2334
+ */
2335
+ readonly createdAt: Date;
2336
+ /**
2337
+ * Last Update Time
2338
+ * Format: date-time
2339
+ * @description Timestamp of when the resource was last updated.
2340
+ * @example 2024-01-01T01:01:01.001Z
2341
+ */
2342
+ readonly updatedAt: Date;
2343
+ /**
2344
+ * Deletion Time
2345
+ * Format: date-time
2346
+ * @description Timestamp of when the resource was permanently deleted.
2347
+ * @example 2024-01-01T01:01:01.001Z
2348
+ */
2349
+ readonly deletedAt?: Date;
2254
2350
  /** @description The name and contact information for the supplier this billing profile represents */
2255
2351
  supplier: components['schemas']['BillingParty'];
2352
+ /** @description The billing workflow settings for this profile */
2353
+ readonly workflow: components['schemas']['BillingWorkflow'];
2354
+ /** @description The applications used by this billing profile.
2355
+ *
2356
+ * Expand settings govern if this includes the whole app object or just the ID references. */
2357
+ readonly apps: components['schemas']['BillingProfileAppsOrReference'];
2256
2358
  /** @description Is this the default profile? */
2257
2359
  default: boolean;
2258
- /** @description The billing workflow settings for this profile. */
2259
- workflow: components['schemas']['BillingWorkflow'];
2260
2360
  };
2261
- /** @description TaxIdentificationCode is a normalized tax code shown on the original identity document. */
2262
- BillingTaxIdentificationCode: string;
2263
- /** @description BillingWorkflow represents the settings for a billing workflow. */
2264
- BillingWorkflow: {
2265
- /** @description The collection settings for this workflow */
2266
- collection?: components['schemas']['BillingWorkflowCollectionSettings'];
2267
- /** @description The invoicing settings for this workflow */
2268
- invoicing?: components['schemas']['BillingWorkflowInvoicingSettings'];
2269
- /** @description The payment settings for this workflow */
2270
- payment?: components['schemas']['BillingWorkflowPaymentSettings'];
2361
+ /** @description BillingProfileAppReferences represents the references (id, type) to the apps used by a billing profile */
2362
+ BillingProfileAppReferences: {
2363
+ /** @description The tax app used for this workflow */
2364
+ readonly tax: components['schemas']['AppReference'];
2365
+ /** @description The invoicing app used for this workflow */
2366
+ readonly invoicing: components['schemas']['AppReference'];
2367
+ /** @description The payment app used for this workflow */
2368
+ readonly payment: components['schemas']['AppReference'];
2271
2369
  };
2272
- /** @description The alignment for collecting the pending line items into an invoice.
2370
+ /** @description BillingProfileApps represents the applications used by a billing profile */
2371
+ BillingProfileApps: {
2372
+ /** @description The tax app used for this workflow */
2373
+ readonly tax: components['schemas']['App'];
2374
+ /** @description The invoicing app used for this workflow */
2375
+ readonly invoicing: components['schemas']['App'];
2376
+ /** @description The payment app used for this workflow */
2377
+ readonly payment: components['schemas']['App'];
2378
+ };
2379
+ /** @description BillingProfileAppsCreate represents the input for creating a billing profile's apps */
2380
+ BillingProfileAppsCreate: {
2381
+ /** @description The tax app used for this workflow */
2382
+ tax: string;
2383
+ /** @description The invoicing app used for this workflow */
2384
+ invoicing: string;
2385
+ /** @description The payment app used for this workflow */
2386
+ payment: string;
2387
+ };
2388
+ /** @description ProfileAppsOrReference represents the union of ProfileApps and ProfileAppReferences
2389
+ * for a billing profile. */
2390
+ BillingProfileAppsOrReference: components['schemas']['BillingProfileApps'] | components['schemas']['BillingProfileAppReferences'];
2391
+ /** @description BillingProfileCreate represents the input for creating a billing profile */
2392
+ BillingProfileCreate: {
2393
+ /**
2394
+ * Display name
2395
+ * @description Human-readable name for the resource. Between 1 and 256 characters.
2396
+ */
2397
+ name: string;
2398
+ /**
2399
+ * Description
2400
+ * @description Optional description of the resource. Maximum 1024 characters.
2401
+ */
2402
+ description?: string;
2403
+ /**
2404
+ * Metadata
2405
+ * @description Additional metadata for the resource.
2406
+ */
2407
+ metadata?: components['schemas']['Metadata'] | null;
2408
+ /** @description The name and contact information for the supplier this billing profile represents */
2409
+ supplier: components['schemas']['BillingParty'];
2410
+ /** @description Is this the default profile? */
2411
+ default: boolean;
2412
+ /** @description The billing workflow settings for this profile. */
2413
+ workflow: components['schemas']['BillingWorkflowCreate'];
2414
+ /** @description The apps used by this billing profile. */
2415
+ apps: components['schemas']['BillingProfileAppsCreate'];
2416
+ };
2417
+ /** @description Customer override values. */
2418
+ BillingProfileCustomerOverride: {
2419
+ /**
2420
+ * Creation Time
2421
+ * Format: date-time
2422
+ * @description Timestamp of when the resource was created.
2423
+ * @example 2024-01-01T01:01:01.001Z
2424
+ */
2425
+ readonly createdAt: Date;
2426
+ /**
2427
+ * Last Update Time
2428
+ * Format: date-time
2429
+ * @description Timestamp of when the resource was last updated.
2430
+ * @example 2024-01-01T01:01:01.001Z
2431
+ */
2432
+ readonly updatedAt: Date;
2433
+ /**
2434
+ * @description The billing profile this override is associated with.
2435
+ *
2436
+ * If empty the default profile is looked up dynamically.
2437
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2438
+ */
2439
+ billingProfileId?: string;
2440
+ /**
2441
+ * @description The customer id this override is associated with.
2442
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2443
+ */
2444
+ customerId: string;
2445
+ };
2446
+ /** @description Payload for creating a new or updating an existing customer override. */
2447
+ BillingProfileCustomerOverrideCreate: {
2448
+ /**
2449
+ * @description The billing profile this override is associated with.
2450
+ *
2451
+ * If not provided, the default billing profile is chosen if available.
2452
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2453
+ */
2454
+ billingProfileId?: string;
2455
+ };
2456
+ /**
2457
+ * @description CustomerOverrideExpand specifies the parts of the profile to expand.
2458
+ * @enum {string}
2459
+ */
2460
+ BillingProfileCustomerOverrideExpand: 'apps' | 'customer';
2461
+ /**
2462
+ * @description Order by options for customers.
2463
+ * @enum {string}
2464
+ */
2465
+ BillingProfileCustomerOverrideOrderBy: 'customerId' | 'customerName' | 'customerKey' | 'customerPrimaryEmail' | 'customerCreatedAt';
2466
+ /** @description Customer specific workflow overrides. */
2467
+ BillingProfileCustomerOverrideWithDetails: {
2468
+ /** @description The customer override values.
2469
+ *
2470
+ * If empty the merged values are calculated based on the default profile. */
2471
+ customerOverride?: components['schemas']['BillingProfileCustomerOverride'];
2472
+ /**
2473
+ * @description The billing profile the customerProfile is associated with at the time of query.
2474
+ *
2475
+ * customerOverride contains the explicit mapping set in the customer override object. If that is
2476
+ * empty, then the baseBillingProfileId is the default profile.
2477
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
2478
+ */
2479
+ baseBillingProfileId: string;
2480
+ /** @description Merged billing profile with the customer specific overrides. */
2481
+ customerProfile?: components['schemas']['BillingCustomerProfile'];
2482
+ /** @description The customer this override belongs to. */
2483
+ customer?: components['schemas']['Customer'];
2484
+ };
2485
+ /** @description Paginated response */
2486
+ BillingProfileCustomerOverrideWithDetailsPaginatedResponse: {
2487
+ /**
2488
+ * @description The total number of items.
2489
+ * @example 500
2490
+ */
2491
+ totalCount: number;
2492
+ /**
2493
+ * @description The page index.
2494
+ * @example 1
2495
+ */
2496
+ page: number;
2497
+ /**
2498
+ * @description The maximum number of items per page.
2499
+ * @example 100
2500
+ */
2501
+ pageSize: number;
2502
+ /** @description The items in the current page. */
2503
+ items: components['schemas']['BillingProfileCustomerOverrideWithDetails'][];
2504
+ };
2505
+ /**
2506
+ * @description BillingProfileExpand details what profile fields to expand
2507
+ * @enum {string}
2508
+ */
2509
+ BillingProfileExpand: 'apps';
2510
+ /**
2511
+ * @description BillingProfileOrderBy specifies the ordering options for profiles
2512
+ * @enum {string}
2513
+ */
2514
+ BillingProfileOrderBy: 'createdAt' | 'updatedAt' | 'default' | 'name';
2515
+ /** @description Paginated response */
2516
+ BillingProfilePaginatedResponse: {
2517
+ /**
2518
+ * @description The total number of items.
2519
+ * @example 500
2520
+ */
2521
+ totalCount: number;
2522
+ /**
2523
+ * @description The page index.
2524
+ * @example 1
2525
+ */
2526
+ page: number;
2527
+ /**
2528
+ * @description The maximum number of items per page.
2529
+ * @example 100
2530
+ */
2531
+ pageSize: number;
2532
+ /** @description The items in the current page. */
2533
+ items: components['schemas']['BillingProfile'][];
2534
+ };
2535
+ /** @description BillingProfileReplaceUpdate represents the input for updating a billing profile
2536
+ *
2537
+ * The apps field cannot be updated directly, if an app change is desired a new
2538
+ * profile should be created. */
2539
+ BillingProfileReplaceUpdateWithWorkflow: {
2540
+ /**
2541
+ * Display name
2542
+ * @description Human-readable name for the resource. Between 1 and 256 characters.
2543
+ */
2544
+ name: string;
2545
+ /**
2546
+ * Description
2547
+ * @description Optional description of the resource. Maximum 1024 characters.
2548
+ */
2549
+ description?: string;
2550
+ /**
2551
+ * Metadata
2552
+ * @description Additional metadata for the resource.
2553
+ */
2554
+ metadata?: components['schemas']['Metadata'] | null;
2555
+ /** @description The name and contact information for the supplier this billing profile represents */
2556
+ supplier: components['schemas']['BillingParty'];
2557
+ /** @description Is this the default profile? */
2558
+ default: boolean;
2559
+ /** @description The billing workflow settings for this profile. */
2560
+ workflow: components['schemas']['BillingWorkflow'];
2561
+ };
2562
+ /** @description TaxIdentificationCode is a normalized tax code shown on the original identity document. */
2563
+ BillingTaxIdentificationCode: string;
2564
+ /** @description BillingWorkflow represents the settings for a billing workflow. */
2565
+ BillingWorkflow: {
2566
+ /** @description The collection settings for this workflow */
2567
+ collection?: components['schemas']['BillingWorkflowCollectionSettings'];
2568
+ /** @description The invoicing settings for this workflow */
2569
+ invoicing?: components['schemas']['BillingWorkflowInvoicingSettings'];
2570
+ /** @description The payment settings for this workflow */
2571
+ payment?: components['schemas']['BillingWorkflowPaymentSettings'];
2572
+ };
2573
+ /** @description The alignment for collecting the pending line items into an invoice.
2273
2574
  *
2274
2575
  * Defaults to subscription, which means that we are to create a new invoice every time the
2275
2576
  * a subscription period starts (for in advance items) or ends (for in arrears items). */
@@ -2811,6 +3112,14 @@ export interface components {
2811
3112
  */
2812
3113
  readonly currentSubscriptionId?: string;
2813
3114
  };
3115
+ /** @description CustomerAccess describes what features the customer has access to. */
3116
+ CustomerAccess: {
3117
+ /** @description Map of entitlements the customer has access to.
3118
+ * The key is the feature key, the value is the entitlement value + the entitlement ID. */
3119
+ readonly entitlements: {
3120
+ [key: string]: components['schemas']['EntitlementValue'];
3121
+ };
3122
+ };
2814
3123
  /** @description CustomerAppData
2815
3124
  * Stores the app specific data for the customer.
2816
3125
  * One of: stripe, sandbox */
@@ -2976,14 +3285,12 @@ export interface components {
2976
3285
  */
2977
3286
  subjectKeys: string[];
2978
3287
  };
2979
- /** @description A discount on a price.
2980
- * One of: percentage, amount, or usage. */
2981
- Discount: components['schemas']['DiscountPercentage'];
3288
+ /** @description A discount on a price. */
3289
+ Discount: components['schemas']['DiscountPercentage'] | components['schemas']['DiscountUsage'];
2982
3290
  /** @description Percentage discount. */
2983
3291
  DiscountPercentage: {
2984
3292
  /**
2985
- * Type
2986
- * @description The type of the discount.
3293
+ * @description The type of the discount. (enum property replaced by openapi-typescript)
2987
3294
  * @enum {string}
2988
3295
  */
2989
3296
  type: 'percentage';
@@ -2992,12 +3299,55 @@ export interface components {
2992
3299
  * @description The percentage of the discount.
2993
3300
  */
2994
3301
  percentage: components['schemas']['Percentage'];
3302
+ };
3303
+ /** @description Usage discount.
3304
+ *
3305
+ * Usage discount means that the first N items are free. From billing perspective
3306
+ * this means that any usage on a specific feature is considered 0 until this discount
3307
+ * is exhausted. */
3308
+ DiscountUsage: {
3309
+ /**
3310
+ * @description The type of the discount. (enum property replaced by openapi-typescript)
3311
+ * @enum {string}
3312
+ */
3313
+ type: 'usage';
3314
+ /**
3315
+ * Usage
3316
+ * @description The quantity of the usage discount.
3317
+ *
3318
+ * Must be positive.
3319
+ */
3320
+ quantity: components['schemas']['Numeric'];
3321
+ };
3322
+ /** @description Dynamic price with spend commitments. */
3323
+ DynamicPriceWithCommitments: {
3324
+ /**
3325
+ * @description The type of the price. (enum property replaced by openapi-typescript)
3326
+ * @enum {string}
3327
+ */
3328
+ type: 'dynamic';
3329
+ /**
3330
+ * The multiplier to apply to the base price to get the dynamic price
3331
+ * @description The multiplier to apply to the base price to get the dynamic price.
3332
+ *
3333
+ * Examples:
3334
+ * - 0.0: the price is zero
3335
+ * - 0.5: the price is 50% of the base price
3336
+ * - 1.0: the price is the same as the base price
3337
+ * - 1.5: the price is 150% of the base price
3338
+ * @default 1
3339
+ */
3340
+ multiplier?: components['schemas']['Numeric'];
3341
+ /**
3342
+ * Minimum amount
3343
+ * @description The customer is committed to spend at least the amount.
3344
+ */
3345
+ minimumAmount?: components['schemas']['Numeric'];
2995
3346
  /**
2996
- * Discounted RateCards
2997
- * @description The rate cards that the discount applies to.
2998
- * When not specified, the discount applies to all rate cards.
3347
+ * Maximum amount
3348
+ * @description The customer is limited to spend at most the amount.
2999
3349
  */
3000
- rateCards?: string[];
3350
+ maximumAmount?: components['schemas']['Numeric'];
3001
3351
  };
3002
3352
  /** @description Add a new item to a phase. */
3003
3353
  EditSubscriptionAddItem: {
@@ -3097,6 +3447,13 @@ export interface components {
3097
3447
  * @example 2023-01-01T01:01:01.001Z
3098
3448
  */
3099
3449
  activeTo?: Date;
3450
+ /**
3451
+ * @description The annotations of the entitlement.
3452
+ * @example {
3453
+ * "subscription.id": "sub_123"
3454
+ * }
3455
+ */
3456
+ readonly annotations?: components['schemas']['Annotations'];
3100
3457
  /**
3101
3458
  * @description Readonly unique ULID identifier.
3102
3459
  * @example 01ARZ3NDEKTSV4RRFFQ69G5FAV
@@ -3166,6 +3523,13 @@ export interface components {
3166
3523
  * @example 2023-01-01T01:01:01.001Z
3167
3524
  */
3168
3525
  activeTo?: Date;
3526
+ /**
3527
+ * @description The annotations of the entitlement.
3528
+ * @example {
3529
+ * "subscription.id": "sub_123"
3530
+ * }
3531
+ */
3532
+ readonly annotations?: components['schemas']['Annotations'];
3169
3533
  /**
3170
3534
  * @description Readonly unique ULID identifier.
3171
3535
  * @example 01ARZ3NDEKTSV4RRFFQ69G5FAV
@@ -3190,7 +3554,13 @@ export interface components {
3190
3554
  currentUsagePeriod?: components['schemas']['Period'];
3191
3555
  /** @description The defined usage period of the entitlement */
3192
3556
  usagePeriod?: components['schemas']['RecurringPeriod'];
3193
- } & WithRequired<components['schemas']['EntitlementBaseTemplate'], 'type' | 'createdAt' | 'updatedAt' | 'activeFrom' | 'id' | 'subjectKey' | 'featureKey' | 'featureId'>;
3557
+ } & (WithRequired<components['schemas']['EntitlementBaseTemplate'], 'type' | 'createdAt' | 'updatedAt' | 'activeFrom' | 'id' | 'subjectKey' | 'featureKey' | 'featureId'> & {
3558
+ /**
3559
+ * @description discriminator enum property added by openapi-typescript
3560
+ * @enum {string}
3561
+ */
3562
+ type: 'boolean';
3563
+ });
3194
3564
  /** @description Create inputs for boolean entitlement */
3195
3565
  EntitlementBooleanCreateInputs: {
3196
3566
  /**
@@ -3209,7 +3579,10 @@ export interface components {
3209
3579
  metadata?: components['schemas']['Metadata'];
3210
3580
  /** @description The usage period associated with the entitlement. */
3211
3581
  usagePeriod?: components['schemas']['RecurringPeriodCreateInput'];
3212
- /** @enum {string} */
3582
+ /**
3583
+ * @description discriminator enum property added by openapi-typescript
3584
+ * @enum {string}
3585
+ */
3213
3586
  type: 'boolean';
3214
3587
  };
3215
3588
  /** @description Create inputs for entitlement */
@@ -3372,10 +3745,13 @@ export interface components {
3372
3745
  /** @description Metered entitlements are useful for many different use cases, from setting up usage based access to implementing complex credit systems.
3373
3746
  * Access is determined based on feature usage using a balance calculation (the "usage allowance" provided by the issued grants is "burnt down" by the usage). */
3374
3747
  EntitlementMetered: {
3375
- /** @enum {string} */
3376
- type: 'metered';
3377
3748
  /**
3378
- * Soft limit
3749
+ * @description discriminator enum property added by openapi-typescript
3750
+ * @enum {string}
3751
+ */
3752
+ type: 'metered';
3753
+ /**
3754
+ * Soft limit
3379
3755
  * @description If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true.
3380
3756
  * @default false
3381
3757
  */
@@ -3443,6 +3819,13 @@ export interface components {
3443
3819
  * @example 2023-01-01T01:01:01.001Z
3444
3820
  */
3445
3821
  activeTo?: Date;
3822
+ /**
3823
+ * @description The annotations of the entitlement.
3824
+ * @example {
3825
+ * "subscription.id": "sub_123"
3826
+ * }
3827
+ */
3828
+ readonly annotations?: components['schemas']['Annotations'];
3446
3829
  /**
3447
3830
  * @description Readonly unique ULID identifier.
3448
3831
  * @example 01ARZ3NDEKTSV4RRFFQ69G5FAV
@@ -3496,7 +3879,10 @@ export interface components {
3496
3879
  featureId?: string;
3497
3880
  /** @description Additional metadata for the feature. */
3498
3881
  metadata?: components['schemas']['Metadata'];
3499
- /** @enum {string} */
3882
+ /**
3883
+ * @description discriminator enum property added by openapi-typescript
3884
+ * @enum {string}
3885
+ */
3500
3886
  type: 'metered';
3501
3887
  /**
3502
3888
  * Soft limit
@@ -3564,7 +3950,10 @@ export interface components {
3564
3950
  };
3565
3951
  /** @description A static entitlement. */
3566
3952
  EntitlementStatic: {
3567
- /** @enum {string} */
3953
+ /**
3954
+ * @description discriminator enum property added by openapi-typescript
3955
+ * @enum {string}
3956
+ */
3568
3957
  type: 'static';
3569
3958
  /**
3570
3959
  * Format: json
@@ -3607,6 +3996,13 @@ export interface components {
3607
3996
  * @example 2023-01-01T01:01:01.001Z
3608
3997
  */
3609
3998
  activeTo?: Date;
3999
+ /**
4000
+ * @description The annotations of the entitlement.
4001
+ * @example {
4002
+ * "subscription.id": "sub_123"
4003
+ * }
4004
+ */
4005
+ readonly annotations?: components['schemas']['Annotations'];
3610
4006
  /**
3611
4007
  * @description Readonly unique ULID identifier.
3612
4008
  * @example 01ARZ3NDEKTSV4RRFFQ69G5FAV
@@ -3650,7 +4046,10 @@ export interface components {
3650
4046
  metadata?: components['schemas']['Metadata'];
3651
4047
  /** @description The usage period associated with the entitlement. */
3652
4048
  usagePeriod?: components['schemas']['RecurringPeriodCreateInput'];
3653
- /** @enum {string} */
4049
+ /**
4050
+ * @description discriminator enum property added by openapi-typescript
4051
+ * @enum {string}
4052
+ */
3654
4053
  type: 'static';
3655
4054
  /**
3656
4055
  * Format: json
@@ -3904,7 +4303,7 @@ export interface components {
3904
4303
  * @description Order by options for features.
3905
4304
  * @enum {string}
3906
4305
  */
3907
- FeatureOrderBy: 'id' | 'createdAt' | 'updatedAt';
4306
+ FeatureOrderBy: 'id' | 'key' | 'name' | 'createdAt' | 'updatedAt';
3908
4307
  /** @description Paginated response */
3909
4308
  FeaturePaginatedResponse: {
3910
4309
  /**
@@ -4280,8 +4679,6 @@ export interface components {
4280
4679
  workflow: components['schemas']['InvoiceWorkflowSettings'];
4281
4680
  /** @description List of invoice lines representing each of the items sold to the customer. */
4282
4681
  lines?: components['schemas']['InvoiceLine'][];
4283
- /** @description Discounts or allowances applied to the complete invoice. */
4284
- discounts?: components['schemas']['Discount'][];
4285
4682
  /** @description Information on when, how, and to whom the invoice should be paid. */
4286
4683
  readonly payment?: components['schemas']['InvoicePaymentTerms'];
4287
4684
  /** @description Validation issues reported by the invoice workflow. */
@@ -4398,18 +4795,16 @@ export interface components {
4398
4795
  * New discounts can be added via the invoice's discounts API, to facilitate
4399
4796
  * discounts that are affecting multiple lines. */
4400
4797
  readonly discounts?: components['schemas']['InvoiceLineDiscount'][];
4401
- /** @description Charges applied to this line. (like minimum spend)
4402
- *
4403
- * New charges can be added via the invoice's charges API, to facilitate
4404
- * charges that are affecting multiple lines. */
4405
- readonly charges?: components['schemas']['BillingLineCharge'][];
4406
4798
  /** @description The invoice this item belongs to. */
4407
4799
  invoice?: components['schemas']['InvoiceReference'];
4408
4800
  /** @description The currency of this line. */
4409
4801
  currency: components['schemas']['CurrencyCode'];
4410
4802
  /** @description Taxes applied to the invoice totals. */
4411
4803
  readonly taxes?: components['schemas']['InvoiceLineTaxItem'][];
4412
- /** @description Tax config specify the tax configuration for this line. */
4804
+ /**
4805
+ * @deprecated
4806
+ * @description Tax config specify the tax configuration for this line.
4807
+ */
4413
4808
  taxConfig?: components['schemas']['TaxConfig'];
4414
4809
  /** @description The lines detailing the item or service sold. */
4415
4810
  readonly children?: components['schemas']['InvoiceLine'][];
@@ -4428,21 +4823,30 @@ export interface components {
4428
4823
  /** @description External IDs of the invoice in other apps such as Stripe. */
4429
4824
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
4430
4825
  /** @description Subscription are the references to the subscritpions that this line is related to. */
4431
- readonly subscriptions?: components['schemas']['InvoiceLineSubscriptionReference'];
4826
+ readonly subscription?: components['schemas']['InvoiceLineSubscriptionReference'];
4432
4827
  /**
4433
- * @description Type of the line.
4828
+ * @description Type of the line. (enum property replaced by openapi-typescript)
4434
4829
  * @enum {string}
4435
4830
  */
4436
4831
  type: 'flat_fee';
4437
- /** @description Price of the item being sold. */
4438
- perUnitAmount: components['schemas']['Numeric'];
4439
4832
  /**
4833
+ * @deprecated
4834
+ * @description Price of the item being sold.
4835
+ */
4836
+ perUnitAmount?: components['schemas']['Numeric'];
4837
+ /**
4838
+ * @deprecated
4440
4839
  * @description Payment term of the line.
4441
4840
  * @default in_advance
4442
4841
  */
4443
4842
  paymentTerm?: components['schemas']['PricePaymentTerm'];
4444
- /** @description Quantity of the item being sold. */
4445
- quantity: components['schemas']['Numeric'];
4843
+ /**
4844
+ * @deprecated
4845
+ * @description Quantity of the item being sold.
4846
+ */
4847
+ quantity?: components['schemas']['Numeric'];
4848
+ /** @description The rate card that is used for this line. */
4849
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
4446
4850
  /**
4447
4851
  * @description Category of the flat fee.
4448
4852
  * @default regular
@@ -4468,7 +4872,10 @@ export interface components {
4468
4872
  * @description Additional metadata for the resource.
4469
4873
  */
4470
4874
  metadata?: components['schemas']['Metadata'] | null;
4471
- /** @description Tax config specify the tax configuration for this line. */
4875
+ /**
4876
+ * @deprecated
4877
+ * @description Tax config specify the tax configuration for this line.
4878
+ */
4472
4879
  taxConfig?: components['schemas']['TaxConfig'];
4473
4880
  /** @description Period of the line item applies to for revenue recognition pruposes.
4474
4881
  *
@@ -4481,19 +4888,28 @@ export interface components {
4481
4888
  */
4482
4889
  invoiceAt: Date;
4483
4890
  /**
4484
- * @description Type of the line.
4891
+ * @description Type of the line. (enum property replaced by openapi-typescript)
4485
4892
  * @enum {string}
4486
4893
  */
4487
4894
  type: 'flat_fee';
4488
- /** @description Price of the item being sold. */
4489
- perUnitAmount: components['schemas']['Numeric'];
4490
4895
  /**
4896
+ * @deprecated
4897
+ * @description Price of the item being sold.
4898
+ */
4899
+ perUnitAmount?: components['schemas']['Numeric'];
4900
+ /**
4901
+ * @deprecated
4491
4902
  * @description Payment term of the line.
4492
4903
  * @default in_advance
4493
4904
  */
4494
4905
  paymentTerm?: components['schemas']['PricePaymentTerm'];
4495
- /** @description Quantity of the item being sold. */
4496
- quantity: components['schemas']['Numeric'];
4906
+ /**
4907
+ * @deprecated
4908
+ * @description Quantity of the item being sold.
4909
+ */
4910
+ quantity?: components['schemas']['Numeric'];
4911
+ /** @description The rate card that is used for this line. */
4912
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
4497
4913
  /**
4498
4914
  * @description Category of the flat fee.
4499
4915
  * @default regular
@@ -4524,7 +4940,10 @@ export interface components {
4524
4940
  metadata?: components['schemas']['Metadata'] | null;
4525
4941
  /** @description The currency of this line. */
4526
4942
  currency: components['schemas']['CurrencyCode'];
4527
- /** @description Tax config specify the tax configuration for this line. */
4943
+ /**
4944
+ * @deprecated
4945
+ * @description Tax config specify the tax configuration for this line.
4946
+ */
4528
4947
  taxConfig?: components['schemas']['TaxConfig'];
4529
4948
  /** @description Period of the line item applies to for revenue recognition pruposes.
4530
4949
  *
@@ -4537,19 +4956,28 @@ export interface components {
4537
4956
  */
4538
4957
  invoiceAt: Date;
4539
4958
  /**
4540
- * @description Type of the line.
4959
+ * @description Type of the line. (enum property replaced by openapi-typescript)
4541
4960
  * @enum {string}
4542
4961
  */
4543
4962
  type: 'flat_fee';
4544
- /** @description Price of the item being sold. */
4545
- perUnitAmount: components['schemas']['Numeric'];
4546
4963
  /**
4964
+ * @deprecated
4965
+ * @description Price of the item being sold.
4966
+ */
4967
+ perUnitAmount?: components['schemas']['Numeric'];
4968
+ /**
4969
+ * @deprecated
4547
4970
  * @description Payment term of the line.
4548
4971
  * @default in_advance
4549
4972
  */
4550
4973
  paymentTerm?: components['schemas']['PricePaymentTerm'];
4551
- /** @description Quantity of the item being sold. */
4552
- quantity: components['schemas']['Numeric'];
4974
+ /**
4975
+ * @deprecated
4976
+ * @description Quantity of the item being sold.
4977
+ */
4978
+ quantity?: components['schemas']['Numeric'];
4979
+ /** @description The rate card that is used for this line. */
4980
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
4553
4981
  /**
4554
4982
  * @description Category of the flat fee.
4555
4983
  * @default regular
@@ -4561,6 +4989,36 @@ export interface components {
4561
4989
  */
4562
4990
  customerId: string;
4563
4991
  };
4992
+ /** @description InvoiceFlatFeeRateCard represents the rate card (intent) for a flat fee line. */
4993
+ InvoiceFlatFeeRateCard: {
4994
+ /**
4995
+ * Tax config
4996
+ * @description The tax config of the rate card.
4997
+ * When undefined, the tax config of the feature or the default tax config of the plan is used.
4998
+ */
4999
+ taxConfig?: components['schemas']['TaxConfig'];
5000
+ /**
5001
+ * Price
5002
+ * @description The price of the rate card.
5003
+ * When null, the feature or service is free.
5004
+ * @example {
5005
+ * "type": "flat",
5006
+ * "amount": "100",
5007
+ * "paymentTerm": "in_arrears"
5008
+ * }
5009
+ */
5010
+ price: components['schemas']['FlatPriceWithPaymentTerm'] | null;
5011
+ /**
5012
+ * Discounts
5013
+ * @description The discount of the rate card. For flat fee rate cards only percentage discounts are supported.
5014
+ * Only available when price is set.
5015
+ */
5016
+ discounts?: components['schemas']['DiscountPercentage'][];
5017
+ /** @description Quantity of the item being sold.
5018
+ *
5019
+ * Default: 1 */
5020
+ quantity?: components['schemas']['Numeric'];
5021
+ };
4564
5022
  /**
4565
5023
  * InvoiceGenericDocumentRef is used to describe an existing document or a specific part of it's contents.
4566
5024
  * @description Omitted fields:
@@ -4585,8 +5043,10 @@ export interface components {
4585
5043
  /** @description The external ID of the invoice in the tax app if available. */
4586
5044
  readonly tax?: string;
4587
5045
  };
4588
- /** @description InvoiceLineDiscount represents an amount deducted from the line, and will be applied before taxes. */
4589
- InvoiceLineDiscount: {
5046
+ /** @description InvoiceLineDiscount represents the actual discount applied to the invoice line. */
5047
+ InvoiceLineDiscount: components['schemas']['InvoiceLineDiscountAmount'] | components['schemas']['InvoiceLineDiscountUsage'];
5048
+ /** @description InvoiceLineDiscountAmount represents an amount deducted from the line, and will be applied before taxes. */
5049
+ InvoiceLineDiscountAmount: {
4590
5050
  /**
4591
5051
  * Creation Time
4592
5052
  * Format: date-time
@@ -4613,17 +5073,79 @@ export interface components {
4613
5073
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
4614
5074
  */
4615
5075
  readonly id: string;
4616
- /** @description Percentage if fixed amount not applied */
4617
- percent?: components['schemas']['Percentage'];
4618
- /** @description Fixed discount amount to apply (calculated if percent present). */
4619
- amount: components['schemas']['Numeric'];
4620
5076
  /** @description Reason code. */
4621
- code?: string;
5077
+ readonly code?: string;
4622
5078
  /** @description Text description as to why the discount was applied. */
4623
- description?: string;
5079
+ readonly description?: string;
5080
+ /**
5081
+ * Amount in the currency of the invoice
5082
+ * @description Fixed discount amount to apply (calculated if percent present).
5083
+ */
5084
+ readonly amount: components['schemas']['Numeric'];
5085
+ /**
5086
+ * @description The type of the discount. (enum property replaced by openapi-typescript)
5087
+ * @enum {string}
5088
+ */
5089
+ type: 'amount';
5090
+ /** @description The discount from the rate card this discount is based on. */
5091
+ readonly rateCardDiscount?: components['schemas']['Discount'];
4624
5092
  /** @description External IDs of the invoice in other apps such as Stripe. */
4625
5093
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
4626
5094
  };
5095
+ /** @description InvoiceLineDiscountUsage represents an usage-based discount applied to the line.
5096
+ *
5097
+ * The deduction is done before the pricing algorithm is applied. */
5098
+ InvoiceLineDiscountUsage: {
5099
+ /**
5100
+ * Creation Time
5101
+ * Format: date-time
5102
+ * @description Timestamp of when the resource was created.
5103
+ * @example 2024-01-01T01:01:01.001Z
5104
+ */
5105
+ readonly createdAt: Date;
5106
+ /**
5107
+ * Last Update Time
5108
+ * Format: date-time
5109
+ * @description Timestamp of when the resource was last updated.
5110
+ * @example 2024-01-01T01:01:01.001Z
5111
+ */
5112
+ readonly updatedAt: Date;
5113
+ /**
5114
+ * Deletion Time
5115
+ * Format: date-time
5116
+ * @description Timestamp of when the resource was permanently deleted.
5117
+ * @example 2024-01-01T01:01:01.001Z
5118
+ */
5119
+ readonly deletedAt?: Date;
5120
+ /**
5121
+ * @description ID of the charge or discount.
5122
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
5123
+ */
5124
+ readonly id: string;
5125
+ /** @description Reason code. */
5126
+ readonly code?: string;
5127
+ /** @description Text description as to why the discount was applied. */
5128
+ readonly description?: string;
5129
+ /**
5130
+ * Usage quantity in the unit of the underlying meter
5131
+ * @description The usage to apply.
5132
+ */
5133
+ readonly quantity: components['schemas']['Numeric'];
5134
+ /**
5135
+ * Usage quantity in the unit of the underlying meter
5136
+ * @description The usage discount already applied to the previous split lines.
5137
+ *
5138
+ * Only set if progressive billing is enabled and the line is a split line.
5139
+ */
5140
+ readonly preLinePeriodQuantity?: components['schemas']['Numeric'];
5141
+ /**
5142
+ * @description The type of the discount. (enum property replaced by openapi-typescript)
5143
+ * @enum {string}
5144
+ */
5145
+ type: 'usage';
5146
+ /** @description The discount from the rate card this discount is based on. */
5147
+ readonly rateCardDiscount?: components['schemas']['Discount'];
5148
+ };
4627
5149
  /**
4628
5150
  * @description InvoiceLineManagedBy specifies who manages the line.
4629
5151
  * @enum {string}
@@ -4636,7 +5158,7 @@ export interface components {
4636
5158
  * @enum {string}
4637
5159
  */
4638
5160
  InvoiceLineStatus: 'valid' | 'detail' | 'split';
4639
- /** @description InvoiceLineSubscriptionReference contains the references to the subscriptions that this line is related to. */
5161
+ /** @description InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to. */
4640
5162
  InvoiceLineSubscriptionReference: {
4641
5163
  /** @description The subscription. */
4642
5164
  readonly subscription: components['schemas']['IDResource'];
@@ -4797,7 +5319,10 @@ export interface components {
4797
5319
  * @description Additional metadata for the resource.
4798
5320
  */
4799
5321
  metadata?: components['schemas']['Metadata'] | null;
4800
- /** @description Tax config specify the tax configuration for this line. */
5322
+ /**
5323
+ * @deprecated
5324
+ * @description Tax config specify the tax configuration for this line.
5325
+ */
4801
5326
  taxConfig?: components['schemas']['TaxConfig'];
4802
5327
  /** @description Period of the line item applies to for revenue recognition pruposes.
4803
5328
  *
@@ -4810,19 +5335,28 @@ export interface components {
4810
5335
  */
4811
5336
  invoiceAt: Date;
4812
5337
  /**
4813
- * @description Type of the line.
5338
+ * @description Type of the line. (enum property replaced by openapi-typescript)
4814
5339
  * @enum {string}
4815
5340
  */
4816
5341
  type: 'flat_fee';
4817
- /** @description Price of the item being sold. */
4818
- perUnitAmount: components['schemas']['Numeric'];
4819
5342
  /**
5343
+ * @deprecated
5344
+ * @description Price of the item being sold.
5345
+ */
5346
+ perUnitAmount?: components['schemas']['Numeric'];
5347
+ /**
5348
+ * @deprecated
4820
5349
  * @description Payment term of the line.
4821
5350
  * @default in_advance
4822
5351
  */
4823
5352
  paymentTerm?: components['schemas']['PricePaymentTerm'];
4824
- /** @description Quantity of the item being sold. */
4825
- quantity: components['schemas']['Numeric'];
5353
+ /**
5354
+ * @deprecated
5355
+ * @description Quantity of the item being sold.
5356
+ */
5357
+ quantity?: components['schemas']['Numeric'];
5358
+ /** @description The rate card that is used for this line. */
5359
+ rateCard?: components['schemas']['InvoiceFlatFeeRateCard'];
4826
5360
  /**
4827
5361
  * @description Category of the flat fee.
4828
5362
  * @default regular
@@ -4866,7 +5400,10 @@ export interface components {
4866
5400
  * @description Additional metadata for the resource.
4867
5401
  */
4868
5402
  metadata?: components['schemas']['Metadata'] | null;
4869
- /** @description Tax config specify the tax configuration for this line. */
5403
+ /**
5404
+ * @deprecated
5405
+ * @description Tax config specify the tax configuration for this line.
5406
+ */
4870
5407
  taxConfig?: components['schemas']['TaxConfig'];
4871
5408
  /** @description Period of the line item applies to for revenue recognition pruposes.
4872
5409
  *
@@ -4879,14 +5416,24 @@ export interface components {
4879
5416
  */
4880
5417
  invoiceAt: Date;
4881
5418
  /**
4882
- * @description Type of the line.
5419
+ * @description Type of the line. (enum property replaced by openapi-typescript)
4883
5420
  * @enum {string}
4884
5421
  */
4885
5422
  type: 'usage_based';
4886
- /** @description Price of the usage-based item being sold. */
4887
- price: components['schemas']['RateCardUsageBasedPrice'];
4888
- /** @description The feature that the usage is based on. */
4889
- featureKey: string;
5423
+ /**
5424
+ * @deprecated
5425
+ * @description Price of the usage-based item being sold.
5426
+ */
5427
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5428
+ /**
5429
+ * @deprecated
5430
+ * @description The feature that the usage is based on.
5431
+ */
5432
+ featureKey?: string;
5433
+ /** @description The rate card that is used for this line.
5434
+ *
5435
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5436
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
4890
5437
  /** @description The quantity of the item being sold. */
4891
5438
  quantity: components['schemas']['Numeric'];
4892
5439
  /** @description The quantity of the item used before this line's period, if the line is billed progressively. */
@@ -4997,18 +5544,16 @@ export interface components {
4997
5544
  * New discounts can be added via the invoice's discounts API, to facilitate
4998
5545
  * discounts that are affecting multiple lines. */
4999
5546
  readonly discounts?: components['schemas']['InvoiceLineDiscount'][];
5000
- /** @description Charges applied to this line. (like minimum spend)
5001
- *
5002
- * New charges can be added via the invoice's charges API, to facilitate
5003
- * charges that are affecting multiple lines. */
5004
- readonly charges?: components['schemas']['BillingLineCharge'][];
5005
5547
  /** @description The invoice this item belongs to. */
5006
5548
  invoice?: components['schemas']['InvoiceReference'];
5007
5549
  /** @description The currency of this line. */
5008
5550
  currency: components['schemas']['CurrencyCode'];
5009
5551
  /** @description Taxes applied to the invoice totals. */
5010
5552
  readonly taxes?: components['schemas']['InvoiceLineTaxItem'][];
5011
- /** @description Tax config specify the tax configuration for this line. */
5553
+ /**
5554
+ * @deprecated
5555
+ * @description Tax config specify the tax configuration for this line.
5556
+ */
5012
5557
  taxConfig?: components['schemas']['TaxConfig'];
5013
5558
  /** @description The lines detailing the item or service sold. */
5014
5559
  readonly children?: components['schemas']['InvoiceLine'][];
@@ -5027,16 +5572,26 @@ export interface components {
5027
5572
  /** @description External IDs of the invoice in other apps such as Stripe. */
5028
5573
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
5029
5574
  /** @description Subscription are the references to the subscritpions that this line is related to. */
5030
- readonly subscriptions?: components['schemas']['InvoiceLineSubscriptionReference'];
5575
+ readonly subscription?: components['schemas']['InvoiceLineSubscriptionReference'];
5031
5576
  /**
5032
- * @description Type of the line.
5577
+ * @description Type of the line. (enum property replaced by openapi-typescript)
5033
5578
  * @enum {string}
5034
5579
  */
5035
5580
  type: 'usage_based';
5036
- /** @description Price of the usage-based item being sold. */
5037
- price: components['schemas']['RateCardUsageBasedPrice'];
5038
- /** @description The feature that the usage is based on. */
5039
- featureKey: string;
5581
+ /**
5582
+ * @deprecated
5583
+ * @description Price of the usage-based item being sold.
5584
+ */
5585
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5586
+ /**
5587
+ * @deprecated
5588
+ * @description The feature that the usage is based on.
5589
+ */
5590
+ featureKey?: string;
5591
+ /** @description The rate card that is used for this line.
5592
+ *
5593
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5594
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5040
5595
  /** @description The quantity of the item being sold. */
5041
5596
  readonly quantity?: components['schemas']['Numeric'];
5042
5597
  /** @description The quantity of the item used in before this line's period.
@@ -5063,7 +5618,10 @@ export interface components {
5063
5618
  * @description Additional metadata for the resource.
5064
5619
  */
5065
5620
  metadata?: components['schemas']['Metadata'] | null;
5066
- /** @description Tax config specify the tax configuration for this line. */
5621
+ /**
5622
+ * @deprecated
5623
+ * @description Tax config specify the tax configuration for this line.
5624
+ */
5067
5625
  taxConfig?: components['schemas']['TaxConfig'];
5068
5626
  /** @description Period of the line item applies to for revenue recognition pruposes.
5069
5627
  *
@@ -5076,14 +5634,24 @@ export interface components {
5076
5634
  */
5077
5635
  invoiceAt: Date;
5078
5636
  /**
5079
- * @description Type of the line.
5637
+ * @description Type of the line. (enum property replaced by openapi-typescript)
5080
5638
  * @enum {string}
5081
5639
  */
5082
5640
  type: 'usage_based';
5083
- /** @description Price of the usage-based item being sold. */
5084
- price: components['schemas']['RateCardUsageBasedPrice'];
5085
- /** @description The feature that the usage is based on. */
5086
- featureKey: string;
5641
+ /**
5642
+ * @deprecated
5643
+ * @description Price of the usage-based item being sold.
5644
+ */
5645
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5646
+ /**
5647
+ * @deprecated
5648
+ * @description The feature that the usage is based on.
5649
+ */
5650
+ featureKey?: string;
5651
+ /** @description The rate card that is used for this line.
5652
+ *
5653
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5654
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5087
5655
  /**
5088
5656
  * @description The ID of the line.
5089
5657
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
@@ -5109,7 +5677,10 @@ export interface components {
5109
5677
  metadata?: components['schemas']['Metadata'] | null;
5110
5678
  /** @description The currency of this line. */
5111
5679
  currency: components['schemas']['CurrencyCode'];
5112
- /** @description Tax config specify the tax configuration for this line. */
5680
+ /**
5681
+ * @deprecated
5682
+ * @description Tax config specify the tax configuration for this line.
5683
+ */
5113
5684
  taxConfig?: components['schemas']['TaxConfig'];
5114
5685
  /** @description Period of the line item applies to for revenue recognition pruposes.
5115
5686
  *
@@ -5122,20 +5693,54 @@ export interface components {
5122
5693
  */
5123
5694
  invoiceAt: Date;
5124
5695
  /**
5125
- * @description Type of the line.
5696
+ * @description Type of the line. (enum property replaced by openapi-typescript)
5126
5697
  * @enum {string}
5127
5698
  */
5128
5699
  type: 'usage_based';
5129
- /** @description Price of the usage-based item being sold. */
5130
- price: components['schemas']['RateCardUsageBasedPrice'];
5131
- /** @description The feature that the usage is based on. */
5132
- featureKey: string;
5700
+ /**
5701
+ * @deprecated
5702
+ * @description Price of the usage-based item being sold.
5703
+ */
5704
+ price?: components['schemas']['RateCardUsageBasedPrice'];
5705
+ /**
5706
+ * @deprecated
5707
+ * @description The feature that the usage is based on.
5708
+ */
5709
+ featureKey?: string;
5710
+ /** @description The rate card that is used for this line.
5711
+ *
5712
+ * The rate card captures the intent of the price and discounts for the usage-based item. */
5713
+ rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5133
5714
  /**
5134
5715
  * @description The customer this line item belongs to.
5135
5716
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
5136
5717
  */
5137
5718
  customerId: string;
5138
5719
  };
5720
+ /** @description InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based line. */
5721
+ InvoiceUsageBasedRateCard: {
5722
+ /**
5723
+ * Feature key
5724
+ * @description The feature the customer is entitled to use.
5725
+ */
5726
+ featureKey?: string;
5727
+ /**
5728
+ * Tax config
5729
+ * @description The tax config of the rate card.
5730
+ * When undefined, the tax config of the feature or the default tax config of the plan is used.
5731
+ */
5732
+ taxConfig?: components['schemas']['TaxConfig'];
5733
+ /** @description The price of the rate card.
5734
+ * When null, the feature or service is free. */
5735
+ price: components['schemas']['RateCardUsageBasedPrice'] | null;
5736
+ /**
5737
+ * Discounts
5738
+ * @description The discounts of the rate card.
5739
+ *
5740
+ * Flat fee rate cards only support percentage discounts.
5741
+ */
5742
+ discounts?: components['schemas']['Discount'][];
5743
+ };
5139
5744
  /** @description InvoiceWorkflowInvoicingSettingsReplaceUpdate represents the update model for the invoicing settings of an invoice workflow. */
5140
5745
  InvoiceWorkflowInvoicingSettingsReplaceUpdate: {
5141
5746
  /**
@@ -5482,6 +6087,11 @@ export interface components {
5482
6087
  [key: string]: string;
5483
6088
  };
5484
6089
  };
6090
+ /**
6091
+ * @description Order by options for meters.
6092
+ * @enum {string}
6093
+ */
6094
+ MeterOrderBy: 'key' | 'name' | 'aggregation' | 'createdAt' | 'updatedAt';
5485
6095
  /**
5486
6096
  * @description The result of a meter query.
5487
6097
  * @example {
@@ -5628,7 +6238,7 @@ export interface components {
5628
6238
  * Channel Type
5629
6239
  * @description Notification channel type.
5630
6240
  */
5631
- readonly type: components['schemas']['NotificationChannelType'];
6241
+ type: components['schemas']['NotificationChannelType'];
5632
6242
  };
5633
6243
  /**
5634
6244
  * @description Order by options for notification channels.
@@ -6070,6 +6680,34 @@ export interface components {
6070
6680
  * @enum {string}
6071
6681
  */
6072
6682
  OAuth2AuthorizationCodeGrantErrorType: 'invalid_request' | 'unauthorized_client' | 'access_denied' | 'unsupported_response_type' | 'invalid_scope' | 'server_error' | 'temporarily_unavailable';
6683
+ /** @description Package price with spend commitments. */
6684
+ PackagePriceWithCommitments: {
6685
+ /**
6686
+ * @description The type of the price. (enum property replaced by openapi-typescript)
6687
+ * @enum {string}
6688
+ */
6689
+ type: 'package';
6690
+ /**
6691
+ * Amount
6692
+ * @description The price of one package.
6693
+ */
6694
+ amount: components['schemas']['Numeric'];
6695
+ /**
6696
+ * Quantity per package
6697
+ * @description The quantity per package.
6698
+ */
6699
+ quantityPerPackage: components['schemas']['Numeric'];
6700
+ /**
6701
+ * Minimum amount
6702
+ * @description The customer is committed to spend at least the amount.
6703
+ */
6704
+ minimumAmount?: components['schemas']['Numeric'];
6705
+ /**
6706
+ * Maximum amount
6707
+ * @description The customer is limited to spend at most the amount.
6708
+ */
6709
+ maximumAmount?: components['schemas']['Numeric'];
6710
+ };
6073
6711
  /** @description PaymentDueDate contains an amount that should be paid by the given date. */
6074
6712
  PaymentDueDate: {
6075
6713
  /**
@@ -6273,7 +6911,7 @@ export interface components {
6273
6911
  * @description Order by options for plans.
6274
6912
  * @enum {string}
6275
6913
  */
6276
- PlanOrderBy: 'id' | 'key' | 'version' | 'create_at' | 'updated_at';
6914
+ PlanOrderBy: 'id' | 'key' | 'version' | 'created_at' | 'updated_at';
6277
6915
  /** @description Paginated response */
6278
6916
  PlanPaginatedResponse: {
6279
6917
  /**
@@ -6328,11 +6966,6 @@ export interface components {
6328
6966
  * @description The rate cards of the plan.
6329
6967
  */
6330
6968
  rateCards: components['schemas']['RateCard'][];
6331
- /**
6332
- * Discounts
6333
- * @description The discounts on the plan.
6334
- */
6335
- discounts?: components['schemas']['Discount'][];
6336
6969
  };
6337
6970
  /** @description References an exact plan. */
6338
6971
  PlanReference: {
@@ -6522,7 +7155,10 @@ export interface components {
6522
7155
  RateCardBooleanEntitlement: {
6523
7156
  /** @description Additional metadata for the feature. */
6524
7157
  metadata?: components['schemas']['Metadata'];
6525
- /** @enum {string} */
7158
+ /**
7159
+ * @description discriminator enum property added by openapi-typescript
7160
+ * @enum {string}
7161
+ */
6526
7162
  type: 'boolean';
6527
7163
  };
6528
7164
  /** @description Entitlement templates are used to define the entitlements of a plan.
@@ -6587,12 +7223,21 @@ export interface components {
6587
7223
  * }
6588
7224
  */
6589
7225
  price: components['schemas']['FlatPriceWithPaymentTerm'] | null;
7226
+ /**
7227
+ * Discounts
7228
+ * @description The discount of the rate card. For flat fee rate cards only percentage discounts are supported.
7229
+ * Only available when price is set.
7230
+ */
7231
+ discounts?: components['schemas']['DiscountPercentage'][];
6590
7232
  };
6591
7233
  /** @description The entitlement template with a metered entitlement. */
6592
7234
  RateCardMeteredEntitlement: {
6593
7235
  /** @description Additional metadata for the feature. */
6594
7236
  metadata?: components['schemas']['Metadata'];
6595
- /** @enum {string} */
7237
+ /**
7238
+ * @description discriminator enum property added by openapi-typescript
7239
+ * @enum {string}
7240
+ */
6596
7241
  type: 'metered';
6597
7242
  /**
6598
7243
  * Soft limit
@@ -6634,7 +7279,10 @@ export interface components {
6634
7279
  RateCardStaticEntitlement: {
6635
7280
  /** @description Additional metadata for the feature. */
6636
7281
  metadata?: components['schemas']['Metadata'];
6637
- /** @enum {string} */
7282
+ /**
7283
+ * @description discriminator enum property added by openapi-typescript
7284
+ * @enum {string}
7285
+ */
6638
7286
  type: 'static';
6639
7287
  /**
6640
7288
  * Format: json
@@ -6693,9 +7341,16 @@ export interface components {
6693
7341
  /** @description The price of the rate card.
6694
7342
  * When null, the feature or service is free. */
6695
7343
  price: components['schemas']['RateCardUsageBasedPrice'] | null;
7344
+ /**
7345
+ * Discounts
7346
+ * @description The discounts of the rate card.
7347
+ *
7348
+ * Flat fee rate cards only support percentage discounts.
7349
+ */
7350
+ discounts?: components['schemas']['Discount'][];
6696
7351
  };
6697
7352
  /** @description The price of the usage based rate card. */
6698
- RateCardUsageBasedPrice: components['schemas']['FlatPriceWithPaymentTerm'] | components['schemas']['UnitPriceWithCommitments'] | components['schemas']['TieredPriceWithCommitments'];
7353
+ RateCardUsageBasedPrice: components['schemas']['FlatPriceWithPaymentTerm'] | components['schemas']['UnitPriceWithCommitments'] | components['schemas']['TieredPriceWithCommitments'] | components['schemas']['DynamicPriceWithCommitments'] | components['schemas']['PackagePriceWithCommitments'];
6699
7354
  /**
6700
7355
  * @description Recurring period with an interval and an anchor.
6701
7356
  * @example {
@@ -6829,7 +7484,7 @@ export interface components {
6829
7484
  * Only one app of each type can be default. */
6830
7485
  default: boolean;
6831
7486
  /**
6832
- * @description The app's type is Sandbox.
7487
+ * @description The app's type is Sandbox. (enum property replaced by openapi-typescript)
6833
7488
  * @enum {string}
6834
7489
  */
6835
7490
  type: 'sandbox';
@@ -6846,8 +7501,7 @@ export interface components {
6846
7501
  */
6847
7502
  id?: string;
6848
7503
  /**
6849
- * App Type
6850
- * @description The app name.
7504
+ * @description The app name. (enum property replaced by openapi-typescript)
6851
7505
  * @enum {string}
6852
7506
  */
6853
7507
  type: 'sandbox';
@@ -6955,7 +7609,7 @@ export interface components {
6955
7609
  * Only one app of each type can be default. */
6956
7610
  default: boolean;
6957
7611
  /**
6958
- * @description The app's type is Stripe.
7612
+ * @description The app's type is Stripe. (enum property replaced by openapi-typescript)
6959
7613
  * @enum {string}
6960
7614
  */
6961
7615
  type: 'stripe';
@@ -6988,8 +7642,7 @@ export interface components {
6988
7642
  */
6989
7643
  id?: string;
6990
7644
  /**
6991
- * App Type
6992
- * @description The app name.
7645
+ * @description The app name. (enum property replaced by openapi-typescript)
6993
7646
  * @enum {string}
6994
7647
  */
6995
7648
  type: 'stripe';
@@ -7414,6 +8067,11 @@ export interface components {
7414
8067
  * @example {}
7415
8068
  */
7416
8069
  price: components['schemas']['RateCardUsageBasedPrice'] | null;
8070
+ /**
8071
+ * Discounts
8072
+ * @description The discounts applied to the rate card.
8073
+ */
8074
+ discounts?: components['schemas']['Discount'][];
7417
8075
  /** @description Describes what access is gained via the SubscriptionItem */
7418
8076
  included?: components['schemas']['SubscriptionItemIncluded'];
7419
8077
  /**
@@ -7805,7 +8463,7 @@ export interface components {
7805
8463
  /** @description VoidInvoiceLineDiscardAction describes how to handle the voidied line item in the invoice. */
7806
8464
  VoidInvoiceLineDiscardAction: {
7807
8465
  /**
7808
- * @description The action to take on the line item.
8466
+ * @description The action to take on the line item. (enum property replaced by openapi-typescript)
7809
8467
  * @enum {string}
7810
8468
  */
7811
8469
  type: 'discard';
@@ -7813,7 +8471,7 @@ export interface components {
7813
8471
  /** @description VoidInvoiceLinePendingAction describes how to handle the voidied line item in the invoice. */
7814
8472
  VoidInvoiceLinePendingActionCreate: {
7815
8473
  /**
7816
- * @description The action to take on the line item.
8474
+ * @description The action to take on the line item. (enum property replaced by openapi-typescript)
7817
8475
  * @enum {string}
7818
8476
  */
7819
8477
  type: 'pending';
@@ -7829,7 +8487,7 @@ export interface components {
7829
8487
  /** @description VoidInvoiceLinePendingAction describes how to handle the voidied line item in the invoice. */
7830
8488
  VoidInvoiceLinePendingActionCreateItem: {
7831
8489
  /**
7832
- * @description The action to take on the line item.
8490
+ * @description The action to take on the line item. (enum property replaced by openapi-typescript)
7833
8491
  * @enum {string}
7834
8492
  */
7835
8493
  type: 'pending';
@@ -7860,6 +8518,10 @@ export interface components {
7860
8518
  };
7861
8519
  responses: never;
7862
8520
  parameters: {
8521
+ /** @description The order direction. */
8522
+ 'AddonOrderByOrdering.order': components['schemas']['SortOrder'];
8523
+ /** @description The order by field. */
8524
+ 'AddonOrderByOrdering.orderBy': components['schemas']['AddonOrderBy'];
7863
8525
  /** @description The order direction. */
7864
8526
  'BillingProfileCustomerOverrideOrderByOrdering.order': components['schemas']['SortOrder'];
7865
8527
  /** @description The order by field. */
@@ -7936,30 +8598,48 @@ export interface components {
7936
8598
  'MarketplaceApiKeyInstallRequest.type': components['schemas']['AppType'];
7937
8599
  /** @description The type of the app to install. */
7938
8600
  'MarketplaceOAuth2InstallAuthorizeRequest.type': components['schemas']['AppType'];
8601
+ /** @description The order direction. */
8602
+ 'MeterOrderByOrdering.order': components['schemas']['SortOrder'];
8603
+ /** @description The order by field. */
8604
+ 'MeterOrderByOrdering.orderBy': components['schemas']['MeterOrderBy'];
7939
8605
  /** @description Client ID
7940
8606
  * Useful to track progress of a query. */
7941
8607
  'MeterQuery.clientId': string;
7942
- /** @description Simple filter for group bys with exact match. */
8608
+ /** @description Simple filter for group bys with exact match.
8609
+ *
8610
+ * For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo */
7943
8611
  'MeterQuery.filterGroupBy': {
7944
8612
  [key: string]: string;
7945
8613
  };
7946
8614
  /** @description Start date-time in RFC 3339 format.
7947
8615
  *
7948
- * Inclusive. */
8616
+ * Inclusive.
8617
+ *
8618
+ * For example: ?from=2025-01-01T00%3A00%3A00.000Z */
7949
8619
  'MeterQuery.from': Date | string;
7950
8620
  /** @description If not specified a single aggregate will be returned for each subject and time window.
7951
- * `subject` is a reserved group by value. */
8621
+ * `subject` is a reserved group by value.
8622
+ *
8623
+ * For example: ?groupBy=subject&groupBy=model */
7952
8624
  'MeterQuery.groupBy': string[];
7953
- /** @description Filtering by multiple subjects. */
8625
+ /** @description Filtering by multiple subjects.
8626
+ *
8627
+ * For example: ?subject=customer-1&subject=customer-2 */
7954
8628
  'MeterQuery.subject': string[];
7955
8629
  /** @description End date-time in RFC 3339 format.
7956
8630
  *
7957
- * Inclusive. */
8631
+ * Inclusive.
8632
+ *
8633
+ * For example: ?to=2025-02-01T00%3A00%3A00.000Z */
7958
8634
  'MeterQuery.to': Date | string;
7959
- /** @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. */
8635
+ /** @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
8636
+ *
8637
+ * For example: ?windowSize=DAY */
7960
8638
  'MeterQuery.windowSize': components['schemas']['WindowSize'];
7961
8639
  /** @description The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones).
7962
- * If not specified, the UTC timezone will be used. */
8640
+ * If not specified, the UTC timezone will be used.
8641
+ *
8642
+ * For example: ?windowTimeZone=UTC */
7963
8643
  'MeterQuery.windowTimeZone': string;
7964
8644
  /** @description The order direction. */
7965
8645
  'NotificationChannelOrderByOrdering.order': components['schemas']['SortOrder'];
@@ -8022,11 +8702,20 @@ export interface components {
8022
8702
  'queryCustomerList.subject': string;
8023
8703
  /** @description Filter customer data by app type. */
8024
8704
  'queryCustomerList.type': components['schemas']['AppType'];
8705
+ /** @description Include deleted meters. */
8706
+ 'queryMeterList.includeDeleted': boolean;
8025
8707
  };
8026
8708
  requestBodies: never;
8027
8709
  headers: never;
8028
8710
  pathItems: never;
8029
8711
  }
8712
+ export type Addon = components['schemas']['Addon'];
8713
+ export type AddonCreate = components['schemas']['AddonCreate'];
8714
+ export type AddonInstanceType = components['schemas']['AddonInstanceType'];
8715
+ export type AddonOrderBy = components['schemas']['AddonOrderBy'];
8716
+ export type AddonPaginatedResponse = components['schemas']['AddonPaginatedResponse'];
8717
+ export type AddonReplaceUpdate = components['schemas']['AddonReplaceUpdate'];
8718
+ export type AddonStatus = components['schemas']['AddonStatus'];
8030
8719
  export type Address = components['schemas']['Address'];
8031
8720
  export type Alignment = components['schemas']['Alignment'];
8032
8721
  export type Annotations = components['schemas']['Annotations'];
@@ -8041,7 +8730,6 @@ export type AppType = components['schemas']['AppType'];
8041
8730
  export type BadRequestProblemResponse = components['schemas']['BadRequestProblemResponse'];
8042
8731
  export type BalanceHistoryWindow = components['schemas']['BalanceHistoryWindow'];
8043
8732
  export type BillingCustomerProfile = components['schemas']['BillingCustomerProfile'];
8044
- export type BillingLineCharge = components['schemas']['BillingLineCharge'];
8045
8733
  export type BillingParty = components['schemas']['BillingParty'];
8046
8734
  export type BillingPartyReplaceUpdate = components['schemas']['BillingPartyReplaceUpdate'];
8047
8735
  export type BillingPartyTaxIdentity = components['schemas']['BillingPartyTaxIdentity'];
@@ -8096,6 +8784,7 @@ export type CustomPlanInput = components['schemas']['CustomPlanInput'];
8096
8784
  export type CustomSubscriptionChange = components['schemas']['CustomSubscriptionChange'];
8097
8785
  export type CustomSubscriptionCreate = components['schemas']['CustomSubscriptionCreate'];
8098
8786
  export type Customer = components['schemas']['Customer'];
8787
+ export type CustomerAccess = components['schemas']['CustomerAccess'];
8099
8788
  export type CustomerAppData = components['schemas']['CustomerAppData'];
8100
8789
  export type CustomerAppDataPaginatedResponse = components['schemas']['CustomerAppDataPaginatedResponse'];
8101
8790
  export type CustomerCreate = components['schemas']['CustomerCreate'];
@@ -8107,6 +8796,8 @@ export type CustomerReplaceUpdate = components['schemas']['CustomerReplaceUpdate
8107
8796
  export type CustomerUsageAttribution = components['schemas']['CustomerUsageAttribution'];
8108
8797
  export type Discount = components['schemas']['Discount'];
8109
8798
  export type DiscountPercentage = components['schemas']['DiscountPercentage'];
8799
+ export type DiscountUsage = components['schemas']['DiscountUsage'];
8800
+ export type DynamicPriceWithCommitments = components['schemas']['DynamicPriceWithCommitments'];
8110
8801
  export type EditSubscriptionAddItem = components['schemas']['EditSubscriptionAddItem'];
8111
8802
  export type EditSubscriptionAddPhase = components['schemas']['EditSubscriptionAddPhase'];
8112
8803
  export type EditSubscriptionRemoveItem = components['schemas']['EditSubscriptionRemoveItem'];
@@ -8163,10 +8854,13 @@ export type InvoiceFlatFeeCategory = components['schemas']['InvoiceFlatFeeCatego
8163
8854
  export type InvoiceFlatFeeLine = components['schemas']['InvoiceFlatFeeLine'];
8164
8855
  export type InvoiceFlatFeeLineReplaceUpdate = components['schemas']['InvoiceFlatFeeLineReplaceUpdate'];
8165
8856
  export type InvoiceFlatFeePendingLineCreate = components['schemas']['InvoiceFlatFeePendingLineCreate'];
8857
+ export type InvoiceFlatFeeRateCard = components['schemas']['InvoiceFlatFeeRateCard'];
8166
8858
  export type InvoiceGenericDocumentRef = components['schemas']['InvoiceGenericDocumentRef'];
8167
8859
  export type InvoiceLine = components['schemas']['InvoiceLine'];
8168
8860
  export type InvoiceLineAppExternalIds = components['schemas']['InvoiceLineAppExternalIds'];
8169
8861
  export type InvoiceLineDiscount = components['schemas']['InvoiceLineDiscount'];
8862
+ export type InvoiceLineDiscountAmount = components['schemas']['InvoiceLineDiscountAmount'];
8863
+ export type InvoiceLineDiscountUsage = components['schemas']['InvoiceLineDiscountUsage'];
8170
8864
  export type InvoiceLineManagedBy = components['schemas']['InvoiceLineManagedBy'];
8171
8865
  export type InvoiceLineReplaceUpdate = components['schemas']['InvoiceLineReplaceUpdate'];
8172
8866
  export type InvoiceLineStatus = components['schemas']['InvoiceLineStatus'];
@@ -8193,6 +8887,7 @@ export type InvoiceType = components['schemas']['InvoiceType'];
8193
8887
  export type InvoiceUsageBasedLine = components['schemas']['InvoiceUsageBasedLine'];
8194
8888
  export type InvoiceUsageBasedLineReplaceUpdate = components['schemas']['InvoiceUsageBasedLineReplaceUpdate'];
8195
8889
  export type InvoiceUsageBasedPendingLineCreate = components['schemas']['InvoiceUsageBasedPendingLineCreate'];
8890
+ export type InvoiceUsageBasedRateCard = components['schemas']['InvoiceUsageBasedRateCard'];
8196
8891
  export type InvoiceWorkflowInvoicingSettingsReplaceUpdate = components['schemas']['InvoiceWorkflowInvoicingSettingsReplaceUpdate'];
8197
8892
  export type InvoiceWorkflowReplaceUpdate = components['schemas']['InvoiceWorkflowReplaceUpdate'];
8198
8893
  export type InvoiceWorkflowSettings = components['schemas']['InvoiceWorkflowSettings'];
@@ -8209,6 +8904,7 @@ export type Metadata = components['schemas']['Metadata'];
8209
8904
  export type Meter = components['schemas']['Meter'];
8210
8905
  export type MeterAggregation = components['schemas']['MeterAggregation'];
8211
8906
  export type MeterCreate = components['schemas']['MeterCreate'];
8907
+ export type MeterOrderBy = components['schemas']['MeterOrderBy'];
8212
8908
  export type MeterQueryResult = components['schemas']['MeterQueryResult'];
8213
8909
  export type MeterQueryRow = components['schemas']['MeterQueryRow'];
8214
8910
  export type MeterUpdate = components['schemas']['MeterUpdate'];
@@ -8241,6 +8937,7 @@ export type NotificationRuleOrderBy = components['schemas']['NotificationRuleOrd
8241
8937
  export type NotificationRulePaginatedResponse = components['schemas']['NotificationRulePaginatedResponse'];
8242
8938
  export type Numeric = components['schemas']['Numeric'];
8243
8939
  export type OAuth2AuthorizationCodeGrantErrorType = components['schemas']['OAuth2AuthorizationCodeGrantErrorType'];
8940
+ export type PackagePriceWithCommitments = components['schemas']['PackagePriceWithCommitments'];
8244
8941
  export type PaymentDueDate = components['schemas']['PaymentDueDate'];
8245
8942
  export type PaymentTermDueDate = components['schemas']['PaymentTermDueDate'];
8246
8943
  export type PaymentTermInstant = components['schemas']['PaymentTermInstant'];
@@ -8328,6 +9025,8 @@ export type VoidInvoiceLinePendingActionCreate = components['schemas']['VoidInvo
8328
9025
  export type VoidInvoiceLinePendingActionCreateItem = components['schemas']['VoidInvoiceLinePendingActionCreateItem'];
8329
9026
  export type WindowSize = components['schemas']['WindowSize'];
8330
9027
  export type WindowedBalanceHistory = components['schemas']['WindowedBalanceHistory'];
9028
+ export type ParameterAddonOrderByOrderingOrder = components['parameters']['AddonOrderByOrdering.order'];
9029
+ export type ParameterAddonOrderByOrderingOrderBy = components['parameters']['AddonOrderByOrdering.orderBy'];
8331
9030
  export type ParameterBillingProfileCustomerOverrideOrderByOrderingOrder = components['parameters']['BillingProfileCustomerOverrideOrderByOrdering.order'];
8332
9031
  export type ParameterBillingProfileCustomerOverrideOrderByOrderingOrderBy = components['parameters']['BillingProfileCustomerOverrideOrderByOrdering.orderBy'];
8333
9032
  export type ParameterBillingProfileListCustomerOverridesParamsBillingProfile = components['parameters']['BillingProfileListCustomerOverridesParams.billingProfile'];
@@ -8362,6 +9061,8 @@ export type ParameterLimitOffsetLimit = components['parameters']['LimitOffset.li
8362
9061
  export type ParameterLimitOffsetOffset = components['parameters']['LimitOffset.offset'];
8363
9062
  export type ParameterMarketplaceApiKeyInstallRequestType = components['parameters']['MarketplaceApiKeyInstallRequest.type'];
8364
9063
  export type ParameterMarketplaceOAuth2InstallAuthorizeRequestType = components['parameters']['MarketplaceOAuth2InstallAuthorizeRequest.type'];
9064
+ export type ParameterMeterOrderByOrderingOrder = components['parameters']['MeterOrderByOrdering.order'];
9065
+ export type ParameterMeterOrderByOrderingOrderBy = components['parameters']['MeterOrderByOrdering.orderBy'];
8365
9066
  export type ParameterMeterQueryClientId = components['parameters']['MeterQuery.clientId'];
8366
9067
  export type ParameterMeterQueryFilterGroupBy = components['parameters']['MeterQuery.filterGroupBy'];
8367
9068
  export type ParameterMeterQueryFrom = components['parameters']['MeterQuery.from'];
@@ -8392,8 +9093,690 @@ export type ParameterQueryCustomerListPlanKey = components['parameters']['queryC
8392
9093
  export type ParameterQueryCustomerListPrimaryEmail = components['parameters']['queryCustomerList.primaryEmail'];
8393
9094
  export type ParameterQueryCustomerListSubject = components['parameters']['queryCustomerList.subject'];
8394
9095
  export type ParameterQueryCustomerListType = components['parameters']['queryCustomerList.type'];
9096
+ export type ParameterQueryMeterListIncludeDeleted = components['parameters']['queryMeterList.includeDeleted'];
8395
9097
  export type $defs = Record<string, never>;
8396
9098
  export interface operations {
9099
+ listAddons: {
9100
+ parameters: {
9101
+ query?: {
9102
+ /** @description Include deleted add-ons in response.
9103
+ *
9104
+ * Usage: `?includeDeleted=true` */
9105
+ includeDeleted?: boolean;
9106
+ /** @description Filter by addon.id attribute */
9107
+ id?: string[];
9108
+ /** @description Filter by addon.key attribute */
9109
+ key?: string[];
9110
+ /** @description Filter by addon.key and addon.version attributes */
9111
+ keyVersion?: {
9112
+ [key: string]: number[];
9113
+ };
9114
+ /** @description Only return add-ons with the given status.
9115
+ *
9116
+ * Usage:
9117
+ * - `?status=active`: return only the currently active add-ons
9118
+ * - `?status=draft`: return only the draft add-ons
9119
+ * - `?status=archived`: return only the archived add-ons */
9120
+ status?: components['schemas']['AddonStatus'][];
9121
+ /** @description Filter by addon.currency attribute */
9122
+ currency?: components['schemas']['CurrencyCode'][];
9123
+ /** @description Page index.
9124
+ *
9125
+ * Default is 1. */
9126
+ page?: components['parameters']['Pagination.page'];
9127
+ /** @description The maximum number of items per page.
9128
+ *
9129
+ * Default is 100. */
9130
+ pageSize?: components['parameters']['Pagination.pageSize'];
9131
+ /** @description The order direction. */
9132
+ order?: components['parameters']['AddonOrderByOrdering.order'];
9133
+ /** @description The order by field. */
9134
+ orderBy?: components['parameters']['AddonOrderByOrdering.orderBy'];
9135
+ };
9136
+ header?: never;
9137
+ path?: never;
9138
+ cookie?: never;
9139
+ };
9140
+ requestBody?: never;
9141
+ responses: {
9142
+ /** @description The request has succeeded. */
9143
+ 200: {
9144
+ headers: {
9145
+ [name: string]: unknown;
9146
+ };
9147
+ content: {
9148
+ 'application/json': components['schemas']['AddonPaginatedResponse'];
9149
+ };
9150
+ };
9151
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
9152
+ 400: {
9153
+ headers: {
9154
+ [name: string]: unknown;
9155
+ };
9156
+ content: {
9157
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
9158
+ };
9159
+ };
9160
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9161
+ 401: {
9162
+ headers: {
9163
+ [name: string]: unknown;
9164
+ };
9165
+ content: {
9166
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
9167
+ };
9168
+ };
9169
+ /** @description The server understood the request but refuses to authorize it. */
9170
+ 403: {
9171
+ headers: {
9172
+ [name: string]: unknown;
9173
+ };
9174
+ content: {
9175
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
9176
+ };
9177
+ };
9178
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
9179
+ 412: {
9180
+ headers: {
9181
+ [name: string]: unknown;
9182
+ };
9183
+ content: {
9184
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
9185
+ };
9186
+ };
9187
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
9188
+ 500: {
9189
+ headers: {
9190
+ [name: string]: unknown;
9191
+ };
9192
+ content: {
9193
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
9194
+ };
9195
+ };
9196
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
9197
+ 503: {
9198
+ headers: {
9199
+ [name: string]: unknown;
9200
+ };
9201
+ content: {
9202
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
9203
+ };
9204
+ };
9205
+ /** @description An unexpected error response. */
9206
+ default: {
9207
+ headers: {
9208
+ [name: string]: unknown;
9209
+ };
9210
+ content: {
9211
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
9212
+ };
9213
+ };
9214
+ };
9215
+ };
9216
+ createAddon: {
9217
+ parameters: {
9218
+ query?: never;
9219
+ header?: never;
9220
+ path?: never;
9221
+ cookie?: never;
9222
+ };
9223
+ requestBody: {
9224
+ content: {
9225
+ 'application/json': components['schemas']['AddonCreate'];
9226
+ };
9227
+ };
9228
+ responses: {
9229
+ /** @description The request has succeeded and a new resource has been created as a result. */
9230
+ 201: {
9231
+ headers: {
9232
+ [name: string]: unknown;
9233
+ };
9234
+ content: {
9235
+ 'application/json': components['schemas']['Addon'];
9236
+ };
9237
+ };
9238
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
9239
+ 400: {
9240
+ headers: {
9241
+ [name: string]: unknown;
9242
+ };
9243
+ content: {
9244
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
9245
+ };
9246
+ };
9247
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9248
+ 401: {
9249
+ headers: {
9250
+ [name: string]: unknown;
9251
+ };
9252
+ content: {
9253
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
9254
+ };
9255
+ };
9256
+ /** @description The server understood the request but refuses to authorize it. */
9257
+ 403: {
9258
+ headers: {
9259
+ [name: string]: unknown;
9260
+ };
9261
+ content: {
9262
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
9263
+ };
9264
+ };
9265
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
9266
+ 412: {
9267
+ headers: {
9268
+ [name: string]: unknown;
9269
+ };
9270
+ content: {
9271
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
9272
+ };
9273
+ };
9274
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
9275
+ 500: {
9276
+ headers: {
9277
+ [name: string]: unknown;
9278
+ };
9279
+ content: {
9280
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
9281
+ };
9282
+ };
9283
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
9284
+ 503: {
9285
+ headers: {
9286
+ [name: string]: unknown;
9287
+ };
9288
+ content: {
9289
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
9290
+ };
9291
+ };
9292
+ /** @description An unexpected error response. */
9293
+ default: {
9294
+ headers: {
9295
+ [name: string]: unknown;
9296
+ };
9297
+ content: {
9298
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
9299
+ };
9300
+ };
9301
+ };
9302
+ };
9303
+ getAddon: {
9304
+ parameters: {
9305
+ query?: {
9306
+ /** @description Include latest version of the add-on instead of the version in active state.
9307
+ *
9308
+ * Usage: `?includeLatest=true` */
9309
+ includeLatest?: boolean;
9310
+ };
9311
+ header?: never;
9312
+ path: {
9313
+ addonIdOrKey: string;
9314
+ };
9315
+ cookie?: never;
9316
+ };
9317
+ requestBody?: never;
9318
+ responses: {
9319
+ /** @description The request has succeeded. */
9320
+ 200: {
9321
+ headers: {
9322
+ [name: string]: unknown;
9323
+ };
9324
+ content: {
9325
+ 'application/json': components['schemas']['Addon'];
9326
+ };
9327
+ };
9328
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
9329
+ 400: {
9330
+ headers: {
9331
+ [name: string]: unknown;
9332
+ };
9333
+ content: {
9334
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
9335
+ };
9336
+ };
9337
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9338
+ 401: {
9339
+ headers: {
9340
+ [name: string]: unknown;
9341
+ };
9342
+ content: {
9343
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
9344
+ };
9345
+ };
9346
+ /** @description The server understood the request but refuses to authorize it. */
9347
+ 403: {
9348
+ headers: {
9349
+ [name: string]: unknown;
9350
+ };
9351
+ content: {
9352
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
9353
+ };
9354
+ };
9355
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
9356
+ 404: {
9357
+ headers: {
9358
+ [name: string]: unknown;
9359
+ };
9360
+ content: {
9361
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
9362
+ };
9363
+ };
9364
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
9365
+ 412: {
9366
+ headers: {
9367
+ [name: string]: unknown;
9368
+ };
9369
+ content: {
9370
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
9371
+ };
9372
+ };
9373
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
9374
+ 500: {
9375
+ headers: {
9376
+ [name: string]: unknown;
9377
+ };
9378
+ content: {
9379
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
9380
+ };
9381
+ };
9382
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
9383
+ 503: {
9384
+ headers: {
9385
+ [name: string]: unknown;
9386
+ };
9387
+ content: {
9388
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
9389
+ };
9390
+ };
9391
+ /** @description An unexpected error response. */
9392
+ default: {
9393
+ headers: {
9394
+ [name: string]: unknown;
9395
+ };
9396
+ content: {
9397
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
9398
+ };
9399
+ };
9400
+ };
9401
+ };
9402
+ updateAddon: {
9403
+ parameters: {
9404
+ query?: never;
9405
+ header?: never;
9406
+ path: {
9407
+ addonId: string;
9408
+ };
9409
+ cookie?: never;
9410
+ };
9411
+ requestBody: {
9412
+ content: {
9413
+ 'application/json': components['schemas']['AddonReplaceUpdate'];
9414
+ };
9415
+ };
9416
+ responses: {
9417
+ /** @description The request has succeeded. */
9418
+ 200: {
9419
+ headers: {
9420
+ [name: string]: unknown;
9421
+ };
9422
+ content: {
9423
+ 'application/json': components['schemas']['Addon'];
9424
+ };
9425
+ };
9426
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
9427
+ 400: {
9428
+ headers: {
9429
+ [name: string]: unknown;
9430
+ };
9431
+ content: {
9432
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
9433
+ };
9434
+ };
9435
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9436
+ 401: {
9437
+ headers: {
9438
+ [name: string]: unknown;
9439
+ };
9440
+ content: {
9441
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
9442
+ };
9443
+ };
9444
+ /** @description The server understood the request but refuses to authorize it. */
9445
+ 403: {
9446
+ headers: {
9447
+ [name: string]: unknown;
9448
+ };
9449
+ content: {
9450
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
9451
+ };
9452
+ };
9453
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
9454
+ 404: {
9455
+ headers: {
9456
+ [name: string]: unknown;
9457
+ };
9458
+ content: {
9459
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
9460
+ };
9461
+ };
9462
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
9463
+ 412: {
9464
+ headers: {
9465
+ [name: string]: unknown;
9466
+ };
9467
+ content: {
9468
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
9469
+ };
9470
+ };
9471
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
9472
+ 500: {
9473
+ headers: {
9474
+ [name: string]: unknown;
9475
+ };
9476
+ content: {
9477
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
9478
+ };
9479
+ };
9480
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
9481
+ 503: {
9482
+ headers: {
9483
+ [name: string]: unknown;
9484
+ };
9485
+ content: {
9486
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
9487
+ };
9488
+ };
9489
+ /** @description An unexpected error response. */
9490
+ default: {
9491
+ headers: {
9492
+ [name: string]: unknown;
9493
+ };
9494
+ content: {
9495
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
9496
+ };
9497
+ };
9498
+ };
9499
+ };
9500
+ deleteAddon: {
9501
+ parameters: {
9502
+ query?: never;
9503
+ header?: never;
9504
+ path: {
9505
+ addonId: string;
9506
+ };
9507
+ cookie?: never;
9508
+ };
9509
+ requestBody?: never;
9510
+ responses: {
9511
+ /** @description There is no content to send for this request, but the headers may be useful. */
9512
+ 204: {
9513
+ headers: {
9514
+ [name: string]: unknown;
9515
+ };
9516
+ content?: never;
9517
+ };
9518
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
9519
+ 400: {
9520
+ headers: {
9521
+ [name: string]: unknown;
9522
+ };
9523
+ content: {
9524
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
9525
+ };
9526
+ };
9527
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9528
+ 401: {
9529
+ headers: {
9530
+ [name: string]: unknown;
9531
+ };
9532
+ content: {
9533
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
9534
+ };
9535
+ };
9536
+ /** @description The server understood the request but refuses to authorize it. */
9537
+ 403: {
9538
+ headers: {
9539
+ [name: string]: unknown;
9540
+ };
9541
+ content: {
9542
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
9543
+ };
9544
+ };
9545
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
9546
+ 404: {
9547
+ headers: {
9548
+ [name: string]: unknown;
9549
+ };
9550
+ content: {
9551
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
9552
+ };
9553
+ };
9554
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
9555
+ 412: {
9556
+ headers: {
9557
+ [name: string]: unknown;
9558
+ };
9559
+ content: {
9560
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
9561
+ };
9562
+ };
9563
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
9564
+ 500: {
9565
+ headers: {
9566
+ [name: string]: unknown;
9567
+ };
9568
+ content: {
9569
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
9570
+ };
9571
+ };
9572
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
9573
+ 503: {
9574
+ headers: {
9575
+ [name: string]: unknown;
9576
+ };
9577
+ content: {
9578
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
9579
+ };
9580
+ };
9581
+ /** @description An unexpected error response. */
9582
+ default: {
9583
+ headers: {
9584
+ [name: string]: unknown;
9585
+ };
9586
+ content: {
9587
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
9588
+ };
9589
+ };
9590
+ };
9591
+ };
9592
+ archiveAddon: {
9593
+ parameters: {
9594
+ query?: never;
9595
+ header?: never;
9596
+ path: {
9597
+ addonId: string;
9598
+ };
9599
+ cookie?: never;
9600
+ };
9601
+ requestBody?: never;
9602
+ responses: {
9603
+ /** @description The request has succeeded. */
9604
+ 200: {
9605
+ headers: {
9606
+ [name: string]: unknown;
9607
+ };
9608
+ content: {
9609
+ 'application/json': components['schemas']['Addon'];
9610
+ };
9611
+ };
9612
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
9613
+ 400: {
9614
+ headers: {
9615
+ [name: string]: unknown;
9616
+ };
9617
+ content: {
9618
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
9619
+ };
9620
+ };
9621
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9622
+ 401: {
9623
+ headers: {
9624
+ [name: string]: unknown;
9625
+ };
9626
+ content: {
9627
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
9628
+ };
9629
+ };
9630
+ /** @description The server understood the request but refuses to authorize it. */
9631
+ 403: {
9632
+ headers: {
9633
+ [name: string]: unknown;
9634
+ };
9635
+ content: {
9636
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
9637
+ };
9638
+ };
9639
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
9640
+ 404: {
9641
+ headers: {
9642
+ [name: string]: unknown;
9643
+ };
9644
+ content: {
9645
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
9646
+ };
9647
+ };
9648
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
9649
+ 412: {
9650
+ headers: {
9651
+ [name: string]: unknown;
9652
+ };
9653
+ content: {
9654
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
9655
+ };
9656
+ };
9657
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
9658
+ 500: {
9659
+ headers: {
9660
+ [name: string]: unknown;
9661
+ };
9662
+ content: {
9663
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
9664
+ };
9665
+ };
9666
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
9667
+ 503: {
9668
+ headers: {
9669
+ [name: string]: unknown;
9670
+ };
9671
+ content: {
9672
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
9673
+ };
9674
+ };
9675
+ /** @description An unexpected error response. */
9676
+ default: {
9677
+ headers: {
9678
+ [name: string]: unknown;
9679
+ };
9680
+ content: {
9681
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
9682
+ };
9683
+ };
9684
+ };
9685
+ };
9686
+ publishAddon: {
9687
+ parameters: {
9688
+ query?: never;
9689
+ header?: never;
9690
+ path: {
9691
+ addonId: string;
9692
+ };
9693
+ cookie?: never;
9694
+ };
9695
+ requestBody?: never;
9696
+ responses: {
9697
+ /** @description The request has succeeded. */
9698
+ 200: {
9699
+ headers: {
9700
+ [name: string]: unknown;
9701
+ };
9702
+ content: {
9703
+ 'application/json': components['schemas']['Addon'];
9704
+ };
9705
+ };
9706
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
9707
+ 400: {
9708
+ headers: {
9709
+ [name: string]: unknown;
9710
+ };
9711
+ content: {
9712
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
9713
+ };
9714
+ };
9715
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
9716
+ 401: {
9717
+ headers: {
9718
+ [name: string]: unknown;
9719
+ };
9720
+ content: {
9721
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
9722
+ };
9723
+ };
9724
+ /** @description The server understood the request but refuses to authorize it. */
9725
+ 403: {
9726
+ headers: {
9727
+ [name: string]: unknown;
9728
+ };
9729
+ content: {
9730
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
9731
+ };
9732
+ };
9733
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
9734
+ 404: {
9735
+ headers: {
9736
+ [name: string]: unknown;
9737
+ };
9738
+ content: {
9739
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
9740
+ };
9741
+ };
9742
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
9743
+ 412: {
9744
+ headers: {
9745
+ [name: string]: unknown;
9746
+ };
9747
+ content: {
9748
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
9749
+ };
9750
+ };
9751
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
9752
+ 500: {
9753
+ headers: {
9754
+ [name: string]: unknown;
9755
+ };
9756
+ content: {
9757
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
9758
+ };
9759
+ };
9760
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
9761
+ 503: {
9762
+ headers: {
9763
+ [name: string]: unknown;
9764
+ };
9765
+ content: {
9766
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
9767
+ };
9768
+ };
9769
+ /** @description An unexpected error response. */
9770
+ default: {
9771
+ headers: {
9772
+ [name: string]: unknown;
9773
+ };
9774
+ content: {
9775
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
9776
+ };
9777
+ };
9778
+ };
9779
+ };
8397
9780
  listApps: {
8398
9781
  parameters: {
8399
9782
  query?: {
@@ -11159,27 +12542,114 @@ export interface operations {
11159
12542
  };
11160
12543
  };
11161
12544
  };
11162
- listCustomerAppData: {
12545
+ getCustomer: {
11163
12546
  parameters: {
11164
- query?: {
11165
- /** @description Page index.
11166
- *
11167
- * Default is 1. */
11168
- page?: components['parameters']['Pagination.page'];
11169
- /** @description The maximum number of items per page.
11170
- *
11171
- * Default is 100. */
11172
- pageSize?: components['parameters']['Pagination.pageSize'];
11173
- /** @description Filter customer data by app type. */
11174
- type?: components['parameters']['queryCustomerList.type'];
12547
+ query?: never;
12548
+ header?: never;
12549
+ path: {
12550
+ customerIdOrKey: string;
12551
+ };
12552
+ cookie?: never;
12553
+ };
12554
+ requestBody?: never;
12555
+ responses: {
12556
+ /** @description The request has succeeded. */
12557
+ 200: {
12558
+ headers: {
12559
+ [name: string]: unknown;
12560
+ };
12561
+ content: {
12562
+ 'application/json': components['schemas']['Customer'];
12563
+ };
12564
+ };
12565
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
12566
+ 400: {
12567
+ headers: {
12568
+ [name: string]: unknown;
12569
+ };
12570
+ content: {
12571
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
12572
+ };
12573
+ };
12574
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
12575
+ 401: {
12576
+ headers: {
12577
+ [name: string]: unknown;
12578
+ };
12579
+ content: {
12580
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
12581
+ };
12582
+ };
12583
+ /** @description The server understood the request but refuses to authorize it. */
12584
+ 403: {
12585
+ headers: {
12586
+ [name: string]: unknown;
12587
+ };
12588
+ content: {
12589
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
12590
+ };
12591
+ };
12592
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
12593
+ 404: {
12594
+ headers: {
12595
+ [name: string]: unknown;
12596
+ };
12597
+ content: {
12598
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
12599
+ };
12600
+ };
12601
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
12602
+ 412: {
12603
+ headers: {
12604
+ [name: string]: unknown;
12605
+ };
12606
+ content: {
12607
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
12608
+ };
12609
+ };
12610
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
12611
+ 500: {
12612
+ headers: {
12613
+ [name: string]: unknown;
12614
+ };
12615
+ content: {
12616
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
12617
+ };
12618
+ };
12619
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
12620
+ 503: {
12621
+ headers: {
12622
+ [name: string]: unknown;
12623
+ };
12624
+ content: {
12625
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
12626
+ };
12627
+ };
12628
+ /** @description An unexpected error response. */
12629
+ default: {
12630
+ headers: {
12631
+ [name: string]: unknown;
12632
+ };
12633
+ content: {
12634
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
12635
+ };
11175
12636
  };
12637
+ };
12638
+ };
12639
+ updateCustomer: {
12640
+ parameters: {
12641
+ query?: never;
11176
12642
  header?: never;
11177
12643
  path: {
11178
- customerId: string;
12644
+ customerIdOrKey: string;
11179
12645
  };
11180
12646
  cookie?: never;
11181
12647
  };
11182
- requestBody?: never;
12648
+ requestBody: {
12649
+ content: {
12650
+ 'application/json': components['schemas']['CustomerReplaceUpdate'];
12651
+ };
12652
+ };
11183
12653
  responses: {
11184
12654
  /** @description The request has succeeded. */
11185
12655
  200: {
@@ -11187,7 +12657,7 @@ export interface operations {
11187
12657
  [name: string]: unknown;
11188
12658
  };
11189
12659
  content: {
11190
- 'application/json': components['schemas']['CustomerAppDataPaginatedResponse'];
12660
+ 'application/json': components['schemas']['Customer'];
11191
12661
  };
11192
12662
  };
11193
12663
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
@@ -11264,29 +12734,23 @@ export interface operations {
11264
12734
  };
11265
12735
  };
11266
12736
  };
11267
- upsertCustomerAppData: {
12737
+ deleteCustomer: {
11268
12738
  parameters: {
11269
12739
  query?: never;
11270
12740
  header?: never;
11271
12741
  path: {
11272
- customerId: string;
12742
+ customerIdOrKey: string;
11273
12743
  };
11274
12744
  cookie?: never;
11275
12745
  };
11276
- requestBody: {
11277
- content: {
11278
- 'application/json': components['schemas']['CustomerAppData'][];
11279
- };
11280
- };
12746
+ requestBody?: never;
11281
12747
  responses: {
11282
- /** @description The request has succeeded. */
11283
- 200: {
12748
+ /** @description There is no content to send for this request, but the headers may be useful. */
12749
+ 204: {
11284
12750
  headers: {
11285
12751
  [name: string]: unknown;
11286
12752
  };
11287
- content: {
11288
- 'application/json': components['schemas']['CustomerAppData'][];
11289
- };
12753
+ content?: never;
11290
12754
  };
11291
12755
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
11292
12756
  400: {
@@ -11362,24 +12826,25 @@ export interface operations {
11362
12826
  };
11363
12827
  };
11364
12828
  };
11365
- deleteCustomerAppData: {
12829
+ getCustomerAccess: {
11366
12830
  parameters: {
11367
12831
  query?: never;
11368
12832
  header?: never;
11369
12833
  path: {
11370
- customerId: string;
11371
- appId: string;
12834
+ customerIdOrKey: string;
11372
12835
  };
11373
12836
  cookie?: never;
11374
12837
  };
11375
12838
  requestBody?: never;
11376
12839
  responses: {
11377
- /** @description There is no content to send for this request, but the headers may be useful. */
11378
- 204: {
12840
+ /** @description The request has succeeded. */
12841
+ 200: {
11379
12842
  headers: {
11380
12843
  [name: string]: unknown;
11381
12844
  };
11382
- content?: never;
12845
+ content: {
12846
+ 'application/json': components['schemas']['CustomerAccess'];
12847
+ };
11383
12848
  };
11384
12849
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
11385
12850
  400: {
@@ -11455,15 +12920,23 @@ export interface operations {
11455
12920
  };
11456
12921
  };
11457
12922
  };
11458
- getCustomerEntitlementValue: {
12923
+ listCustomerAppData: {
11459
12924
  parameters: {
11460
12925
  query?: {
11461
- time?: Date | string;
12926
+ /** @description Page index.
12927
+ *
12928
+ * Default is 1. */
12929
+ page?: components['parameters']['Pagination.page'];
12930
+ /** @description The maximum number of items per page.
12931
+ *
12932
+ * Default is 100. */
12933
+ pageSize?: components['parameters']['Pagination.pageSize'];
12934
+ /** @description Filter customer data by app type. */
12935
+ type?: components['parameters']['queryCustomerList.type'];
11462
12936
  };
11463
12937
  header?: never;
11464
12938
  path: {
11465
- customerId: string;
11466
- featureKey: string;
12939
+ customerIdOrKey: string;
11467
12940
  };
11468
12941
  cookie?: never;
11469
12942
  };
@@ -11475,7 +12948,7 @@ export interface operations {
11475
12948
  [name: string]: unknown;
11476
12949
  };
11477
12950
  content: {
11478
- 'application/json': components['schemas']['EntitlementValue'];
12951
+ 'application/json': components['schemas']['CustomerAppDataPaginatedResponse'];
11479
12952
  };
11480
12953
  };
11481
12954
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
@@ -11552,25 +13025,20 @@ export interface operations {
11552
13025
  };
11553
13026
  };
11554
13027
  };
11555
- listCustomerSubscriptions: {
13028
+ upsertCustomerAppData: {
11556
13029
  parameters: {
11557
- query?: {
11558
- /** @description Page index.
11559
- *
11560
- * Default is 1. */
11561
- page?: components['parameters']['Pagination.page'];
11562
- /** @description The maximum number of items per page.
11563
- *
11564
- * Default is 100. */
11565
- pageSize?: components['parameters']['Pagination.pageSize'];
11566
- };
13030
+ query?: never;
11567
13031
  header?: never;
11568
13032
  path: {
11569
- customerId: string;
13033
+ customerIdOrKey: string;
11570
13034
  };
11571
13035
  cookie?: never;
11572
13036
  };
11573
- requestBody?: never;
13037
+ requestBody: {
13038
+ content: {
13039
+ 'application/json': components['schemas']['CustomerAppData'][];
13040
+ };
13041
+ };
11574
13042
  responses: {
11575
13043
  /** @description The request has succeeded. */
11576
13044
  200: {
@@ -11578,7 +13046,7 @@ export interface operations {
11578
13046
  [name: string]: unknown;
11579
13047
  };
11580
13048
  content: {
11581
- 'application/json': components['schemas']['SubscriptionPaginatedResponse'];
13049
+ 'application/json': components['schemas']['CustomerAppData'][];
11582
13050
  };
11583
13051
  };
11584
13052
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
@@ -11655,25 +13123,24 @@ export interface operations {
11655
13123
  };
11656
13124
  };
11657
13125
  };
11658
- getCustomer: {
13126
+ deleteCustomerAppData: {
11659
13127
  parameters: {
11660
13128
  query?: never;
11661
13129
  header?: never;
11662
13130
  path: {
11663
- id: string;
13131
+ customerIdOrKey: string;
13132
+ appId: string;
11664
13133
  };
11665
13134
  cookie?: never;
11666
13135
  };
11667
13136
  requestBody?: never;
11668
13137
  responses: {
11669
- /** @description The request has succeeded. */
11670
- 200: {
13138
+ /** @description There is no content to send for this request, but the headers may be useful. */
13139
+ 204: {
11671
13140
  headers: {
11672
13141
  [name: string]: unknown;
11673
13142
  };
11674
- content: {
11675
- 'application/json': components['schemas']['Customer'];
11676
- };
13143
+ content?: never;
11677
13144
  };
11678
13145
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
11679
13146
  400: {
@@ -11749,20 +13216,19 @@ export interface operations {
11749
13216
  };
11750
13217
  };
11751
13218
  };
11752
- updateCustomer: {
13219
+ getCustomerEntitlementValue: {
11753
13220
  parameters: {
11754
- query?: never;
13221
+ query?: {
13222
+ time?: Date | string;
13223
+ };
11755
13224
  header?: never;
11756
13225
  path: {
11757
- id: string;
13226
+ customerIdOrKey: string;
13227
+ featureKey: string;
11758
13228
  };
11759
13229
  cookie?: never;
11760
13230
  };
11761
- requestBody: {
11762
- content: {
11763
- 'application/json': components['schemas']['CustomerReplaceUpdate'];
11764
- };
11765
- };
13231
+ requestBody?: never;
11766
13232
  responses: {
11767
13233
  /** @description The request has succeeded. */
11768
13234
  200: {
@@ -11770,7 +13236,7 @@ export interface operations {
11770
13236
  [name: string]: unknown;
11771
13237
  };
11772
13238
  content: {
11773
- 'application/json': components['schemas']['Customer'];
13239
+ 'application/json': components['schemas']['EntitlementValue'];
11774
13240
  };
11775
13241
  };
11776
13242
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
@@ -11847,23 +13313,34 @@ export interface operations {
11847
13313
  };
11848
13314
  };
11849
13315
  };
11850
- deleteCustomer: {
13316
+ listCustomerSubscriptions: {
11851
13317
  parameters: {
11852
- query?: never;
13318
+ query?: {
13319
+ /** @description Page index.
13320
+ *
13321
+ * Default is 1. */
13322
+ page?: components['parameters']['Pagination.page'];
13323
+ /** @description The maximum number of items per page.
13324
+ *
13325
+ * Default is 100. */
13326
+ pageSize?: components['parameters']['Pagination.pageSize'];
13327
+ };
11853
13328
  header?: never;
11854
13329
  path: {
11855
- id: string;
13330
+ customerIdOrKey: string;
11856
13331
  };
11857
13332
  cookie?: never;
11858
13333
  };
11859
13334
  requestBody?: never;
11860
13335
  responses: {
11861
- /** @description There is no content to send for this request, but the headers may be useful. */
11862
- 204: {
13336
+ /** @description The request has succeeded. */
13337
+ 200: {
11863
13338
  headers: {
11864
13339
  [name: string]: unknown;
11865
13340
  };
11866
- content?: never;
13341
+ content: {
13342
+ 'application/json': components['schemas']['SubscriptionPaginatedResponse'];
13343
+ };
11867
13344
  };
11868
13345
  /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
11869
13346
  400: {
@@ -13673,7 +15150,22 @@ export interface operations {
13673
15150
  };
13674
15151
  listMeters: {
13675
15152
  parameters: {
13676
- query?: never;
15153
+ query?: {
15154
+ /** @description Page index.
15155
+ *
15156
+ * Default is 1. */
15157
+ page?: components['parameters']['Pagination.page'];
15158
+ /** @description The maximum number of items per page.
15159
+ *
15160
+ * Default is 100. */
15161
+ pageSize?: components['parameters']['Pagination.pageSize'];
15162
+ /** @description The order direction. */
15163
+ order?: components['parameters']['MeterOrderByOrdering.order'];
15164
+ /** @description The order by field. */
15165
+ orderBy?: components['parameters']['MeterOrderByOrdering.orderBy'];
15166
+ /** @description Include deleted meters. */
15167
+ includeDeleted?: components['parameters']['queryMeterList.includeDeleted'];
15168
+ };
13677
15169
  header?: never;
13678
15170
  path?: never;
13679
15171
  cookie?: never;
@@ -14115,23 +15607,37 @@ export interface operations {
14115
15607
  clientId?: components['parameters']['MeterQuery.clientId'];
14116
15608
  /** @description Start date-time in RFC 3339 format.
14117
15609
  *
14118
- * Inclusive. */
15610
+ * Inclusive.
15611
+ *
15612
+ * For example: ?from=2025-01-01T00%3A00%3A00.000Z */
14119
15613
  from?: components['parameters']['MeterQuery.from'];
14120
15614
  /** @description End date-time in RFC 3339 format.
14121
15615
  *
14122
- * Inclusive. */
15616
+ * Inclusive.
15617
+ *
15618
+ * For example: ?to=2025-02-01T00%3A00%3A00.000Z */
14123
15619
  to?: components['parameters']['MeterQuery.to'];
14124
- /** @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. */
15620
+ /** @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
15621
+ *
15622
+ * For example: ?windowSize=DAY */
14125
15623
  windowSize?: components['parameters']['MeterQuery.windowSize'];
14126
15624
  /** @description The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones).
14127
- * If not specified, the UTC timezone will be used. */
15625
+ * If not specified, the UTC timezone will be used.
15626
+ *
15627
+ * For example: ?windowTimeZone=UTC */
14128
15628
  windowTimeZone?: components['parameters']['MeterQuery.windowTimeZone'];
14129
- /** @description Filtering by multiple subjects. */
15629
+ /** @description Filtering by multiple subjects.
15630
+ *
15631
+ * For example: ?subject=customer-1&subject=customer-2 */
14130
15632
  subject?: components['parameters']['MeterQuery.subject'];
14131
- /** @description Simple filter for group bys with exact match. */
15633
+ /** @description Simple filter for group bys with exact match.
15634
+ *
15635
+ * For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo */
14132
15636
  filterGroupBy?: components['parameters']['MeterQuery.filterGroupBy'];
14133
15637
  /** @description If not specified a single aggregate will be returned for each subject and time window.
14134
- * `subject` is a reserved group by value. */
15638
+ * `subject` is a reserved group by value.
15639
+ *
15640
+ * For example: ?groupBy=subject&groupBy=model */
14135
15641
  groupBy?: components['parameters']['MeterQuery.groupBy'];
14136
15642
  };
14137
15643
  header?: never;
@@ -16443,21 +17949,33 @@ export interface operations {
16443
17949
  clientId?: components['parameters']['MeterQuery.clientId'];
16444
17950
  /** @description Start date-time in RFC 3339 format.
16445
17951
  *
16446
- * Inclusive. */
17952
+ * Inclusive.
17953
+ *
17954
+ * For example: ?from=2025-01-01T00%3A00%3A00.000Z */
16447
17955
  from?: components['parameters']['MeterQuery.from'];
16448
17956
  /** @description End date-time in RFC 3339 format.
16449
17957
  *
16450
- * Inclusive. */
17958
+ * Inclusive.
17959
+ *
17960
+ * For example: ?to=2025-02-01T00%3A00%3A00.000Z */
16451
17961
  to?: components['parameters']['MeterQuery.to'];
16452
- /** @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. */
17962
+ /** @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
17963
+ *
17964
+ * For example: ?windowSize=DAY */
16453
17965
  windowSize?: components['parameters']['MeterQuery.windowSize'];
16454
17966
  /** @description The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones).
16455
- * If not specified, the UTC timezone will be used. */
17967
+ * If not specified, the UTC timezone will be used.
17968
+ *
17969
+ * For example: ?windowTimeZone=UTC */
16456
17970
  windowTimeZone?: components['parameters']['MeterQuery.windowTimeZone'];
16457
- /** @description Simple filter for group bys with exact match. */
17971
+ /** @description Simple filter for group bys with exact match.
17972
+ *
17973
+ * For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo */
16458
17974
  filterGroupBy?: components['parameters']['MeterQuery.filterGroupBy'];
16459
17975
  /** @description If not specified a single aggregate will be returned for each subject and time window.
16460
- * `subject` is a reserved group by value. */
17976
+ * `subject` is a reserved group by value.
17977
+ *
17978
+ * For example: ?groupBy=subject&groupBy=model */
16461
17979
  groupBy?: components['parameters']['MeterQuery.groupBy'];
16462
17980
  };
16463
17981
  header?: never;
@@ -18418,6 +19936,98 @@ export interface operations {
18418
19936
  };
18419
19937
  };
18420
19938
  };
19939
+ deleteSubscription: {
19940
+ parameters: {
19941
+ query?: never;
19942
+ header?: never;
19943
+ path: {
19944
+ subscriptionId: string;
19945
+ };
19946
+ cookie?: never;
19947
+ };
19948
+ requestBody?: never;
19949
+ responses: {
19950
+ /** @description There is no content to send for this request, but the headers may be useful. */
19951
+ 204: {
19952
+ headers: {
19953
+ [name: string]: unknown;
19954
+ };
19955
+ content?: never;
19956
+ };
19957
+ /** @description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). */
19958
+ 400: {
19959
+ headers: {
19960
+ [name: string]: unknown;
19961
+ };
19962
+ content: {
19963
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
19964
+ };
19965
+ };
19966
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
19967
+ 401: {
19968
+ headers: {
19969
+ [name: string]: unknown;
19970
+ };
19971
+ content: {
19972
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
19973
+ };
19974
+ };
19975
+ /** @description The server understood the request but refuses to authorize it. */
19976
+ 403: {
19977
+ headers: {
19978
+ [name: string]: unknown;
19979
+ };
19980
+ content: {
19981
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
19982
+ };
19983
+ };
19984
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
19985
+ 404: {
19986
+ headers: {
19987
+ [name: string]: unknown;
19988
+ };
19989
+ content: {
19990
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
19991
+ };
19992
+ };
19993
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
19994
+ 412: {
19995
+ headers: {
19996
+ [name: string]: unknown;
19997
+ };
19998
+ content: {
19999
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
20000
+ };
20001
+ };
20002
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
20003
+ 500: {
20004
+ headers: {
20005
+ [name: string]: unknown;
20006
+ };
20007
+ content: {
20008
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
20009
+ };
20010
+ };
20011
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
20012
+ 503: {
20013
+ headers: {
20014
+ [name: string]: unknown;
20015
+ };
20016
+ content: {
20017
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
20018
+ };
20019
+ };
20020
+ /** @description An unexpected error response. */
20021
+ default: {
20022
+ headers: {
20023
+ [name: string]: unknown;
20024
+ };
20025
+ content: {
20026
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
20027
+ };
20028
+ };
20029
+ };
20030
+ };
18421
20031
  editSubscription: {
18422
20032
  parameters: {
18423
20033
  query?: never;
@@ -19058,24 +20668,8 @@ export interface operations {
19058
20668
  /** @description Client ID
19059
20669
  * Useful to track progress of a query. */
19060
20670
  clientId?: string;
19061
- /** @description The event ID filter.
19062
- * Example: `?id[$eq]=my-event-id` */
19063
- id?: components['schemas']['FilterString'];
19064
- /** @description The event source filter.
19065
- * Example: `?source[$eq]=my-event-source` */
19066
- source?: components['schemas']['FilterString'];
19067
- /** @description The event subject filter.
19068
- * Example: `?subject[$eq]=my-event-subject` */
19069
- subject?: components['schemas']['FilterString'];
19070
- /** @description The event type filter.
19071
- * Example: `?type[$eq]=my-event-type` */
19072
- type?: components['schemas']['FilterString'];
19073
- /** @description The event time filter.
19074
- * Example: `?time[$and][0][$gte]=2025-01-01T00:00:00Z&time[$and][1][$lte]=2025-01-02T00:00:00Z` */
19075
- time?: components['schemas']['FilterTime'];
19076
- /** @description The ingested at filter.
19077
- * Example: `?ingestedAt[$and][0][$gte]=2025-01-01T00:00:00Z&ingestedAt[$and][1][$lte]=2025-01-02T00:00:00Z` */
19078
- ingestedAt?: components['schemas']['FilterTime'];
20671
+ /** @description The filter for the events encoded as JSON string. */
20672
+ filter?: string;
19079
20673
  };
19080
20674
  header?: never;
19081
20675
  path?: never;