zorihq 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +1 -1
  3. package/resources/v1/analytics/analytics.d.mts +13 -43
  4. package/resources/v1/analytics/analytics.d.mts.map +1 -1
  5. package/resources/v1/analytics/analytics.d.ts +13 -43
  6. package/resources/v1/analytics/analytics.d.ts.map +1 -1
  7. package/resources/v1/analytics/analytics.js +4 -2
  8. package/resources/v1/analytics/analytics.js.map +1 -1
  9. package/resources/v1/analytics/analytics.mjs +4 -2
  10. package/resources/v1/analytics/analytics.mjs.map +1 -1
  11. package/resources/v1/analytics/events.d.mts +30 -42
  12. package/resources/v1/analytics/events.d.mts.map +1 -1
  13. package/resources/v1/analytics/events.d.ts +30 -42
  14. package/resources/v1/analytics/events.d.ts.map +1 -1
  15. package/resources/v1/analytics/events.js +8 -2
  16. package/resources/v1/analytics/events.js.map +1 -1
  17. package/resources/v1/analytics/events.mjs +8 -2
  18. package/resources/v1/analytics/events.mjs.map +1 -1
  19. package/resources/v1/analytics/retention.d.mts +39 -34
  20. package/resources/v1/analytics/retention.d.mts.map +1 -1
  21. package/resources/v1/analytics/retention.d.ts +39 -34
  22. package/resources/v1/analytics/retention.d.ts.map +1 -1
  23. package/resources/v1/analytics/retention.js +12 -6
  24. package/resources/v1/analytics/retention.js.map +1 -1
  25. package/resources/v1/analytics/retention.mjs +12 -6
  26. package/resources/v1/analytics/retention.mjs.map +1 -1
  27. package/resources/v1/analytics/sessions.d.mts +26 -24
  28. package/resources/v1/analytics/sessions.d.mts.map +1 -1
  29. package/resources/v1/analytics/sessions.d.ts +26 -24
  30. package/resources/v1/analytics/sessions.d.ts.map +1 -1
  31. package/resources/v1/analytics/sessions.js +8 -4
  32. package/resources/v1/analytics/sessions.js.map +1 -1
  33. package/resources/v1/analytics/sessions.mjs +8 -4
  34. package/resources/v1/analytics/sessions.mjs.map +1 -1
  35. package/resources/v1/analytics/users.d.mts +13 -5
  36. package/resources/v1/analytics/users.d.mts.map +1 -1
  37. package/resources/v1/analytics/users.d.ts +13 -5
  38. package/resources/v1/analytics/users.d.ts.map +1 -1
  39. package/resources/v1/analytics/users.js +4 -1
  40. package/resources/v1/analytics/users.js.map +1 -1
  41. package/resources/v1/analytics/users.mjs +4 -1
  42. package/resources/v1/analytics/users.mjs.map +1 -1
  43. package/resources/v1/analytics/visitors.d.mts +78 -64
  44. package/resources/v1/analytics/visitors.d.mts.map +1 -1
  45. package/resources/v1/analytics/visitors.d.ts +78 -64
  46. package/resources/v1/analytics/visitors.d.ts.map +1 -1
  47. package/resources/v1/analytics/visitors.js +24 -12
  48. package/resources/v1/analytics/visitors.js.map +1 -1
  49. package/resources/v1/analytics/visitors.mjs +24 -12
  50. package/resources/v1/analytics/visitors.mjs.map +1 -1
  51. package/resources/v1/index.d.mts +1 -1
  52. package/resources/v1/index.d.ts +1 -1
  53. package/resources/v1/index.js +4 -4
  54. package/resources/v1/index.js.map +1 -1
  55. package/resources/v1/index.mjs +1 -1
  56. package/resources/v1/payment-providers/index.d.mts +3 -0
  57. package/resources/v1/payment-providers/index.d.mts.map +1 -0
  58. package/resources/v1/payment-providers/index.d.ts +3 -0
  59. package/resources/v1/payment-providers/index.d.ts.map +1 -0
  60. package/resources/v1/payment-providers/index.js +9 -0
  61. package/resources/v1/payment-providers/index.js.map +1 -0
  62. package/resources/v1/payment-providers/index.mjs +4 -0
  63. package/resources/v1/payment-providers/index.mjs.map +1 -0
  64. package/resources/v1/payment-providers/payment-providers.d.mts +151 -0
  65. package/resources/v1/payment-providers/payment-providers.d.mts.map +1 -0
  66. package/resources/v1/payment-providers/payment-providers.d.ts +151 -0
  67. package/resources/v1/payment-providers/payment-providers.d.ts.map +1 -0
  68. package/resources/v1/payment-providers/payment-providers.js +98 -0
  69. package/resources/v1/payment-providers/payment-providers.js.map +1 -0
  70. package/resources/v1/payment-providers/payment-providers.mjs +93 -0
  71. package/resources/v1/payment-providers/payment-providers.mjs.map +1 -0
  72. package/resources/v1/payment-providers/stripe/app.d.mts +39 -0
  73. package/resources/v1/payment-providers/stripe/app.d.mts.map +1 -0
  74. package/resources/v1/payment-providers/stripe/app.d.ts +39 -0
  75. package/resources/v1/payment-providers/stripe/app.d.ts.map +1 -0
  76. package/resources/v1/payment-providers/stripe/app.js +24 -0
  77. package/resources/v1/payment-providers/stripe/app.js.map +1 -0
  78. package/resources/v1/payment-providers/stripe/app.mjs +20 -0
  79. package/resources/v1/payment-providers/stripe/app.mjs.map +1 -0
  80. package/resources/v1/payment-providers/stripe/index.d.mts +3 -0
  81. package/resources/v1/payment-providers/stripe/index.d.mts.map +1 -0
  82. package/resources/v1/payment-providers/stripe/index.d.ts +3 -0
  83. package/resources/v1/payment-providers/stripe/index.d.ts.map +1 -0
  84. package/resources/v1/payment-providers/stripe/index.js +9 -0
  85. package/resources/v1/payment-providers/stripe/index.js.map +1 -0
  86. package/resources/v1/payment-providers/stripe/index.mjs +4 -0
  87. package/resources/v1/payment-providers/stripe/index.mjs.map +1 -0
  88. package/resources/v1/payment-providers/stripe/stripe.d.mts +10 -0
  89. package/resources/v1/payment-providers/stripe/stripe.d.mts.map +1 -0
  90. package/resources/v1/payment-providers/stripe/stripe.d.ts +10 -0
  91. package/resources/v1/payment-providers/stripe/stripe.d.ts.map +1 -0
  92. package/resources/v1/payment-providers/stripe/stripe.js +17 -0
  93. package/resources/v1/payment-providers/stripe/stripe.js.map +1 -0
  94. package/resources/v1/payment-providers/stripe/stripe.mjs +12 -0
  95. package/resources/v1/payment-providers/stripe/stripe.mjs.map +1 -0
  96. package/resources/v1/payment-providers/stripe.d.mts +2 -0
  97. package/resources/v1/payment-providers/stripe.d.mts.map +1 -0
  98. package/resources/v1/payment-providers/stripe.d.ts +2 -0
  99. package/resources/v1/payment-providers/stripe.d.ts.map +1 -0
  100. package/resources/v1/payment-providers/stripe.js +6 -0
  101. package/resources/v1/payment-providers/stripe.js.map +1 -0
  102. package/resources/v1/payment-providers/stripe.mjs +3 -0
  103. package/resources/v1/payment-providers/stripe.mjs.map +1 -0
  104. package/resources/v1/payment-providers.d.mts +1 -149
  105. package/resources/v1/payment-providers.d.mts.map +1 -1
  106. package/resources/v1/payment-providers.d.ts +1 -149
  107. package/resources/v1/payment-providers.d.ts.map +1 -1
  108. package/resources/v1/payment-providers.js +2 -86
  109. package/resources/v1/payment-providers.js.map +1 -1
  110. package/resources/v1/payment-providers.mjs +1 -84
  111. package/resources/v1/payment-providers.mjs.map +1 -1
  112. package/resources/v1/revenue/cohort.d.mts +45 -0
  113. package/resources/v1/revenue/cohort.d.mts.map +1 -0
  114. package/resources/v1/revenue/cohort.d.ts +45 -0
  115. package/resources/v1/revenue/cohort.d.ts.map +1 -0
  116. package/resources/v1/revenue/cohort.js +24 -0
  117. package/resources/v1/revenue/cohort.js.map +1 -0
  118. package/resources/v1/revenue/cohort.mjs +20 -0
  119. package/resources/v1/revenue/cohort.mjs.map +1 -0
  120. package/resources/v1/revenue/index.d.mts +1 -0
  121. package/resources/v1/revenue/index.d.mts.map +1 -1
  122. package/resources/v1/revenue/index.d.ts +1 -0
  123. package/resources/v1/revenue/index.d.ts.map +1 -1
  124. package/resources/v1/revenue/index.js +3 -1
  125. package/resources/v1/revenue/index.js.map +1 -1
  126. package/resources/v1/revenue/index.mjs +1 -0
  127. package/resources/v1/revenue/index.mjs.map +1 -1
  128. package/resources/v1/revenue/revenue.d.mts +6 -75
  129. package/resources/v1/revenue/revenue.d.mts.map +1 -1
  130. package/resources/v1/revenue/revenue.d.ts +6 -75
  131. package/resources/v1/revenue/revenue.d.ts.map +1 -1
  132. package/resources/v1/revenue/revenue.js +4 -0
  133. package/resources/v1/revenue/revenue.js.map +1 -1
  134. package/resources/v1/revenue/revenue.mjs +4 -0
  135. package/resources/v1/revenue/revenue.mjs.map +1 -1
  136. package/resources/v1/v1.d.mts +2 -2
  137. package/resources/v1/v1.d.mts.map +1 -1
  138. package/resources/v1/v1.d.ts +2 -2
  139. package/resources/v1/v1.d.ts.map +1 -1
  140. package/resources/v1/v1.js +2 -2
  141. package/resources/v1/v1.js.map +1 -1
  142. package/resources/v1/v1.mjs +2 -2
  143. package/resources/v1/v1.mjs.map +1 -1
  144. package/src/resources/v1/analytics/analytics.ts +20 -43
  145. package/src/resources/v1/analytics/events.ts +42 -42
  146. package/src/resources/v1/analytics/retention.ts +59 -34
  147. package/src/resources/v1/analytics/sessions.ts +39 -24
  148. package/src/resources/v1/analytics/users.ts +21 -5
  149. package/src/resources/v1/analytics/visitors.ts +119 -64
  150. package/src/resources/v1/index.ts +1 -1
  151. package/src/resources/v1/payment-providers/index.ts +17 -0
  152. package/src/resources/v1/payment-providers/payment-providers.ts +235 -0
  153. package/src/resources/v1/payment-providers/stripe/app.ts +56 -0
  154. package/src/resources/v1/payment-providers/stripe/index.ts +4 -0
  155. package/src/resources/v1/payment-providers/stripe/stripe.ts +19 -0
  156. package/src/resources/v1/payment-providers/stripe.ts +3 -0
  157. package/src/resources/v1/payment-providers.ts +1 -228
  158. package/src/resources/v1/revenue/cohort.ts +72 -0
  159. package/src/resources/v1/revenue/index.ts +1 -0
  160. package/src/resources/v1/revenue/revenue.ts +14 -75
  161. package/src/resources/v1/v1.ts +15 -15
  162. package/src/version.ts +1 -1
  163. package/version.d.mts +1 -1
  164. package/version.d.ts +1 -1
  165. package/version.js +1 -1
  166. package/version.mjs +1 -1
@@ -0,0 +1,235 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as StripeAPI from './stripe/stripe';
5
+ import { Stripe } from './stripe/stripe';
6
+ import { APIPromise } from '../../../core/api-promise';
7
+ import { RequestOptions } from '../../../internal/request-options';
8
+ import { path } from '../../../internal/utils/path';
9
+
10
+ export class PaymentProviders extends APIResource {
11
+ stripe: StripeAPI.Stripe = new StripeAPI.Stripe(this._client);
12
+
13
+ /**
14
+ * Connect a new payment provider to a project
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const paymentProviderResponse =
19
+ * await client.v1.paymentProviders.create({
20
+ * api_key: 'sk_test_xxxxx',
21
+ * project_id: '550e8400-e29b-41d4-a716-446655440000',
22
+ * provider_type: 'stripe',
23
+ * webhook_secret: 'whsec_xxxxx',
24
+ * });
25
+ * ```
26
+ */
27
+ create(body: PaymentProviderCreateParams, options?: RequestOptions): APIPromise<PaymentProviderResponse> {
28
+ return this._client.post('/api/v1/payment-providers', { body, ...options });
29
+ }
30
+
31
+ /**
32
+ * Update payment provider credentials or settings
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const paymentProviderResponse =
37
+ * await client.v1.paymentProviders.update('id');
38
+ * ```
39
+ */
40
+ update(
41
+ id: string,
42
+ body: PaymentProviderUpdateParams,
43
+ options?: RequestOptions,
44
+ ): APIPromise<PaymentProviderResponse> {
45
+ return this._client.put(path`/api/v1/payment-providers/${id}`, { body, ...options });
46
+ }
47
+
48
+ /**
49
+ * Get all payment providers for the organization
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const listPaymentProvidersResponse =
54
+ * await client.v1.paymentProviders.list();
55
+ * ```
56
+ */
57
+ list(
58
+ query: PaymentProviderListParams | null | undefined = {},
59
+ options?: RequestOptions,
60
+ ): APIPromise<ListPaymentProvidersResponse> {
61
+ return this._client.get('/api/v1/payment-providers', { query, ...options });
62
+ }
63
+
64
+ /**
65
+ * Disconnect a payment provider from a project
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * const paymentProvider =
70
+ * await client.v1.paymentProviders.delete('id');
71
+ * ```
72
+ */
73
+ delete(id: string, options?: RequestOptions): APIPromise<PaymentProviderDeleteResponse> {
74
+ return this._client.delete(path`/api/v1/payment-providers/${id}`, options);
75
+ }
76
+
77
+ /**
78
+ * Get a single payment provider by ID
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const paymentProviderResponse =
83
+ * await client.v1.paymentProviders.get('id');
84
+ * ```
85
+ */
86
+ get(id: string, options?: RequestOptions): APIPromise<PaymentProviderResponse> {
87
+ return this._client.get(path`/api/v1/payment-providers/${id}`, options);
88
+ }
89
+
90
+ /**
91
+ * Get instructions for connecting a payment provider (OAuth URL or manual
92
+ * credentials)
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * const providerInstructionsResponse =
97
+ * await client.v1.paymentProviders.instructions({
98
+ * provider_type: 'stripe',
99
+ * });
100
+ * ```
101
+ */
102
+ instructions(
103
+ query: PaymentProviderInstructionsParams,
104
+ options?: RequestOptions,
105
+ ): APIPromise<ProviderInstructionsResponse> {
106
+ return this._client.get('/api/v1/payment-providers/instructions', { query, ...options });
107
+ }
108
+ }
109
+
110
+ export interface CreatePaymentProviderRequest {
111
+ api_key: string;
112
+
113
+ project_id: string;
114
+
115
+ provider_type: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
116
+
117
+ webhook_secret: string;
118
+ }
119
+
120
+ export interface ListPaymentProvidersResponse {
121
+ providers?: Array<PaymentProviderResponse>;
122
+
123
+ total?: number;
124
+ }
125
+
126
+ export interface PaymentProviderResponse {
127
+ id?: string;
128
+
129
+ created_at?: string;
130
+
131
+ is_active?: boolean;
132
+
133
+ last_synced_at?: string;
134
+
135
+ organization_id?: string;
136
+
137
+ project_id?: string;
138
+
139
+ provider_type?: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
140
+
141
+ updated_at?: string;
142
+ }
143
+
144
+ export interface ProviderField {
145
+ help_text?: string;
146
+
147
+ label?: string;
148
+
149
+ name?: string;
150
+
151
+ placeholder?: string;
152
+
153
+ required?: boolean;
154
+
155
+ type?: string;
156
+ }
157
+
158
+ export interface ProviderInstructionsResponse {
159
+ connection_method?: string;
160
+
161
+ fields?: Array<ProviderField>;
162
+
163
+ instructions?: string;
164
+
165
+ oauth_url?: string;
166
+
167
+ provider_type?: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
168
+ }
169
+
170
+ export interface UpdatePaymentProviderRequest {
171
+ api_key?: string;
172
+
173
+ is_active?: boolean;
174
+
175
+ webhook_secret?: string;
176
+ }
177
+
178
+ export type PaymentProviderDeleteResponse = { [key: string]: string };
179
+
180
+ export interface PaymentProviderCreateParams {
181
+ api_key: string;
182
+
183
+ project_id: string;
184
+
185
+ provider_type: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
186
+
187
+ webhook_secret: string;
188
+ }
189
+
190
+ export interface PaymentProviderUpdateParams {
191
+ api_key?: string;
192
+
193
+ is_active?: boolean;
194
+
195
+ webhook_secret?: string;
196
+ }
197
+
198
+ export interface PaymentProviderListParams {
199
+ /**
200
+ * Filter by project ID
201
+ */
202
+ project_id?: string;
203
+ }
204
+
205
+ export interface PaymentProviderInstructionsParams {
206
+ /**
207
+ * Provider type
208
+ */
209
+ provider_type: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
210
+
211
+ /**
212
+ * Project ID (required for Stripe Connect)
213
+ */
214
+ project_id?: string;
215
+ }
216
+
217
+ PaymentProviders.Stripe = Stripe;
218
+
219
+ export declare namespace PaymentProviders {
220
+ export {
221
+ type CreatePaymentProviderRequest as CreatePaymentProviderRequest,
222
+ type ListPaymentProvidersResponse as ListPaymentProvidersResponse,
223
+ type PaymentProviderResponse as PaymentProviderResponse,
224
+ type ProviderField as ProviderField,
225
+ type ProviderInstructionsResponse as ProviderInstructionsResponse,
226
+ type UpdatePaymentProviderRequest as UpdatePaymentProviderRequest,
227
+ type PaymentProviderDeleteResponse as PaymentProviderDeleteResponse,
228
+ type PaymentProviderCreateParams as PaymentProviderCreateParams,
229
+ type PaymentProviderUpdateParams as PaymentProviderUpdateParams,
230
+ type PaymentProviderListParams as PaymentProviderListParams,
231
+ type PaymentProviderInstructionsParams as PaymentProviderInstructionsParams,
232
+ };
233
+
234
+ export { Stripe as Stripe };
235
+ }
@@ -0,0 +1,56 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../../core/resource';
4
+ import * as PaymentProvidersAPI from '../payment-providers';
5
+ import { APIPromise } from '../../../../core/api-promise';
6
+ import { RequestOptions } from '../../../../internal/request-options';
7
+
8
+ export class App extends APIResource {
9
+ /**
10
+ * Handle the OAuth redirect from Stripe App installation and create payment
11
+ * provider
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const response =
16
+ * await client.v1.paymentProviders.stripe.app.handleCallback(
17
+ * { code: 'code', state: 'state' },
18
+ * );
19
+ * ```
20
+ */
21
+ handleCallback(
22
+ query: AppHandleCallbackParams,
23
+ options?: RequestOptions,
24
+ ): APIPromise<AppHandleCallbackResponse> {
25
+ return this._client.get('/api/v1/payment-providers/stripe/app/callback', { query, ...options });
26
+ }
27
+ }
28
+
29
+ export interface AppHandleCallbackResponse {
30
+ backfill_status?: string;
31
+
32
+ message?: string;
33
+
34
+ provider?: PaymentProvidersAPI.PaymentProviderResponse;
35
+
36
+ success?: boolean;
37
+ }
38
+
39
+ export interface AppHandleCallbackParams {
40
+ /**
41
+ * Authorization code
42
+ */
43
+ code: string;
44
+
45
+ /**
46
+ * State parameter for CSRF protection
47
+ */
48
+ state: string;
49
+ }
50
+
51
+ export declare namespace App {
52
+ export {
53
+ type AppHandleCallbackResponse as AppHandleCallbackResponse,
54
+ type AppHandleCallbackParams as AppHandleCallbackParams,
55
+ };
56
+ }
@@ -0,0 +1,4 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { App, type AppHandleCallbackResponse, type AppHandleCallbackParams } from './app';
4
+ export { Stripe } from './stripe';
@@ -0,0 +1,19 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../../core/resource';
4
+ import * as AppAPI from './app';
5
+ import { App, AppHandleCallbackParams, AppHandleCallbackResponse } from './app';
6
+
7
+ export class Stripe extends APIResource {
8
+ app: AppAPI.App = new AppAPI.App(this._client);
9
+ }
10
+
11
+ Stripe.App = App;
12
+
13
+ export declare namespace Stripe {
14
+ export {
15
+ App as App,
16
+ type AppHandleCallbackResponse as AppHandleCallbackResponse,
17
+ type AppHandleCallbackParams as AppHandleCallbackParams,
18
+ };
19
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './stripe/index';
@@ -1,230 +1,3 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../../core/resource';
4
- import { APIPromise } from '../../core/api-promise';
5
- import { RequestOptions } from '../../internal/request-options';
6
- import { path } from '../../internal/utils/path';
7
-
8
- export class PaymentProviders extends APIResource {
9
- /**
10
- * Connect a new payment provider to a project
11
- *
12
- * @example
13
- * ```ts
14
- * const paymentProviderResponse =
15
- * await client.v1.paymentProviders.create({
16
- * api_key: 'sk_test_xxxxx',
17
- * project_id: '550e8400-e29b-41d4-a716-446655440000',
18
- * provider_type: 'stripe',
19
- * webhook_secret: 'whsec_xxxxx',
20
- * });
21
- * ```
22
- */
23
- create(body: PaymentProviderCreateParams, options?: RequestOptions): APIPromise<PaymentProviderResponse> {
24
- return this._client.post('/api/v1/payment-providers', { body, ...options });
25
- }
26
-
27
- /**
28
- * Update payment provider credentials or settings
29
- *
30
- * @example
31
- * ```ts
32
- * const paymentProviderResponse =
33
- * await client.v1.paymentProviders.update('id');
34
- * ```
35
- */
36
- update(
37
- id: string,
38
- body: PaymentProviderUpdateParams,
39
- options?: RequestOptions,
40
- ): APIPromise<PaymentProviderResponse> {
41
- return this._client.put(path`/api/v1/payment-providers/${id}`, { body, ...options });
42
- }
43
-
44
- /**
45
- * Get all payment providers for the organization
46
- *
47
- * @example
48
- * ```ts
49
- * const listPaymentProvidersResponse =
50
- * await client.v1.paymentProviders.list();
51
- * ```
52
- */
53
- list(
54
- query: PaymentProviderListParams | null | undefined = {},
55
- options?: RequestOptions,
56
- ): APIPromise<ListPaymentProvidersResponse> {
57
- return this._client.get('/api/v1/payment-providers', { query, ...options });
58
- }
59
-
60
- /**
61
- * Disconnect a payment provider from a project
62
- *
63
- * @example
64
- * ```ts
65
- * const paymentProvider =
66
- * await client.v1.paymentProviders.delete('id');
67
- * ```
68
- */
69
- delete(id: string, options?: RequestOptions): APIPromise<PaymentProviderDeleteResponse> {
70
- return this._client.delete(path`/api/v1/payment-providers/${id}`, options);
71
- }
72
-
73
- /**
74
- * Get a single payment provider by ID
75
- *
76
- * @example
77
- * ```ts
78
- * const paymentProviderResponse =
79
- * await client.v1.paymentProviders.get('id');
80
- * ```
81
- */
82
- get(id: string, options?: RequestOptions): APIPromise<PaymentProviderResponse> {
83
- return this._client.get(path`/api/v1/payment-providers/${id}`, options);
84
- }
85
-
86
- /**
87
- * Get instructions for connecting a payment provider (OAuth URL or manual
88
- * credentials)
89
- *
90
- * @example
91
- * ```ts
92
- * const providerInstructionsResponse =
93
- * await client.v1.paymentProviders.instructions({
94
- * provider_type: 'stripe',
95
- * });
96
- * ```
97
- */
98
- instructions(
99
- query: PaymentProviderInstructionsParams,
100
- options?: RequestOptions,
101
- ): APIPromise<ProviderInstructionsResponse> {
102
- return this._client.get('/api/v1/payment-providers/instructions', { query, ...options });
103
- }
104
- }
105
-
106
- export interface CreatePaymentProviderRequest {
107
- api_key: string;
108
-
109
- project_id: string;
110
-
111
- provider_type: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
112
-
113
- webhook_secret: string;
114
- }
115
-
116
- export interface ListPaymentProvidersResponse {
117
- providers?: Array<PaymentProviderResponse>;
118
-
119
- total?: number;
120
- }
121
-
122
- export interface PaymentProviderResponse {
123
- id?: string;
124
-
125
- created_at?: string;
126
-
127
- is_active?: boolean;
128
-
129
- last_synced_at?: string;
130
-
131
- organization_id?: string;
132
-
133
- project_id?: string;
134
-
135
- provider_type?: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
136
-
137
- updated_at?: string;
138
- }
139
-
140
- export interface ProviderField {
141
- help_text?: string;
142
-
143
- label?: string;
144
-
145
- name?: string;
146
-
147
- placeholder?: string;
148
-
149
- required?: boolean;
150
-
151
- type?: string;
152
- }
153
-
154
- export interface ProviderInstructionsResponse {
155
- /**
156
- * "oauth" or "manual"
157
- */
158
- connection_method?: string;
159
-
160
- fields?: Array<ProviderField>;
161
-
162
- instructions?: string;
163
-
164
- oauth_url?: string;
165
-
166
- provider_type?: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
167
- }
168
-
169
- export interface UpdatePaymentProviderRequest {
170
- api_key?: string;
171
-
172
- is_active?: boolean;
173
-
174
- webhook_secret?: string;
175
- }
176
-
177
- export type PaymentProviderDeleteResponse = { [key: string]: string };
178
-
179
- export interface PaymentProviderCreateParams {
180
- api_key: string;
181
-
182
- project_id: string;
183
-
184
- provider_type: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
185
-
186
- webhook_secret: string;
187
- }
188
-
189
- export interface PaymentProviderUpdateParams {
190
- api_key?: string;
191
-
192
- is_active?: boolean;
193
-
194
- webhook_secret?: string;
195
- }
196
-
197
- export interface PaymentProviderListParams {
198
- /**
199
- * Filter by project ID
200
- */
201
- project_id?: string;
202
- }
203
-
204
- export interface PaymentProviderInstructionsParams {
205
- /**
206
- * Provider type
207
- */
208
- provider_type: 'stripe' | 'paddle' | 'paypal' | 'lemon_squeezy' | 'square';
209
-
210
- /**
211
- * Project ID (required for Stripe Connect)
212
- */
213
- project_id?: string;
214
- }
215
-
216
- export declare namespace PaymentProviders {
217
- export {
218
- type CreatePaymentProviderRequest as CreatePaymentProviderRequest,
219
- type ListPaymentProvidersResponse as ListPaymentProvidersResponse,
220
- type PaymentProviderResponse as PaymentProviderResponse,
221
- type ProviderField as ProviderField,
222
- type ProviderInstructionsResponse as ProviderInstructionsResponse,
223
- type UpdatePaymentProviderRequest as UpdatePaymentProviderRequest,
224
- type PaymentProviderDeleteResponse as PaymentProviderDeleteResponse,
225
- type PaymentProviderCreateParams as PaymentProviderCreateParams,
226
- type PaymentProviderUpdateParams as PaymentProviderUpdateParams,
227
- type PaymentProviderListParams as PaymentProviderListParams,
228
- type PaymentProviderInstructionsParams as PaymentProviderInstructionsParams,
229
- };
230
- }
3
+ export * from './payment-providers/index';
@@ -0,0 +1,72 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import { APIPromise } from '../../../core/api-promise';
5
+ import { RequestOptions } from '../../../internal/request-options';
6
+
7
+ export class Cohort extends APIResource {
8
+ /**
9
+ * Analyze revenue metrics for a specific cohort of visitors, including total
10
+ * revenue, conversion rates, and time to first purchase
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const response = await client.v1.revenue.cohort.getMetrics({
15
+ * project_id: 'project_id',
16
+ * visitor_ids: ['string'],
17
+ * });
18
+ * ```
19
+ */
20
+ getMetrics(body: CohortGetMetricsParams, options?: RequestOptions): APIPromise<CohortGetMetricsResponse> {
21
+ return this._client.post('/api/v1/revenue/cohort/metrics', { body, ...options });
22
+ }
23
+ }
24
+
25
+ export interface CohortGetMetricsResponse {
26
+ anonymous_customers?: number;
27
+
28
+ avg_order_value?: number;
29
+
30
+ avg_payments_per_customer?: number;
31
+
32
+ avg_revenue_per_customer?: number;
33
+
34
+ avg_revenue_per_visitor?: number;
35
+
36
+ avg_time_to_first_purchase_hours?: number;
37
+
38
+ conversion_rate?: number;
39
+
40
+ currency?: string;
41
+
42
+ identified_customers?: number;
43
+
44
+ median_time_to_first_purchase_hours?: number;
45
+
46
+ paying_customers?: number;
47
+
48
+ total_customers?: number;
49
+
50
+ total_payments?: number;
51
+
52
+ total_revenue?: number;
53
+
54
+ total_visitors?: number;
55
+
56
+ visitor_conversion_rate?: number;
57
+ }
58
+
59
+ export interface CohortGetMetricsParams {
60
+ project_id: string;
61
+
62
+ visitor_ids: Array<string>;
63
+
64
+ time_range?: 'last_hour' | 'today' | 'last_7_days' | 'last_30_days' | 'last_90_days';
65
+ }
66
+
67
+ export declare namespace Cohort {
68
+ export {
69
+ type CohortGetMetricsResponse as CohortGetMetricsResponse,
70
+ type CohortGetMetricsParams as CohortGetMetricsParams,
71
+ };
72
+ }
@@ -1,6 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  export { Attribution, type AttributionByOriginParams, type AttributionByUtmParams } from './attribution';
4
+ export { Cohort, type CohortGetMetricsResponse, type CohortGetMetricsParams } from './cohort';
4
5
  export { Conversion, type ConversionMetricsParams } from './conversion';
5
6
  export { Customers, type CustomerProfileParams, type CustomerTopParams } from './customers';
6
7
  export {