@zavudev/sdk 0.17.0 → 0.18.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 (185) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/client.d.mts +11 -5
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +11 -5
  5. package/client.d.ts.map +1 -1
  6. package/client.js +7 -1
  7. package/client.js.map +1 -1
  8. package/client.mjs +7 -1
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/addresses.d.mts +104 -0
  12. package/resources/addresses.d.mts.map +1 -0
  13. package/resources/addresses.d.ts +104 -0
  14. package/resources/addresses.d.ts.map +1 -0
  15. package/resources/addresses.js +72 -0
  16. package/resources/addresses.js.map +1 -0
  17. package/resources/addresses.mjs +68 -0
  18. package/resources/addresses.mjs.map +1 -0
  19. package/resources/broadcasts/broadcasts.d.mts +23 -1
  20. package/resources/broadcasts/broadcasts.d.mts.map +1 -1
  21. package/resources/broadcasts/broadcasts.d.ts +23 -1
  22. package/resources/broadcasts/broadcasts.d.ts.map +1 -1
  23. package/resources/broadcasts/broadcasts.js +15 -0
  24. package/resources/broadcasts/broadcasts.js.map +1 -1
  25. package/resources/broadcasts/broadcasts.mjs +15 -0
  26. package/resources/broadcasts/broadcasts.mjs.map +1 -1
  27. package/resources/broadcasts/index.d.mts +1 -1
  28. package/resources/broadcasts/index.d.mts.map +1 -1
  29. package/resources/broadcasts/index.d.ts +1 -1
  30. package/resources/broadcasts/index.d.ts.map +1 -1
  31. package/resources/broadcasts/index.js.map +1 -1
  32. package/resources/broadcasts/index.mjs.map +1 -1
  33. package/resources/index.d.mts +5 -3
  34. package/resources/index.d.mts.map +1 -1
  35. package/resources/index.d.ts +5 -3
  36. package/resources/index.d.ts.map +1 -1
  37. package/resources/index.js +6 -2
  38. package/resources/index.js.map +1 -1
  39. package/resources/index.mjs +3 -1
  40. package/resources/index.mjs.map +1 -1
  41. package/resources/phone-numbers.d.mts +67 -1
  42. package/resources/phone-numbers.d.mts.map +1 -1
  43. package/resources/phone-numbers.d.ts +67 -1
  44. package/resources/phone-numbers.d.ts.map +1 -1
  45. package/resources/phone-numbers.js +15 -0
  46. package/resources/phone-numbers.js.map +1 -1
  47. package/resources/phone-numbers.mjs +15 -0
  48. package/resources/phone-numbers.mjs.map +1 -1
  49. package/resources/regulatory-documents.d.mts +114 -0
  50. package/resources/regulatory-documents.d.mts.map +1 -0
  51. package/resources/regulatory-documents.d.ts +114 -0
  52. package/resources/regulatory-documents.d.ts.map +1 -0
  53. package/resources/regulatory-documents.js +84 -0
  54. package/resources/regulatory-documents.js.map +1 -0
  55. package/resources/regulatory-documents.mjs +80 -0
  56. package/resources/regulatory-documents.mjs.map +1 -0
  57. package/resources/senders/agent/agent.d.mts +230 -0
  58. package/resources/senders/agent/agent.d.mts.map +1 -0
  59. package/resources/senders/agent/agent.d.ts +230 -0
  60. package/resources/senders/agent/agent.d.ts.map +1 -0
  61. package/resources/senders/agent/agent.js +105 -0
  62. package/resources/senders/agent/agent.js.map +1 -0
  63. package/resources/senders/agent/agent.mjs +100 -0
  64. package/resources/senders/agent/agent.mjs.map +1 -0
  65. package/resources/senders/agent/executions.d.mts +32 -0
  66. package/resources/senders/agent/executions.d.mts.map +1 -0
  67. package/resources/senders/agent/executions.d.ts +32 -0
  68. package/resources/senders/agent/executions.d.ts.map +1 -0
  69. package/resources/senders/agent/executions.js +27 -0
  70. package/resources/senders/agent/executions.js.map +1 -0
  71. package/resources/senders/agent/executions.mjs +23 -0
  72. package/resources/senders/agent/executions.mjs.map +1 -0
  73. package/resources/senders/agent/flows.d.mts +301 -0
  74. package/resources/senders/agent/flows.d.mts.map +1 -0
  75. package/resources/senders/agent/flows.d.ts +301 -0
  76. package/resources/senders/agent/flows.d.ts.map +1 -0
  77. package/resources/senders/agent/flows.js +135 -0
  78. package/resources/senders/agent/flows.js.map +1 -0
  79. package/resources/senders/agent/flows.mjs +131 -0
  80. package/resources/senders/agent/flows.mjs.map +1 -0
  81. package/resources/senders/agent/index.d.mts +6 -0
  82. package/resources/senders/agent/index.d.mts.map +1 -0
  83. package/resources/senders/agent/index.d.ts +6 -0
  84. package/resources/senders/agent/index.d.ts.map +1 -0
  85. package/resources/senders/agent/index.js +15 -0
  86. package/resources/senders/agent/index.js.map +1 -0
  87. package/resources/senders/agent/index.mjs +7 -0
  88. package/resources/senders/agent/index.mjs.map +1 -0
  89. package/resources/senders/agent/knowledge-bases/documents.d.mts +86 -0
  90. package/resources/senders/agent/knowledge-bases/documents.d.mts.map +1 -0
  91. package/resources/senders/agent/knowledge-bases/documents.d.ts +86 -0
  92. package/resources/senders/agent/knowledge-bases/documents.d.ts.map +1 -0
  93. package/resources/senders/agent/knowledge-bases/documents.js +70 -0
  94. package/resources/senders/agent/knowledge-bases/documents.js.map +1 -0
  95. package/resources/senders/agent/knowledge-bases/documents.mjs +66 -0
  96. package/resources/senders/agent/knowledge-bases/documents.mjs.map +1 -0
  97. package/resources/senders/agent/knowledge-bases/index.d.mts +3 -0
  98. package/resources/senders/agent/knowledge-bases/index.d.mts.map +1 -0
  99. package/resources/senders/agent/knowledge-bases/index.d.ts +3 -0
  100. package/resources/senders/agent/knowledge-bases/index.d.ts.map +1 -0
  101. package/resources/senders/agent/knowledge-bases/index.js +9 -0
  102. package/resources/senders/agent/knowledge-bases/index.js.map +1 -0
  103. package/resources/senders/agent/knowledge-bases/index.mjs +4 -0
  104. package/resources/senders/agent/knowledge-bases/index.mjs.map +1 -0
  105. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts +147 -0
  106. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts.map +1 -0
  107. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts +147 -0
  108. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts.map +1 -0
  109. package/resources/senders/agent/knowledge-bases/knowledge-bases.js +106 -0
  110. package/resources/senders/agent/knowledge-bases/knowledge-bases.js.map +1 -0
  111. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs +101 -0
  112. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs.map +1 -0
  113. package/resources/senders/agent/knowledge-bases.d.mts +2 -0
  114. package/resources/senders/agent/knowledge-bases.d.mts.map +1 -0
  115. package/resources/senders/agent/knowledge-bases.d.ts +2 -0
  116. package/resources/senders/agent/knowledge-bases.d.ts.map +1 -0
  117. package/resources/senders/agent/knowledge-bases.js +6 -0
  118. package/resources/senders/agent/knowledge-bases.js.map +1 -0
  119. package/resources/senders/agent/knowledge-bases.mjs +3 -0
  120. package/resources/senders/agent/knowledge-bases.mjs.map +1 -0
  121. package/resources/senders/agent/tools.d.mts +242 -0
  122. package/resources/senders/agent/tools.d.mts.map +1 -0
  123. package/resources/senders/agent/tools.d.ts +242 -0
  124. package/resources/senders/agent/tools.d.ts.map +1 -0
  125. package/resources/senders/agent/tools.js +126 -0
  126. package/resources/senders/agent/tools.js.map +1 -0
  127. package/resources/senders/agent/tools.mjs +122 -0
  128. package/resources/senders/agent/tools.mjs.map +1 -0
  129. package/resources/senders/agent.d.mts +2 -0
  130. package/resources/senders/agent.d.mts.map +1 -0
  131. package/resources/senders/agent.d.ts +2 -0
  132. package/resources/senders/agent.d.ts.map +1 -0
  133. package/resources/senders/agent.js +6 -0
  134. package/resources/senders/agent.js.map +1 -0
  135. package/resources/senders/agent.mjs +3 -0
  136. package/resources/senders/agent.mjs.map +1 -0
  137. package/resources/senders/index.d.mts +3 -0
  138. package/resources/senders/index.d.mts.map +1 -0
  139. package/resources/senders/index.d.ts +3 -0
  140. package/resources/senders/index.d.ts.map +1 -0
  141. package/resources/senders/index.js +9 -0
  142. package/resources/senders/index.js.map +1 -0
  143. package/resources/senders/index.mjs +4 -0
  144. package/resources/senders/index.mjs.map +1 -0
  145. package/resources/senders/senders.d.mts +342 -0
  146. package/resources/senders/senders.d.mts.map +1 -0
  147. package/resources/senders/senders.d.ts +342 -0
  148. package/resources/senders/senders.d.ts.map +1 -0
  149. package/resources/senders/senders.js +150 -0
  150. package/resources/senders/senders.js.map +1 -0
  151. package/resources/senders/senders.mjs +145 -0
  152. package/resources/senders/senders.mjs.map +1 -0
  153. package/resources/senders.d.mts +1 -337
  154. package/resources/senders.d.mts.map +1 -1
  155. package/resources/senders.d.ts +1 -337
  156. package/resources/senders.d.ts.map +1 -1
  157. package/resources/senders.js +2 -138
  158. package/resources/senders.js.map +1 -1
  159. package/resources/senders.mjs +1 -136
  160. package/resources/senders.mjs.map +1 -1
  161. package/src/client.ts +79 -17
  162. package/src/resources/addresses.ts +160 -0
  163. package/src/resources/broadcasts/broadcasts.ts +33 -0
  164. package/src/resources/broadcasts/index.ts +2 -0
  165. package/src/resources/index.ts +29 -1
  166. package/src/resources/phone-numbers.ts +97 -0
  167. package/src/resources/regulatory-documents.ts +184 -0
  168. package/src/resources/senders/agent/agent.ts +417 -0
  169. package/src/resources/senders/agent/executions.ts +48 -0
  170. package/src/resources/senders/agent/flows.ts +409 -0
  171. package/src/resources/senders/agent/index.ts +60 -0
  172. package/src/resources/senders/agent/knowledge-bases/documents.ts +133 -0
  173. package/src/resources/senders/agent/knowledge-bases/index.ts +24 -0
  174. package/src/resources/senders/agent/knowledge-bases/knowledge-bases.ts +251 -0
  175. package/src/resources/senders/agent/knowledge-bases.ts +3 -0
  176. package/src/resources/senders/agent/tools.ts +334 -0
  177. package/src/resources/senders/agent.ts +3 -0
  178. package/src/resources/senders/index.ts +32 -0
  179. package/src/resources/senders/senders.ts +506 -0
  180. package/src/resources/senders.ts +1 -476
  181. package/src/version.ts +1 -1
  182. package/version.d.mts +1 -1
  183. package/version.d.ts +1 -1
  184. package/version.js +1 -1
  185. package/version.mjs +1 -1
package/src/client.ts CHANGED
@@ -18,6 +18,16 @@ import { AbstractPage, type CursorParams, CursorResponse } from './core/paginati
18
18
  import * as Uploads from './core/uploads';
19
19
  import * as API from './resources/index';
20
20
  import { APIPromise } from './core/api-promise';
21
+ import {
22
+ Address,
23
+ AddressCreateParams,
24
+ AddressCreateResponse,
25
+ AddressListParams,
26
+ AddressRetrieveResponse,
27
+ AddressStatus,
28
+ Addresses,
29
+ AddressesCursor,
30
+ } from './resources/addresses';
21
31
  import {
22
32
  Contact,
23
33
  ContactListParams,
@@ -54,6 +64,8 @@ import {
54
64
  PhoneNumberPricing,
55
65
  PhoneNumberPurchaseParams,
56
66
  PhoneNumberPurchaseResponse,
67
+ PhoneNumberRequirementsParams,
68
+ PhoneNumberRequirementsResponse,
57
69
  PhoneNumberRetrieveResponse,
58
70
  PhoneNumberSearchAvailableParams,
59
71
  PhoneNumberSearchAvailableResponse,
@@ -62,25 +74,21 @@ import {
62
74
  PhoneNumberUpdateParams,
63
75
  PhoneNumberUpdateResponse,
64
76
  PhoneNumbers,
77
+ Requirement,
78
+ RequirementAcceptanceCriteria,
79
+ RequirementFieldType,
80
+ RequirementType,
65
81
  } from './resources/phone-numbers';
66
82
  import {
67
- Sender,
68
- SenderCreateParams,
69
- SenderListParams,
70
- SenderUpdateParams,
71
- SenderUpdateProfileParams,
72
- SenderUpdateProfileResponse,
73
- SenderUploadProfilePictureParams,
74
- SenderUploadProfilePictureResponse,
75
- SenderWebhook,
76
- Senders,
77
- SendersCursor,
78
- WebhookEvent,
79
- WebhookSecretResponse,
80
- WhatsappBusinessProfile,
81
- WhatsappBusinessProfileResponse,
82
- WhatsappBusinessProfileVertical,
83
- } from './resources/senders';
83
+ RegulatoryDocument,
84
+ RegulatoryDocumentCreateParams,
85
+ RegulatoryDocumentCreateResponse,
86
+ RegulatoryDocumentListParams,
87
+ RegulatoryDocumentRetrieveResponse,
88
+ RegulatoryDocumentUploadURLResponse,
89
+ RegulatoryDocuments,
90
+ RegulatoryDocumentsCursor,
91
+ } from './resources/regulatory-documents';
84
92
  import {
85
93
  Template,
86
94
  TemplateCreateParams,
@@ -102,6 +110,8 @@ import {
102
110
  BroadcastListParams,
103
111
  BroadcastMessageType,
104
112
  BroadcastProgress,
113
+ BroadcastRescheduleParams,
114
+ BroadcastRescheduleResponse,
105
115
  BroadcastRetrieveResponse,
106
116
  BroadcastSendParams,
107
117
  BroadcastSendResponse,
@@ -111,6 +121,24 @@ import {
111
121
  Broadcasts,
112
122
  BroadcastsCursor,
113
123
  } from './resources/broadcasts/broadcasts';
124
+ import {
125
+ Sender,
126
+ SenderCreateParams,
127
+ SenderListParams,
128
+ SenderUpdateParams,
129
+ SenderUpdateProfileParams,
130
+ SenderUpdateProfileResponse,
131
+ SenderUploadProfilePictureParams,
132
+ SenderUploadProfilePictureResponse,
133
+ SenderWebhook,
134
+ Senders,
135
+ SendersCursor,
136
+ WebhookEvent,
137
+ WebhookSecretResponse,
138
+ WhatsappBusinessProfile,
139
+ WhatsappBusinessProfileResponse,
140
+ WhatsappBusinessProfileVertical,
141
+ } from './resources/senders/senders';
114
142
  import { type Fetch } from './internal/builtin-types';
115
143
  import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
116
144
  import { FinalRequestOptions, RequestOptions } from './internal/request-options';
@@ -834,6 +862,8 @@ export class Zavudev {
834
862
  broadcasts: API.Broadcasts = new API.Broadcasts(this);
835
863
  introspect: API.Introspect = new API.Introspect(this);
836
864
  phoneNumbers: API.PhoneNumbers = new API.PhoneNumbers(this);
865
+ addresses: API.Addresses = new API.Addresses(this);
866
+ regulatoryDocuments: API.RegulatoryDocuments = new API.RegulatoryDocuments(this);
837
867
  }
838
868
 
839
869
  Zavudev.Messages = Messages;
@@ -843,6 +873,8 @@ Zavudev.Contacts = Contacts;
843
873
  Zavudev.Broadcasts = Broadcasts;
844
874
  Zavudev.Introspect = Introspect;
845
875
  Zavudev.PhoneNumbers = PhoneNumbers;
876
+ Zavudev.Addresses = Addresses;
877
+ Zavudev.RegulatoryDocuments = RegulatoryDocuments;
846
878
 
847
879
  export declare namespace Zavudev {
848
880
  export type RequestOptions = Opts.RequestOptions;
@@ -915,11 +947,13 @@ export declare namespace Zavudev {
915
947
  type BroadcastRetrieveResponse as BroadcastRetrieveResponse,
916
948
  type BroadcastUpdateResponse as BroadcastUpdateResponse,
917
949
  type BroadcastCancelResponse as BroadcastCancelResponse,
950
+ type BroadcastRescheduleResponse as BroadcastRescheduleResponse,
918
951
  type BroadcastSendResponse as BroadcastSendResponse,
919
952
  type BroadcastsCursor as BroadcastsCursor,
920
953
  type BroadcastCreateParams as BroadcastCreateParams,
921
954
  type BroadcastUpdateParams as BroadcastUpdateParams,
922
955
  type BroadcastListParams as BroadcastListParams,
956
+ type BroadcastRescheduleParams as BroadcastRescheduleParams,
923
957
  type BroadcastSendParams as BroadcastSendParams,
924
958
  };
925
959
 
@@ -939,14 +973,42 @@ export declare namespace Zavudev {
939
973
  type PhoneNumberPricing as PhoneNumberPricing,
940
974
  type PhoneNumberStatus as PhoneNumberStatus,
941
975
  type PhoneNumberType as PhoneNumberType,
976
+ type Requirement as Requirement,
977
+ type RequirementAcceptanceCriteria as RequirementAcceptanceCriteria,
978
+ type RequirementFieldType as RequirementFieldType,
979
+ type RequirementType as RequirementType,
942
980
  type PhoneNumberRetrieveResponse as PhoneNumberRetrieveResponse,
943
981
  type PhoneNumberUpdateResponse as PhoneNumberUpdateResponse,
944
982
  type PhoneNumberPurchaseResponse as PhoneNumberPurchaseResponse,
983
+ type PhoneNumberRequirementsResponse as PhoneNumberRequirementsResponse,
945
984
  type PhoneNumberSearchAvailableResponse as PhoneNumberSearchAvailableResponse,
946
985
  type OwnedPhoneNumbersCursor as OwnedPhoneNumbersCursor,
947
986
  type PhoneNumberUpdateParams as PhoneNumberUpdateParams,
948
987
  type PhoneNumberListParams as PhoneNumberListParams,
949
988
  type PhoneNumberPurchaseParams as PhoneNumberPurchaseParams,
989
+ type PhoneNumberRequirementsParams as PhoneNumberRequirementsParams,
950
990
  type PhoneNumberSearchAvailableParams as PhoneNumberSearchAvailableParams,
951
991
  };
992
+
993
+ export {
994
+ Addresses as Addresses,
995
+ type Address as Address,
996
+ type AddressStatus as AddressStatus,
997
+ type AddressCreateResponse as AddressCreateResponse,
998
+ type AddressRetrieveResponse as AddressRetrieveResponse,
999
+ type AddressesCursor as AddressesCursor,
1000
+ type AddressCreateParams as AddressCreateParams,
1001
+ type AddressListParams as AddressListParams,
1002
+ };
1003
+
1004
+ export {
1005
+ RegulatoryDocuments as RegulatoryDocuments,
1006
+ type RegulatoryDocument as RegulatoryDocument,
1007
+ type RegulatoryDocumentCreateResponse as RegulatoryDocumentCreateResponse,
1008
+ type RegulatoryDocumentRetrieveResponse as RegulatoryDocumentRetrieveResponse,
1009
+ type RegulatoryDocumentUploadURLResponse as RegulatoryDocumentUploadURLResponse,
1010
+ type RegulatoryDocumentsCursor as RegulatoryDocumentsCursor,
1011
+ type RegulatoryDocumentCreateParams as RegulatoryDocumentCreateParams,
1012
+ type RegulatoryDocumentListParams as RegulatoryDocumentListParams,
1013
+ };
952
1014
  }
@@ -0,0 +1,160 @@
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 Addresses extends APIResource {
11
+ /**
12
+ * Create a regulatory address for phone number purchases. Some countries require a
13
+ * verified address before phone numbers can be activated.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const address = await client.addresses.create({
18
+ * countryCode: 'DE',
19
+ * locality: 'Berlin',
20
+ * postalCode: '10115',
21
+ * streetAddress: '123 Main St',
22
+ * firstName: 'John',
23
+ * lastName: 'Doe',
24
+ * });
25
+ * ```
26
+ */
27
+ create(body: AddressCreateParams, options?: RequestOptions): APIPromise<AddressCreateResponse> {
28
+ return this._client.post('/v1/addresses', { body, ...options });
29
+ }
30
+
31
+ /**
32
+ * Get a specific regulatory address.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const address = await client.addresses.retrieve(
37
+ * 'addressId',
38
+ * );
39
+ * ```
40
+ */
41
+ retrieve(addressID: string, options?: RequestOptions): APIPromise<AddressRetrieveResponse> {
42
+ return this._client.get(path`/v1/addresses/${addressID}`, options);
43
+ }
44
+
45
+ /**
46
+ * List regulatory addresses for this project.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * // Automatically fetches more pages as needed.
51
+ * for await (const address of client.addresses.list()) {
52
+ * // ...
53
+ * }
54
+ * ```
55
+ */
56
+ list(
57
+ query: AddressListParams | null | undefined = {},
58
+ options?: RequestOptions,
59
+ ): PagePromise<AddressesCursor, Address> {
60
+ return this._client.getAPIList('/v1/addresses', Cursor<Address>, { query, ...options });
61
+ }
62
+
63
+ /**
64
+ * Delete a regulatory address. Cannot delete addresses that are in use.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * await client.addresses.delete('addressId');
69
+ * ```
70
+ */
71
+ delete(addressID: string, options?: RequestOptions): APIPromise<void> {
72
+ return this._client.delete(path`/v1/addresses/${addressID}`, {
73
+ ...options,
74
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
75
+ });
76
+ }
77
+ }
78
+
79
+ export type AddressesCursor = Cursor<Address>;
80
+
81
+ /**
82
+ * A regulatory address for phone number requirements.
83
+ */
84
+ export interface Address {
85
+ id: string;
86
+
87
+ countryCode: string;
88
+
89
+ createdAt: string;
90
+
91
+ locality: string;
92
+
93
+ postalCode: string;
94
+
95
+ status: AddressStatus;
96
+
97
+ streetAddress: string;
98
+
99
+ administrativeArea?: string | null;
100
+
101
+ businessName?: string | null;
102
+
103
+ extendedAddress?: string | null;
104
+
105
+ firstName?: string | null;
106
+
107
+ lastName?: string | null;
108
+
109
+ updatedAt?: string;
110
+ }
111
+
112
+ export type AddressStatus = 'pending' | 'verified' | 'rejected';
113
+
114
+ export interface AddressCreateResponse {
115
+ /**
116
+ * A regulatory address for phone number requirements.
117
+ */
118
+ address: Address;
119
+ }
120
+
121
+ export interface AddressRetrieveResponse {
122
+ /**
123
+ * A regulatory address for phone number requirements.
124
+ */
125
+ address: Address;
126
+ }
127
+
128
+ export interface AddressCreateParams {
129
+ countryCode: string;
130
+
131
+ locality: string;
132
+
133
+ postalCode: string;
134
+
135
+ streetAddress: string;
136
+
137
+ administrativeArea?: string;
138
+
139
+ businessName?: string;
140
+
141
+ extendedAddress?: string;
142
+
143
+ firstName?: string;
144
+
145
+ lastName?: string;
146
+ }
147
+
148
+ export interface AddressListParams extends CursorParams {}
149
+
150
+ export declare namespace Addresses {
151
+ export {
152
+ type Address as Address,
153
+ type AddressStatus as AddressStatus,
154
+ type AddressCreateResponse as AddressCreateResponse,
155
+ type AddressRetrieveResponse as AddressRetrieveResponse,
156
+ type AddressesCursor as AddressesCursor,
157
+ type AddressCreateParams as AddressCreateParams,
158
+ type AddressListParams as AddressListParams,
159
+ };
160
+ }
@@ -129,6 +129,26 @@ export class Broadcasts extends APIResource {
129
129
  return this._client.get(path`/v1/broadcasts/${broadcastID}/progress`, options);
130
130
  }
131
131
 
132
+ /**
133
+ * Update the scheduled time for a broadcast. The broadcast must be in scheduled
134
+ * status.
135
+ *
136
+ * @example
137
+ * ```ts
138
+ * const response = await client.broadcasts.reschedule(
139
+ * 'broadcastId',
140
+ * { scheduledAt: '2024-01-15T14:00:00Z' },
141
+ * );
142
+ * ```
143
+ */
144
+ reschedule(
145
+ broadcastID: string,
146
+ body: BroadcastRescheduleParams,
147
+ options?: RequestOptions,
148
+ ): APIPromise<BroadcastRescheduleResponse> {
149
+ return this._client.patch(path`/v1/broadcasts/${broadcastID}/schedule`, { body, ...options });
150
+ }
151
+
132
152
  /**
133
153
  * Start sending the broadcast immediately or schedule for later. Reserves the
134
154
  * estimated cost from your balance.
@@ -396,6 +416,10 @@ export interface BroadcastCancelResponse {
396
416
  broadcast: Broadcast;
397
417
  }
398
418
 
419
+ export interface BroadcastRescheduleResponse {
420
+ broadcast: Broadcast;
421
+ }
422
+
399
423
  export interface BroadcastSendResponse {
400
424
  broadcast: Broadcast;
401
425
  }
@@ -478,6 +502,13 @@ export interface BroadcastListParams extends CursorParams {
478
502
  status?: BroadcastStatus;
479
503
  }
480
504
 
505
+ export interface BroadcastRescheduleParams {
506
+ /**
507
+ * New scheduled time for the broadcast.
508
+ */
509
+ scheduledAt: string;
510
+ }
511
+
481
512
  export interface BroadcastSendParams {
482
513
  /**
483
514
  * Schedule for future delivery. Omit to send immediately.
@@ -501,11 +532,13 @@ export declare namespace Broadcasts {
501
532
  type BroadcastRetrieveResponse as BroadcastRetrieveResponse,
502
533
  type BroadcastUpdateResponse as BroadcastUpdateResponse,
503
534
  type BroadcastCancelResponse as BroadcastCancelResponse,
535
+ type BroadcastRescheduleResponse as BroadcastRescheduleResponse,
504
536
  type BroadcastSendResponse as BroadcastSendResponse,
505
537
  type BroadcastsCursor as BroadcastsCursor,
506
538
  type BroadcastCreateParams as BroadcastCreateParams,
507
539
  type BroadcastUpdateParams as BroadcastUpdateParams,
508
540
  type BroadcastListParams as BroadcastListParams,
541
+ type BroadcastRescheduleParams as BroadcastRescheduleParams,
509
542
  type BroadcastSendParams as BroadcastSendParams,
510
543
  };
511
544
 
@@ -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
  }