@zavudev/sdk 0.17.0 → 0.19.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 (186) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +1 -1
  3. package/client.d.mts +11 -5
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +11 -5
  6. package/client.d.ts.map +1 -1
  7. package/client.js +7 -1
  8. package/client.js.map +1 -1
  9. package/client.mjs +7 -1
  10. package/client.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/resources/addresses.d.mts +104 -0
  13. package/resources/addresses.d.mts.map +1 -0
  14. package/resources/addresses.d.ts +104 -0
  15. package/resources/addresses.d.ts.map +1 -0
  16. package/resources/addresses.js +72 -0
  17. package/resources/addresses.js.map +1 -0
  18. package/resources/addresses.mjs +68 -0
  19. package/resources/addresses.mjs.map +1 -0
  20. package/resources/broadcasts/broadcasts.d.mts +23 -1
  21. package/resources/broadcasts/broadcasts.d.mts.map +1 -1
  22. package/resources/broadcasts/broadcasts.d.ts +23 -1
  23. package/resources/broadcasts/broadcasts.d.ts.map +1 -1
  24. package/resources/broadcasts/broadcasts.js +15 -0
  25. package/resources/broadcasts/broadcasts.js.map +1 -1
  26. package/resources/broadcasts/broadcasts.mjs +15 -0
  27. package/resources/broadcasts/broadcasts.mjs.map +1 -1
  28. package/resources/broadcasts/index.d.mts +1 -1
  29. package/resources/broadcasts/index.d.mts.map +1 -1
  30. package/resources/broadcasts/index.d.ts +1 -1
  31. package/resources/broadcasts/index.d.ts.map +1 -1
  32. package/resources/broadcasts/index.js.map +1 -1
  33. package/resources/broadcasts/index.mjs.map +1 -1
  34. package/resources/index.d.mts +5 -3
  35. package/resources/index.d.mts.map +1 -1
  36. package/resources/index.d.ts +5 -3
  37. package/resources/index.d.ts.map +1 -1
  38. package/resources/index.js +6 -2
  39. package/resources/index.js.map +1 -1
  40. package/resources/index.mjs +3 -1
  41. package/resources/index.mjs.map +1 -1
  42. package/resources/phone-numbers.d.mts +67 -1
  43. package/resources/phone-numbers.d.mts.map +1 -1
  44. package/resources/phone-numbers.d.ts +67 -1
  45. package/resources/phone-numbers.d.ts.map +1 -1
  46. package/resources/phone-numbers.js +15 -0
  47. package/resources/phone-numbers.js.map +1 -1
  48. package/resources/phone-numbers.mjs +15 -0
  49. package/resources/phone-numbers.mjs.map +1 -1
  50. package/resources/regulatory-documents.d.mts +114 -0
  51. package/resources/regulatory-documents.d.mts.map +1 -0
  52. package/resources/regulatory-documents.d.ts +114 -0
  53. package/resources/regulatory-documents.d.ts.map +1 -0
  54. package/resources/regulatory-documents.js +84 -0
  55. package/resources/regulatory-documents.js.map +1 -0
  56. package/resources/regulatory-documents.mjs +80 -0
  57. package/resources/regulatory-documents.mjs.map +1 -0
  58. package/resources/senders/agent/agent.d.mts +230 -0
  59. package/resources/senders/agent/agent.d.mts.map +1 -0
  60. package/resources/senders/agent/agent.d.ts +230 -0
  61. package/resources/senders/agent/agent.d.ts.map +1 -0
  62. package/resources/senders/agent/agent.js +105 -0
  63. package/resources/senders/agent/agent.js.map +1 -0
  64. package/resources/senders/agent/agent.mjs +100 -0
  65. package/resources/senders/agent/agent.mjs.map +1 -0
  66. package/resources/senders/agent/executions.d.mts +32 -0
  67. package/resources/senders/agent/executions.d.mts.map +1 -0
  68. package/resources/senders/agent/executions.d.ts +32 -0
  69. package/resources/senders/agent/executions.d.ts.map +1 -0
  70. package/resources/senders/agent/executions.js +27 -0
  71. package/resources/senders/agent/executions.js.map +1 -0
  72. package/resources/senders/agent/executions.mjs +23 -0
  73. package/resources/senders/agent/executions.mjs.map +1 -0
  74. package/resources/senders/agent/flows.d.mts +301 -0
  75. package/resources/senders/agent/flows.d.mts.map +1 -0
  76. package/resources/senders/agent/flows.d.ts +301 -0
  77. package/resources/senders/agent/flows.d.ts.map +1 -0
  78. package/resources/senders/agent/flows.js +135 -0
  79. package/resources/senders/agent/flows.js.map +1 -0
  80. package/resources/senders/agent/flows.mjs +131 -0
  81. package/resources/senders/agent/flows.mjs.map +1 -0
  82. package/resources/senders/agent/index.d.mts +6 -0
  83. package/resources/senders/agent/index.d.mts.map +1 -0
  84. package/resources/senders/agent/index.d.ts +6 -0
  85. package/resources/senders/agent/index.d.ts.map +1 -0
  86. package/resources/senders/agent/index.js +15 -0
  87. package/resources/senders/agent/index.js.map +1 -0
  88. package/resources/senders/agent/index.mjs +7 -0
  89. package/resources/senders/agent/index.mjs.map +1 -0
  90. package/resources/senders/agent/knowledge-bases/documents.d.mts +86 -0
  91. package/resources/senders/agent/knowledge-bases/documents.d.mts.map +1 -0
  92. package/resources/senders/agent/knowledge-bases/documents.d.ts +86 -0
  93. package/resources/senders/agent/knowledge-bases/documents.d.ts.map +1 -0
  94. package/resources/senders/agent/knowledge-bases/documents.js +70 -0
  95. package/resources/senders/agent/knowledge-bases/documents.js.map +1 -0
  96. package/resources/senders/agent/knowledge-bases/documents.mjs +66 -0
  97. package/resources/senders/agent/knowledge-bases/documents.mjs.map +1 -0
  98. package/resources/senders/agent/knowledge-bases/index.d.mts +3 -0
  99. package/resources/senders/agent/knowledge-bases/index.d.mts.map +1 -0
  100. package/resources/senders/agent/knowledge-bases/index.d.ts +3 -0
  101. package/resources/senders/agent/knowledge-bases/index.d.ts.map +1 -0
  102. package/resources/senders/agent/knowledge-bases/index.js +9 -0
  103. package/resources/senders/agent/knowledge-bases/index.js.map +1 -0
  104. package/resources/senders/agent/knowledge-bases/index.mjs +4 -0
  105. package/resources/senders/agent/knowledge-bases/index.mjs.map +1 -0
  106. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts +147 -0
  107. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts.map +1 -0
  108. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts +147 -0
  109. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts.map +1 -0
  110. package/resources/senders/agent/knowledge-bases/knowledge-bases.js +106 -0
  111. package/resources/senders/agent/knowledge-bases/knowledge-bases.js.map +1 -0
  112. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs +101 -0
  113. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs.map +1 -0
  114. package/resources/senders/agent/knowledge-bases.d.mts +2 -0
  115. package/resources/senders/agent/knowledge-bases.d.mts.map +1 -0
  116. package/resources/senders/agent/knowledge-bases.d.ts +2 -0
  117. package/resources/senders/agent/knowledge-bases.d.ts.map +1 -0
  118. package/resources/senders/agent/knowledge-bases.js +6 -0
  119. package/resources/senders/agent/knowledge-bases.js.map +1 -0
  120. package/resources/senders/agent/knowledge-bases.mjs +3 -0
  121. package/resources/senders/agent/knowledge-bases.mjs.map +1 -0
  122. package/resources/senders/agent/tools.d.mts +242 -0
  123. package/resources/senders/agent/tools.d.mts.map +1 -0
  124. package/resources/senders/agent/tools.d.ts +242 -0
  125. package/resources/senders/agent/tools.d.ts.map +1 -0
  126. package/resources/senders/agent/tools.js +126 -0
  127. package/resources/senders/agent/tools.js.map +1 -0
  128. package/resources/senders/agent/tools.mjs +122 -0
  129. package/resources/senders/agent/tools.mjs.map +1 -0
  130. package/resources/senders/agent.d.mts +2 -0
  131. package/resources/senders/agent.d.mts.map +1 -0
  132. package/resources/senders/agent.d.ts +2 -0
  133. package/resources/senders/agent.d.ts.map +1 -0
  134. package/resources/senders/agent.js +6 -0
  135. package/resources/senders/agent.js.map +1 -0
  136. package/resources/senders/agent.mjs +3 -0
  137. package/resources/senders/agent.mjs.map +1 -0
  138. package/resources/senders/index.d.mts +3 -0
  139. package/resources/senders/index.d.mts.map +1 -0
  140. package/resources/senders/index.d.ts +3 -0
  141. package/resources/senders/index.d.ts.map +1 -0
  142. package/resources/senders/index.js +9 -0
  143. package/resources/senders/index.js.map +1 -0
  144. package/resources/senders/index.mjs +4 -0
  145. package/resources/senders/index.mjs.map +1 -0
  146. package/resources/senders/senders.d.mts +350 -0
  147. package/resources/senders/senders.d.mts.map +1 -0
  148. package/resources/senders/senders.d.ts +350 -0
  149. package/resources/senders/senders.d.ts.map +1 -0
  150. package/resources/senders/senders.js +150 -0
  151. package/resources/senders/senders.js.map +1 -0
  152. package/resources/senders/senders.mjs +145 -0
  153. package/resources/senders/senders.mjs.map +1 -0
  154. package/resources/senders.d.mts +1 -337
  155. package/resources/senders.d.mts.map +1 -1
  156. package/resources/senders.d.ts +1 -337
  157. package/resources/senders.d.ts.map +1 -1
  158. package/resources/senders.js +2 -138
  159. package/resources/senders.js.map +1 -1
  160. package/resources/senders.mjs +1 -136
  161. package/resources/senders.mjs.map +1 -1
  162. package/src/client.ts +79 -17
  163. package/src/resources/addresses.ts +160 -0
  164. package/src/resources/broadcasts/broadcasts.ts +33 -0
  165. package/src/resources/broadcasts/index.ts +2 -0
  166. package/src/resources/index.ts +29 -1
  167. package/src/resources/phone-numbers.ts +97 -0
  168. package/src/resources/regulatory-documents.ts +184 -0
  169. package/src/resources/senders/agent/agent.ts +417 -0
  170. package/src/resources/senders/agent/executions.ts +48 -0
  171. package/src/resources/senders/agent/flows.ts +409 -0
  172. package/src/resources/senders/agent/index.ts +60 -0
  173. package/src/resources/senders/agent/knowledge-bases/documents.ts +133 -0
  174. package/src/resources/senders/agent/knowledge-bases/index.ts +24 -0
  175. package/src/resources/senders/agent/knowledge-bases/knowledge-bases.ts +251 -0
  176. package/src/resources/senders/agent/knowledge-bases.ts +3 -0
  177. package/src/resources/senders/agent/tools.ts +334 -0
  178. package/src/resources/senders/agent.ts +3 -0
  179. package/src/resources/senders/index.ts +32 -0
  180. package/src/resources/senders/senders.ts +516 -0
  181. package/src/resources/senders.ts +1 -476
  182. package/src/version.ts +1 -1
  183. package/version.d.mts +1 -1
  184. package/version.d.ts +1 -1
  185. package/version.js +1 -1
  186. package/version.mjs +1 -1
@@ -14,10 +14,12 @@ export {
14
14
  type BroadcastRetrieveResponse,
15
15
  type BroadcastUpdateResponse,
16
16
  type BroadcastCancelResponse,
17
+ type BroadcastRescheduleResponse,
17
18
  type BroadcastSendResponse,
18
19
  type BroadcastCreateParams,
19
20
  type BroadcastUpdateParams,
20
21
  type BroadcastListParams,
22
+ type BroadcastRescheduleParams,
21
23
  type BroadcastSendParams,
22
24
  type BroadcastContactsCursor,
23
25
  type BroadcastsCursor,
@@ -1,5 +1,15 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ export {
4
+ Addresses,
5
+ type Address,
6
+ type AddressStatus,
7
+ type AddressCreateResponse,
8
+ type AddressRetrieveResponse,
9
+ type AddressCreateParams,
10
+ type AddressListParams,
11
+ type AddressesCursor,
12
+ } from './addresses';
3
13
  export {
4
14
  Broadcasts,
5
15
  type Broadcast,
@@ -14,10 +24,12 @@ export {
14
24
  type BroadcastRetrieveResponse,
15
25
  type BroadcastUpdateResponse,
16
26
  type BroadcastCancelResponse,
27
+ type BroadcastRescheduleResponse,
17
28
  type BroadcastSendResponse,
18
29
  type BroadcastCreateParams,
19
30
  type BroadcastUpdateParams,
20
31
  type BroadcastListParams,
32
+ type BroadcastRescheduleParams,
21
33
  type BroadcastSendParams,
22
34
  type BroadcastContactsCursor,
23
35
  type BroadcastsCursor,
@@ -57,16 +69,32 @@ export {
57
69
  type PhoneNumberPricing,
58
70
  type PhoneNumberStatus,
59
71
  type PhoneNumberType,
72
+ type Requirement,
73
+ type RequirementAcceptanceCriteria,
74
+ type RequirementFieldType,
75
+ type RequirementType,
60
76
  type PhoneNumberRetrieveResponse,
61
77
  type PhoneNumberUpdateResponse,
62
78
  type PhoneNumberPurchaseResponse,
79
+ type PhoneNumberRequirementsResponse,
63
80
  type PhoneNumberSearchAvailableResponse,
64
81
  type PhoneNumberUpdateParams,
65
82
  type PhoneNumberListParams,
66
83
  type PhoneNumberPurchaseParams,
84
+ type PhoneNumberRequirementsParams,
67
85
  type PhoneNumberSearchAvailableParams,
68
86
  type OwnedPhoneNumbersCursor,
69
87
  } from './phone-numbers';
88
+ export {
89
+ RegulatoryDocuments,
90
+ type RegulatoryDocument,
91
+ type RegulatoryDocumentCreateResponse,
92
+ type RegulatoryDocumentRetrieveResponse,
93
+ type RegulatoryDocumentUploadURLResponse,
94
+ type RegulatoryDocumentCreateParams,
95
+ type RegulatoryDocumentListParams,
96
+ type RegulatoryDocumentsCursor,
97
+ } from './regulatory-documents';
70
98
  export {
71
99
  Senders,
72
100
  type Sender,
@@ -84,7 +112,7 @@ export {
84
112
  type SenderUpdateProfileParams,
85
113
  type SenderUploadProfilePictureParams,
86
114
  type SendersCursor,
87
- } from './senders';
115
+ } from './senders/senders';
88
116
  export {
89
117
  Templates,
90
118
  type Template,
@@ -93,6 +93,25 @@ export class PhoneNumbers extends APIResource {
93
93
  });
94
94
  }
95
95
 
96
+ /**
97
+ * Get regulatory requirements for purchasing phone numbers in a specific country.
98
+ * Some countries require additional documentation (addresses, identity documents)
99
+ * before phone numbers can be activated.
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * const response = await client.phoneNumbers.requirements({
104
+ * countryCode: 'xx',
105
+ * });
106
+ * ```
107
+ */
108
+ requirements(
109
+ query: PhoneNumberRequirementsParams,
110
+ options?: RequestOptions,
111
+ ): APIPromise<PhoneNumberRequirementsResponse> {
112
+ return this._client.get('/v1/phone-numbers/requirements', { query, ...options });
113
+ }
114
+
96
115
  /**
97
116
  * Search for available phone numbers to purchase by country and type.
98
117
  *
@@ -206,6 +225,62 @@ export type PhoneNumberStatus = 'active' | 'suspended' | 'pending';
206
225
 
207
226
  export type PhoneNumberType = 'local' | 'mobile' | 'tollFree';
208
227
 
228
+ /**
229
+ * A group of requirements for a specific country/phone type combination.
230
+ */
231
+ export interface Requirement {
232
+ id: string;
233
+
234
+ action: string;
235
+
236
+ countryCode: string;
237
+
238
+ phoneNumberType: string;
239
+
240
+ requirementTypes: Array<RequirementType>;
241
+ }
242
+
243
+ /**
244
+ * Acceptance criteria for a requirement.
245
+ */
246
+ export interface RequirementAcceptanceCriteria {
247
+ allowedValues?: Array<string> | null;
248
+
249
+ maxLength?: number | null;
250
+
251
+ minLength?: number | null;
252
+
253
+ regexPattern?: string | null;
254
+ }
255
+
256
+ /**
257
+ * Type of requirement field.
258
+ */
259
+ export type RequirementFieldType = 'textual' | 'address' | 'document' | 'action';
260
+
261
+ /**
262
+ * A specific requirement type within a requirement group.
263
+ */
264
+ export interface RequirementType {
265
+ id: string;
266
+
267
+ description: string;
268
+
269
+ name: string;
270
+
271
+ /**
272
+ * Type of requirement field.
273
+ */
274
+ type: RequirementFieldType;
275
+
276
+ /**
277
+ * Acceptance criteria for a requirement.
278
+ */
279
+ acceptanceCriteria?: RequirementAcceptanceCriteria;
280
+
281
+ example?: string | null;
282
+ }
283
+
209
284
  export interface PhoneNumberRetrieveResponse {
210
285
  phoneNumber: OwnedPhoneNumber;
211
286
  }
@@ -218,6 +293,10 @@ export interface PhoneNumberPurchaseResponse {
218
293
  phoneNumber: OwnedPhoneNumber;
219
294
  }
220
295
 
296
+ export interface PhoneNumberRequirementsResponse {
297
+ items: Array<Requirement>;
298
+ }
299
+
221
300
  export interface PhoneNumberSearchAvailableResponse {
222
301
  items: Array<AvailablePhoneNumber>;
223
302
  }
@@ -253,6 +332,18 @@ export interface PhoneNumberPurchaseParams {
253
332
  name?: string;
254
333
  }
255
334
 
335
+ export interface PhoneNumberRequirementsParams {
336
+ /**
337
+ * Two-letter ISO country code.
338
+ */
339
+ countryCode: string;
340
+
341
+ /**
342
+ * Type of phone number (local, mobile, tollFree).
343
+ */
344
+ type?: PhoneNumberType;
345
+ }
346
+
256
347
  export interface PhoneNumberSearchAvailableParams {
257
348
  /**
258
349
  * Two-letter ISO country code.
@@ -284,14 +375,20 @@ export declare namespace PhoneNumbers {
284
375
  type PhoneNumberPricing as PhoneNumberPricing,
285
376
  type PhoneNumberStatus as PhoneNumberStatus,
286
377
  type PhoneNumberType as PhoneNumberType,
378
+ type Requirement as Requirement,
379
+ type RequirementAcceptanceCriteria as RequirementAcceptanceCriteria,
380
+ type RequirementFieldType as RequirementFieldType,
381
+ type RequirementType as RequirementType,
287
382
  type PhoneNumberRetrieveResponse as PhoneNumberRetrieveResponse,
288
383
  type PhoneNumberUpdateResponse as PhoneNumberUpdateResponse,
289
384
  type PhoneNumberPurchaseResponse as PhoneNumberPurchaseResponse,
385
+ type PhoneNumberRequirementsResponse as PhoneNumberRequirementsResponse,
290
386
  type PhoneNumberSearchAvailableResponse as PhoneNumberSearchAvailableResponse,
291
387
  type OwnedPhoneNumbersCursor as OwnedPhoneNumbersCursor,
292
388
  type PhoneNumberUpdateParams as PhoneNumberUpdateParams,
293
389
  type PhoneNumberListParams as PhoneNumberListParams,
294
390
  type PhoneNumberPurchaseParams as PhoneNumberPurchaseParams,
391
+ type PhoneNumberRequirementsParams as PhoneNumberRequirementsParams,
295
392
  type PhoneNumberSearchAvailableParams as PhoneNumberSearchAvailableParams,
296
393
  };
297
394
  }
@@ -0,0 +1,184 @@
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 { Cursor, type CursorParams, PagePromise } from '../core/pagination';
6
+ import { buildHeaders } from '../internal/headers';
7
+ import { RequestOptions } from '../internal/request-options';
8
+ import { path } from '../internal/utils/path';
9
+
10
+ export class RegulatoryDocuments extends APIResource {
11
+ /**
12
+ * Create a regulatory document record after uploading the file. Use the upload-url
13
+ * endpoint first to get an upload URL.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const regulatoryDocument =
18
+ * await client.regulatoryDocuments.create({
19
+ * documentType: 'passport',
20
+ * fileSize: 102400,
21
+ * mimeType: 'image/jpeg',
22
+ * name: 'Passport Scan',
23
+ * storageId: 'kg2abc123...',
24
+ * });
25
+ * ```
26
+ */
27
+ create(
28
+ body: RegulatoryDocumentCreateParams,
29
+ options?: RequestOptions,
30
+ ): APIPromise<RegulatoryDocumentCreateResponse> {
31
+ return this._client.post('/v1/documents', { body, ...options });
32
+ }
33
+
34
+ /**
35
+ * Get a specific regulatory document.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const regulatoryDocument =
40
+ * await client.regulatoryDocuments.retrieve('documentId');
41
+ * ```
42
+ */
43
+ retrieve(documentID: string, options?: RequestOptions): APIPromise<RegulatoryDocumentRetrieveResponse> {
44
+ return this._client.get(path`/v1/documents/${documentID}`, options);
45
+ }
46
+
47
+ /**
48
+ * List regulatory documents for this project.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * // Automatically fetches more pages as needed.
53
+ * for await (const regulatoryDocument of client.regulatoryDocuments.list()) {
54
+ * // ...
55
+ * }
56
+ * ```
57
+ */
58
+ list(
59
+ query: RegulatoryDocumentListParams | null | undefined = {},
60
+ options?: RequestOptions,
61
+ ): PagePromise<RegulatoryDocumentsCursor, RegulatoryDocument> {
62
+ return this._client.getAPIList('/v1/documents', Cursor<RegulatoryDocument>, { query, ...options });
63
+ }
64
+
65
+ /**
66
+ * Delete a regulatory document. Cannot delete verified documents.
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * await client.regulatoryDocuments.delete('documentId');
71
+ * ```
72
+ */
73
+ delete(documentID: string, options?: RequestOptions): APIPromise<void> {
74
+ return this._client.delete(path`/v1/documents/${documentID}`, {
75
+ ...options,
76
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Get a presigned URL to upload a document file. After uploading, use the
82
+ * storageId to create the document record.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const response =
87
+ * await client.regulatoryDocuments.uploadURL();
88
+ * ```
89
+ */
90
+ uploadURL(options?: RequestOptions): APIPromise<RegulatoryDocumentUploadURLResponse> {
91
+ return this._client.post('/v1/documents/upload-url', options);
92
+ }
93
+ }
94
+
95
+ export type RegulatoryDocumentsCursor = Cursor<RegulatoryDocument>;
96
+
97
+ /**
98
+ * A regulatory document for phone number requirements.
99
+ */
100
+ export interface RegulatoryDocument {
101
+ id: string;
102
+
103
+ createdAt: string;
104
+
105
+ documentType:
106
+ | 'passport'
107
+ | 'national_id'
108
+ | 'drivers_license'
109
+ | 'utility_bill'
110
+ | 'tax_id'
111
+ | 'business_registration'
112
+ | 'proof_of_address'
113
+ | 'other';
114
+
115
+ name: string;
116
+
117
+ status: 'pending' | 'uploaded' | 'verified' | 'rejected';
118
+
119
+ fileSize?: number;
120
+
121
+ mimeType?: string;
122
+
123
+ rejectionReason?: string | null;
124
+
125
+ updatedAt?: string;
126
+ }
127
+
128
+ export interface RegulatoryDocumentCreateResponse {
129
+ /**
130
+ * A regulatory document for phone number requirements.
131
+ */
132
+ document: RegulatoryDocument;
133
+ }
134
+
135
+ export interface RegulatoryDocumentRetrieveResponse {
136
+ /**
137
+ * A regulatory document for phone number requirements.
138
+ */
139
+ document: RegulatoryDocument;
140
+ }
141
+
142
+ export interface RegulatoryDocumentUploadURLResponse {
143
+ /**
144
+ * Pre-signed URL for uploading the file.
145
+ */
146
+ uploadUrl: string;
147
+ }
148
+
149
+ export interface RegulatoryDocumentCreateParams {
150
+ documentType:
151
+ | 'passport'
152
+ | 'national_id'
153
+ | 'drivers_license'
154
+ | 'utility_bill'
155
+ | 'tax_id'
156
+ | 'business_registration'
157
+ | 'proof_of_address'
158
+ | 'other';
159
+
160
+ fileSize: number;
161
+
162
+ mimeType: string;
163
+
164
+ name: string;
165
+
166
+ /**
167
+ * Storage ID from the upload-url endpoint.
168
+ */
169
+ storageId: string;
170
+ }
171
+
172
+ export interface RegulatoryDocumentListParams extends CursorParams {}
173
+
174
+ export declare namespace RegulatoryDocuments {
175
+ export {
176
+ type RegulatoryDocument as RegulatoryDocument,
177
+ type RegulatoryDocumentCreateResponse as RegulatoryDocumentCreateResponse,
178
+ type RegulatoryDocumentRetrieveResponse as RegulatoryDocumentRetrieveResponse,
179
+ type RegulatoryDocumentUploadURLResponse as RegulatoryDocumentUploadURLResponse,
180
+ type RegulatoryDocumentsCursor as RegulatoryDocumentsCursor,
181
+ type RegulatoryDocumentCreateParams as RegulatoryDocumentCreateParams,
182
+ type RegulatoryDocumentListParams as RegulatoryDocumentListParams,
183
+ };
184
+ }