@sentdm/sentdm 0.26.0 → 0.27.2

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 (103) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/client.d.mts +12 -12
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +12 -12
  5. package/client.d.ts.map +1 -1
  6. package/client.js.map +1 -1
  7. package/client.mjs.map +1 -1
  8. package/package.json +1 -1
  9. package/resources/contacts.d.mts +48 -486
  10. package/resources/contacts.d.mts.map +1 -1
  11. package/resources/contacts.d.ts +48 -486
  12. package/resources/contacts.d.ts.map +1 -1
  13. package/resources/contacts.js +3 -3
  14. package/resources/contacts.js.map +1 -1
  15. package/resources/contacts.mjs +3 -3
  16. package/resources/contacts.mjs.map +1 -1
  17. package/resources/index.d.mts +6 -6
  18. package/resources/index.d.mts.map +1 -1
  19. package/resources/index.d.ts +6 -6
  20. package/resources/index.d.ts.map +1 -1
  21. package/resources/index.js.map +1 -1
  22. package/resources/index.mjs.map +1 -1
  23. package/resources/me.d.mts +40 -113
  24. package/resources/me.d.mts.map +1 -1
  25. package/resources/me.d.ts +40 -113
  26. package/resources/me.d.ts.map +1 -1
  27. package/resources/me.js.map +1 -1
  28. package/resources/me.mjs.map +1 -1
  29. package/resources/messages.d.mts +7 -126
  30. package/resources/messages.d.mts.map +1 -1
  31. package/resources/messages.d.ts +7 -126
  32. package/resources/messages.d.ts.map +1 -1
  33. package/resources/messages.js.map +1 -1
  34. package/resources/messages.mjs.map +1 -1
  35. package/resources/numbers.d.mts +3 -42
  36. package/resources/numbers.d.mts.map +1 -1
  37. package/resources/numbers.d.ts +3 -42
  38. package/resources/numbers.d.ts.map +1 -1
  39. package/resources/numbers.js.map +1 -1
  40. package/resources/numbers.mjs.map +1 -1
  41. package/resources/profiles/campaigns.d.mts +149 -480
  42. package/resources/profiles/campaigns.d.mts.map +1 -1
  43. package/resources/profiles/campaigns.d.ts +149 -480
  44. package/resources/profiles/campaigns.d.ts.map +1 -1
  45. package/resources/profiles/campaigns.js +41 -39
  46. package/resources/profiles/campaigns.js.map +1 -1
  47. package/resources/profiles/campaigns.mjs +41 -39
  48. package/resources/profiles/campaigns.mjs.map +1 -1
  49. package/resources/profiles/index.d.mts +2 -2
  50. package/resources/profiles/index.d.mts.map +1 -1
  51. package/resources/profiles/index.d.ts +2 -2
  52. package/resources/profiles/index.d.ts.map +1 -1
  53. package/resources/profiles/index.js.map +1 -1
  54. package/resources/profiles/index.mjs.map +1 -1
  55. package/resources/profiles/profiles.d.mts +391 -1699
  56. package/resources/profiles/profiles.d.mts.map +1 -1
  57. package/resources/profiles/profiles.d.ts +391 -1699
  58. package/resources/profiles/profiles.d.ts.map +1 -1
  59. package/resources/profiles/profiles.js +6 -3
  60. package/resources/profiles/profiles.js.map +1 -1
  61. package/resources/profiles/profiles.mjs +6 -3
  62. package/resources/profiles/profiles.mjs.map +1 -1
  63. package/resources/templates.d.mts +176 -993
  64. package/resources/templates.d.mts.map +1 -1
  65. package/resources/templates.d.ts +176 -993
  66. package/resources/templates.d.ts.map +1 -1
  67. package/resources/templates.js +3 -3
  68. package/resources/templates.js.map +1 -1
  69. package/resources/templates.mjs +3 -3
  70. package/resources/templates.mjs.map +1 -1
  71. package/resources/users.d.mts +46 -373
  72. package/resources/users.d.mts.map +1 -1
  73. package/resources/users.d.ts +46 -373
  74. package/resources/users.d.ts.map +1 -1
  75. package/resources/users.js +7 -3
  76. package/resources/users.js.map +1 -1
  77. package/resources/users.mjs +7 -3
  78. package/resources/users.mjs.map +1 -1
  79. package/resources/webhooks.d.mts +110 -624
  80. package/resources/webhooks.d.mts.map +1 -1
  81. package/resources/webhooks.d.ts +110 -624
  82. package/resources/webhooks.d.ts.map +1 -1
  83. package/resources/webhooks.js +7 -6
  84. package/resources/webhooks.js.map +1 -1
  85. package/resources/webhooks.mjs +7 -6
  86. package/resources/webhooks.mjs.map +1 -1
  87. package/src/client.ts +68 -33
  88. package/src/resources/contacts.ts +49 -566
  89. package/src/resources/index.ts +34 -17
  90. package/src/resources/me.ts +51 -132
  91. package/src/resources/messages.ts +7 -141
  92. package/src/resources/numbers.ts +3 -47
  93. package/src/resources/profiles/campaigns.ts +172 -667
  94. package/src/resources/profiles/index.ts +17 -5
  95. package/src/resources/profiles/profiles.ts +549 -2282
  96. package/src/resources/templates.ts +206 -1256
  97. package/src/resources/users.ts +47 -430
  98. package/src/resources/webhooks.ts +120 -742
  99. package/src/version.ts +1 -1
  100. package/version.d.mts +1 -1
  101. package/version.d.ts +1 -1
  102. package/version.js +1 -1
  103. package/version.mjs +1 -1
@@ -1,6 +1,8 @@
1
1
  import { APIResource } from "../../core/resource.js";
2
+ import * as ProfilesAPI from "./profiles.js";
3
+ import * as WebhooksAPI from "../webhooks.js";
2
4
  import * as CampaignsAPI from "./campaigns.js";
3
- import { CampaignCreateParams, CampaignCreateResponse, CampaignDeleteParams, CampaignListParams, CampaignListResponse, CampaignUpdateParams, CampaignUpdateResponse, Campaigns } from "./campaigns.js";
5
+ import { APIResponseOfTcrCampaignWithUseCases, BaseDto, CampaignCreateParams, CampaignData, CampaignDeleteParams, CampaignListParams, CampaignListResponse, CampaignUpdateParams, Campaigns, MessagingUseCaseUs, SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData, TcrCampaignWithUseCases } from "./campaigns.js";
4
6
  import { APIPromise } from "../../core/api-promise.js";
5
7
  import { RequestOptions } from "../../internal/request-options.js";
6
8
  /**
@@ -48,10 +50,11 @@ export declare class Profiles extends APIResource {
48
50
  *
49
51
  * @example
50
52
  * ```ts
51
- * const profile = await client.profiles.create();
53
+ * const apiResponseOfProfileDetail =
54
+ * await client.profiles.create();
52
55
  * ```
53
56
  */
54
- create(params: ProfileCreateParams, options?: RequestOptions): APIPromise<ProfileCreateResponse>;
57
+ create(params: ProfileCreateParams, options?: RequestOptions): APIPromise<APIResponseOfProfileDetail>;
55
58
  /**
56
59
  * Retrieves detailed information about a specific sender profile within an
57
60
  * organization, including brand and KYC information if a brand has been
@@ -59,10 +62,11 @@ export declare class Profiles extends APIResource {
59
62
  *
60
63
  * @example
61
64
  * ```ts
62
- * const profile = await client.profiles.retrieve('profileId');
65
+ * const apiResponseOfProfileDetail =
66
+ * await client.profiles.retrieve('profileId');
63
67
  * ```
64
68
  */
65
- retrieve(profileID: string, params?: ProfileRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<ProfileRetrieveResponse>;
69
+ retrieve(profileID: string, params?: ProfileRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<APIResponseOfProfileDetail>;
66
70
  /**
67
71
  * Updates a profile's configuration and settings. Requires admin role in the
68
72
  * organization. Only provided fields will be updated (partial update).
@@ -85,10 +89,11 @@ export declare class Profiles extends APIResource {
85
89
  *
86
90
  * @example
87
91
  * ```ts
88
- * const profile = await client.profiles.update('profileId');
92
+ * const apiResponseOfProfileDetail =
93
+ * await client.profiles.update('profileId');
89
94
  * ```
90
95
  */
91
- update(profileID: string, params: ProfileUpdateParams, options?: RequestOptions): APIPromise<ProfileUpdateResponse>;
96
+ update(profileID: string, params: ProfileUpdateParams, options?: RequestOptions): APIPromise<APIResponseOfProfileDetail>;
92
97
  /**
93
98
  * Retrieves all sender profiles within an organization, including brand
94
99
  * information for each profile. Profiles represent different brands, departments,
@@ -147,1068 +152,485 @@ export declare class Profiles extends APIResource {
147
152
  /**
148
153
  * Standard API response envelope for all v3 endpoints
149
154
  */
150
- export interface ProfileCreateResponse {
155
+ export interface APIResponseOfProfileDetail {
151
156
  /**
152
157
  * Detailed profile response for v3 API
153
158
  */
154
- data?: ProfileCreateResponse.Data | null;
159
+ data?: ProfileDetail | null;
155
160
  /**
156
161
  * Error information
157
162
  */
158
- error?: ProfileCreateResponse.Error | null;
163
+ error?: WebhooksAPI.ErrorDetail | null;
159
164
  /**
160
165
  * Request and response metadata
161
166
  */
162
- meta?: ProfileCreateResponse.Meta;
167
+ meta?: WebhooksAPI.APIMeta;
163
168
  /**
164
169
  * Indicates whether the request was successful
165
170
  */
166
171
  success?: boolean;
167
172
  }
168
- export declare namespace ProfileCreateResponse {
173
+ /**
174
+ * Billing contact information for a profile. Required when billing_model is
175
+ * "profile" or "profile_and_organization".
176
+ */
177
+ export interface BillingContactInfo {
169
178
  /**
170
- * Detailed profile response for v3 API
179
+ * Email address where invoices will be sent (required)
171
180
  */
172
- interface Data {
173
- /**
174
- * Profile unique identifier
175
- */
176
- id?: string;
177
- /**
178
- * Whether contacts are shared across profiles in the organization
179
- */
180
- allow_contact_sharing?: boolean;
181
- /**
182
- * Whether number changes are allowed during onboarding
183
- */
184
- allow_number_change_during_onboarding?: boolean | null;
185
- /**
186
- * Whether templates are shared across profiles in the organization
187
- */
188
- allow_template_sharing?: boolean;
189
- /**
190
- * Billing contact info returned in profile responses
191
- */
192
- billing_contact?: Data.BillingContact | null;
193
- /**
194
- * Billing model: profile, organization, or profile_and_organization
195
- */
196
- billing_model?: string;
197
- /**
198
- * Brand response with nested contact, business, and compliance sections — mirrors
199
- * the request structure.
200
- */
201
- brand?: Data.Brand | null;
202
- /**
203
- * When the profile was created
204
- */
205
- created_at?: string;
206
- /**
207
- * Profile description
208
- */
209
- description?: string | null;
210
- /**
211
- * Profile email (inherited from organization)
212
- */
213
- email?: string | null;
214
- /**
215
- * Profile icon URL
216
- */
217
- icon?: string | null;
218
- /**
219
- * Whether this profile inherits contacts from the organization
220
- */
221
- inherit_contacts?: boolean;
222
- /**
223
- * Whether this profile inherits TCR brand from the organization
224
- */
225
- inherit_tcr_brand?: boolean;
226
- /**
227
- * Whether this profile inherits TCR campaign from the organization
228
- */
229
- inherit_tcr_campaign?: boolean;
230
- /**
231
- * Whether this profile inherits templates from the organization
232
- */
233
- inherit_templates?: boolean;
234
- /**
235
- * Profile name
236
- */
237
- name?: string;
238
- /**
239
- * Parent organization ID
240
- */
241
- organization_id?: string | null;
242
- /**
243
- * Direct SMS phone number
244
- */
245
- sending_phone_number?: string | null;
246
- /**
247
- * Reference to another profile for SMS/Telnyx configuration
248
- */
249
- sending_phone_number_profile_id?: string | null;
250
- /**
251
- * Reference to another profile for WhatsApp configuration
252
- */
253
- sending_whatsapp_number_profile_id?: string | null;
254
- /**
255
- * Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
256
- * only, with at least one letter.
257
- */
258
- short_name?: string | null;
259
- /**
260
- * Profile setup status: incomplete, pending_review, approved, rejected
261
- */
262
- status?: string;
263
- /**
264
- * When the profile was last updated
265
- */
266
- updated_at?: string | null;
267
- /**
268
- * WhatsApp Business Account ID associated with this profile. Present whether the
269
- * WABA is inherited from the organization or configured directly.
270
- */
271
- waba_id?: string | null;
272
- /**
273
- * Direct WhatsApp phone number
274
- */
275
- whatsapp_phone_number?: string | null;
276
- }
277
- namespace Data {
278
- /**
279
- * Billing contact info returned in profile responses
280
- */
281
- interface BillingContact {
282
- address?: string | null;
283
- email?: string | null;
284
- name?: string | null;
285
- phone?: string | null;
286
- }
287
- /**
288
- * Brand response with nested contact, business, and compliance sections — mirrors
289
- * the request structure.
290
- */
291
- interface Brand {
292
- /**
293
- * Unique identifier for the brand
294
- */
295
- id?: string;
296
- /**
297
- * Business details and address information
298
- */
299
- business?: Brand.Business | null;
300
- /**
301
- * Compliance and TCR-related information
302
- */
303
- compliance?: Brand.Compliance | null;
304
- /**
305
- * Contact information for the brand
306
- */
307
- contact?: Brand.Contact | null;
308
- /**
309
- * When the brand was created
310
- */
311
- created_at?: string;
312
- /**
313
- * CSP (Campaign Service Provider) ID
314
- */
315
- csp_id?: string | null;
316
- identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
317
- /**
318
- * Whether this brand is inherited from the parent organization
319
- */
320
- is_inherited?: boolean;
321
- status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
322
- /**
323
- * When the brand was submitted to TCR
324
- */
325
- submitted_at?: string | null;
326
- /**
327
- * Whether this brand has been submitted to TCR
328
- */
329
- submitted_to_tcr?: boolean;
330
- /**
331
- * TCR brand ID (populated after TCR submission)
332
- */
333
- tcr_brand_id?: string | null;
334
- /**
335
- * Universal EIN from TCR
336
- */
337
- universal_ein?: string | null;
338
- /**
339
- * When the brand was last updated
340
- */
341
- updated_at?: string | null;
342
- }
343
- namespace Brand {
344
- /**
345
- * Business details and address information
346
- */
347
- interface Business {
348
- /**
349
- * City
350
- */
351
- city?: string | null;
352
- /**
353
- * Country code (e.g., US, CA)
354
- */
355
- country?: string | null;
356
- /**
357
- * Country where the business is registered
358
- */
359
- country_of_registration?: string | null;
360
- /**
361
- * Business entity type
362
- */
363
- entity_type?: string | null;
364
- /**
365
- * Legal business name
366
- */
367
- legal_name?: string | null;
368
- /**
369
- * Postal/ZIP code
370
- */
371
- postal_code?: string | null;
372
- /**
373
- * State/province code
374
- */
375
- state?: string | null;
376
- /**
377
- * Street address
378
- */
379
- street?: string | null;
380
- /**
381
- * Tax ID/EIN number
382
- */
383
- tax_id?: string | null;
384
- /**
385
- * Type of tax ID (e.g., us_ein, ca_bn)
386
- */
387
- tax_id_type?: string | null;
388
- /**
389
- * Business website URL
390
- */
391
- url?: string | null;
392
- }
393
- /**
394
- * Compliance and TCR-related information
395
- */
396
- interface Compliance {
397
- brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
398
- /**
399
- * List of destination countries for messaging
400
- */
401
- destination_countries?: Array<Compliance.DestinationCountry>;
402
- /**
403
- * Expected daily messaging volume
404
- */
405
- expected_messaging_volume?: string | null;
406
- /**
407
- * Whether this is a TCR (Campaign Registry) application
408
- */
409
- is_tcr_application?: boolean;
410
- /**
411
- * Additional notes about the business or use case
412
- */
413
- notes?: string | null;
414
- /**
415
- * Phone number prefix for messaging (e.g., "+1")
416
- */
417
- phone_number_prefix?: string | null;
418
- /**
419
- * Primary messaging use case description
420
- */
421
- primary_use_case?: string | null;
422
- vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
423
- }
424
- namespace Compliance {
425
- interface DestinationCountry {
426
- id?: string;
427
- isMain?: boolean;
428
- }
429
- }
430
- /**
431
- * Contact information for the brand
432
- */
433
- interface Contact {
434
- /**
435
- * Business/brand name
436
- */
437
- business_name?: string | null;
438
- /**
439
- * Contact email address
440
- */
441
- email?: string | null;
442
- /**
443
- * Primary contact name
444
- */
445
- name?: string;
446
- /**
447
- * Contact phone number in E.164 format
448
- */
449
- phone?: string | null;
450
- /**
451
- * Contact phone country code (e.g., "1" for US)
452
- */
453
- phone_country_code?: string | null;
454
- /**
455
- * Contact's role in the business
456
- */
457
- role?: string | null;
458
- }
459
- }
460
- }
181
+ email: string;
461
182
  /**
462
- * Error information
183
+ * Full name of the billing contact or company (required)
463
184
  */
464
- interface Error {
465
- /**
466
- * Machine-readable error code (e.g., "RESOURCE_001")
467
- */
468
- code?: string;
469
- /**
470
- * Additional validation error details (field-level errors)
471
- */
472
- details?: {
473
- [key: string]: Array<string>;
474
- } | null;
475
- /**
476
- * URL to documentation about this error
477
- */
478
- doc_url?: string | null;
479
- /**
480
- * Human-readable error message
481
- */
482
- message?: string;
483
- }
185
+ name: string;
484
186
  /**
485
- * Request and response metadata
187
+ * Billing address (optional). Free-form text including street, city, state, postal
188
+ * code, and country.
486
189
  */
487
- interface Meta {
488
- /**
489
- * Unique identifier for this request (for tracing and support)
490
- */
491
- request_id?: string;
492
- /**
493
- * Server timestamp when the response was generated
494
- */
495
- timestamp?: string;
496
- /**
497
- * API version used for this request
498
- */
499
- version?: string;
500
- }
190
+ address?: string | null;
191
+ /**
192
+ * Phone number for the billing contact (optional)
193
+ */
194
+ phone?: string | null;
501
195
  }
502
196
  /**
503
- * Standard API response envelope for all v3 endpoints
197
+ * Brand and KYC data grouped into contact, business, and compliance sections
504
198
  */
505
- export interface ProfileRetrieveResponse {
199
+ export interface BrandsBrandData {
506
200
  /**
507
- * Detailed profile response for v3 API
201
+ * Compliance and TCR information for brand registration
508
202
  */
509
- data?: ProfileRetrieveResponse.Data | null;
203
+ compliance: SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo;
510
204
  /**
511
- * Error information
205
+ * Contact information for brand KYC
512
206
  */
513
- error?: ProfileRetrieveResponse.Error | null;
207
+ contact: SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo;
514
208
  /**
515
- * Request and response metadata
209
+ * Business details and address for brand KYC
516
210
  */
517
- meta?: ProfileRetrieveResponse.Meta;
211
+ business?: SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo | null;
212
+ }
213
+ export interface DestinationCountry {
214
+ id?: string;
215
+ isMain?: boolean;
216
+ }
217
+ /**
218
+ * Payment card details for a profile. Accepted when billing_model is "profile" or
219
+ * "profile_and_organization". These details are not stored on our servers and will
220
+ * be forwarded to the payment processor.
221
+ */
222
+ export interface PaymentDetails {
518
223
  /**
519
- * Indicates whether the request was successful
224
+ * Card number (digits only, 13–19 characters)
520
225
  */
521
- success?: boolean;
522
- }
523
- export declare namespace ProfileRetrieveResponse {
226
+ card_number: string;
524
227
  /**
525
- * Detailed profile response for v3 API
228
+ * Card security code (3–4 digits)
526
229
  */
527
- interface Data {
528
- /**
529
- * Profile unique identifier
530
- */
531
- id?: string;
532
- /**
533
- * Whether contacts are shared across profiles in the organization
534
- */
535
- allow_contact_sharing?: boolean;
536
- /**
537
- * Whether number changes are allowed during onboarding
538
- */
539
- allow_number_change_during_onboarding?: boolean | null;
540
- /**
541
- * Whether templates are shared across profiles in the organization
542
- */
543
- allow_template_sharing?: boolean;
544
- /**
545
- * Billing contact info returned in profile responses
546
- */
547
- billing_contact?: Data.BillingContact | null;
548
- /**
549
- * Billing model: profile, organization, or profile_and_organization
550
- */
551
- billing_model?: string;
552
- /**
553
- * Brand response with nested contact, business, and compliance sections — mirrors
554
- * the request structure.
555
- */
556
- brand?: Data.Brand | null;
557
- /**
558
- * When the profile was created
559
- */
560
- created_at?: string;
561
- /**
562
- * Profile description
563
- */
564
- description?: string | null;
565
- /**
566
- * Profile email (inherited from organization)
567
- */
568
- email?: string | null;
569
- /**
570
- * Profile icon URL
571
- */
572
- icon?: string | null;
573
- /**
574
- * Whether this profile inherits contacts from the organization
575
- */
576
- inherit_contacts?: boolean;
577
- /**
578
- * Whether this profile inherits TCR brand from the organization
579
- */
580
- inherit_tcr_brand?: boolean;
581
- /**
582
- * Whether this profile inherits TCR campaign from the organization
583
- */
584
- inherit_tcr_campaign?: boolean;
585
- /**
586
- * Whether this profile inherits templates from the organization
587
- */
588
- inherit_templates?: boolean;
589
- /**
590
- * Profile name
591
- */
592
- name?: string;
593
- /**
594
- * Parent organization ID
595
- */
596
- organization_id?: string | null;
597
- /**
598
- * Direct SMS phone number
599
- */
600
- sending_phone_number?: string | null;
601
- /**
602
- * Reference to another profile for SMS/Telnyx configuration
603
- */
604
- sending_phone_number_profile_id?: string | null;
605
- /**
606
- * Reference to another profile for WhatsApp configuration
607
- */
608
- sending_whatsapp_number_profile_id?: string | null;
609
- /**
610
- * Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
611
- * only, with at least one letter.
612
- */
613
- short_name?: string | null;
614
- /**
615
- * Profile setup status: incomplete, pending_review, approved, rejected
616
- */
617
- status?: string;
618
- /**
619
- * When the profile was last updated
620
- */
621
- updated_at?: string | null;
622
- /**
623
- * WhatsApp Business Account ID associated with this profile. Present whether the
624
- * WABA is inherited from the organization or configured directly.
625
- */
626
- waba_id?: string | null;
627
- /**
628
- * Direct WhatsApp phone number
629
- */
630
- whatsapp_phone_number?: string | null;
631
- }
632
- namespace Data {
633
- /**
634
- * Billing contact info returned in profile responses
635
- */
636
- interface BillingContact {
637
- address?: string | null;
638
- email?: string | null;
639
- name?: string | null;
640
- phone?: string | null;
641
- }
642
- /**
643
- * Brand response with nested contact, business, and compliance sections — mirrors
644
- * the request structure.
645
- */
646
- interface Brand {
647
- /**
648
- * Unique identifier for the brand
649
- */
650
- id?: string;
651
- /**
652
- * Business details and address information
653
- */
654
- business?: Brand.Business | null;
655
- /**
656
- * Compliance and TCR-related information
657
- */
658
- compliance?: Brand.Compliance | null;
659
- /**
660
- * Contact information for the brand
661
- */
662
- contact?: Brand.Contact | null;
663
- /**
664
- * When the brand was created
665
- */
666
- created_at?: string;
667
- /**
668
- * CSP (Campaign Service Provider) ID
669
- */
670
- csp_id?: string | null;
671
- identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
672
- /**
673
- * Whether this brand is inherited from the parent organization
674
- */
675
- is_inherited?: boolean;
676
- status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
677
- /**
678
- * When the brand was submitted to TCR
679
- */
680
- submitted_at?: string | null;
681
- /**
682
- * Whether this brand has been submitted to TCR
683
- */
684
- submitted_to_tcr?: boolean;
685
- /**
686
- * TCR brand ID (populated after TCR submission)
687
- */
688
- tcr_brand_id?: string | null;
689
- /**
690
- * Universal EIN from TCR
691
- */
692
- universal_ein?: string | null;
693
- /**
694
- * When the brand was last updated
695
- */
696
- updated_at?: string | null;
697
- }
698
- namespace Brand {
699
- /**
700
- * Business details and address information
701
- */
702
- interface Business {
703
- /**
704
- * City
705
- */
706
- city?: string | null;
707
- /**
708
- * Country code (e.g., US, CA)
709
- */
710
- country?: string | null;
711
- /**
712
- * Country where the business is registered
713
- */
714
- country_of_registration?: string | null;
715
- /**
716
- * Business entity type
717
- */
718
- entity_type?: string | null;
719
- /**
720
- * Legal business name
721
- */
722
- legal_name?: string | null;
723
- /**
724
- * Postal/ZIP code
725
- */
726
- postal_code?: string | null;
727
- /**
728
- * State/province code
729
- */
730
- state?: string | null;
731
- /**
732
- * Street address
733
- */
734
- street?: string | null;
735
- /**
736
- * Tax ID/EIN number
737
- */
738
- tax_id?: string | null;
739
- /**
740
- * Type of tax ID (e.g., us_ein, ca_bn)
741
- */
742
- tax_id_type?: string | null;
743
- /**
744
- * Business website URL
745
- */
746
- url?: string | null;
747
- }
748
- /**
749
- * Compliance and TCR-related information
750
- */
751
- interface Compliance {
752
- brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
753
- /**
754
- * List of destination countries for messaging
755
- */
756
- destination_countries?: Array<Compliance.DestinationCountry>;
757
- /**
758
- * Expected daily messaging volume
759
- */
760
- expected_messaging_volume?: string | null;
761
- /**
762
- * Whether this is a TCR (Campaign Registry) application
763
- */
764
- is_tcr_application?: boolean;
765
- /**
766
- * Additional notes about the business or use case
767
- */
768
- notes?: string | null;
769
- /**
770
- * Phone number prefix for messaging (e.g., "+1")
771
- */
772
- phone_number_prefix?: string | null;
773
- /**
774
- * Primary messaging use case description
775
- */
776
- primary_use_case?: string | null;
777
- vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
778
- }
779
- namespace Compliance {
780
- interface DestinationCountry {
781
- id?: string;
782
- isMain?: boolean;
783
- }
784
- }
785
- /**
786
- * Contact information for the brand
787
- */
788
- interface Contact {
789
- /**
790
- * Business/brand name
791
- */
792
- business_name?: string | null;
793
- /**
794
- * Contact email address
795
- */
796
- email?: string | null;
797
- /**
798
- * Primary contact name
799
- */
800
- name?: string;
801
- /**
802
- * Contact phone number in E.164 format
803
- */
804
- phone?: string | null;
805
- /**
806
- * Contact phone country code (e.g., "1" for US)
807
- */
808
- phone_country_code?: string | null;
809
- /**
810
- * Contact's role in the business
811
- */
812
- role?: string | null;
813
- }
814
- }
815
- }
230
+ cvc: string;
816
231
  /**
817
- * Error information
232
+ * Card expiry date in MM/YY format (e.g. "09/27")
818
233
  */
819
- interface Error {
820
- /**
821
- * Machine-readable error code (e.g., "RESOURCE_001")
822
- */
823
- code?: string;
824
- /**
825
- * Additional validation error details (field-level errors)
826
- */
827
- details?: {
828
- [key: string]: Array<string>;
829
- } | null;
830
- /**
831
- * URL to documentation about this error
832
- */
833
- doc_url?: string | null;
834
- /**
835
- * Human-readable error message
836
- */
837
- message?: string;
838
- }
234
+ expiry: string;
839
235
  /**
840
- * Request and response metadata
236
+ * Billing ZIP / postal code associated with the card
841
237
  */
842
- interface Meta {
843
- /**
844
- * Unique identifier for this request (for tracing and support)
845
- */
846
- request_id?: string;
847
- /**
848
- * Server timestamp when the response was generated
849
- */
850
- timestamp?: string;
851
- /**
852
- * API version used for this request
853
- */
854
- version?: string;
855
- }
238
+ zip_code: string;
856
239
  }
857
240
  /**
858
- * Standard API response envelope for all v3 endpoints
241
+ * Detailed profile response for v3 API
859
242
  */
860
- export interface ProfileUpdateResponse {
243
+ export interface ProfileDetail {
861
244
  /**
862
- * Detailed profile response for v3 API
245
+ * Profile unique identifier
863
246
  */
864
- data?: ProfileUpdateResponse.Data | null;
247
+ id?: string;
865
248
  /**
866
- * Error information
249
+ * Whether contacts are shared across profiles in the organization
867
250
  */
868
- error?: ProfileUpdateResponse.Error | null;
251
+ allow_contact_sharing?: boolean;
869
252
  /**
870
- * Request and response metadata
253
+ * Whether number changes are allowed during onboarding
871
254
  */
872
- meta?: ProfileUpdateResponse.Meta;
255
+ allow_number_change_during_onboarding?: boolean | null;
873
256
  /**
874
- * Indicates whether the request was successful
257
+ * Whether templates are shared across profiles in the organization
875
258
  */
876
- success?: boolean;
259
+ allow_template_sharing?: boolean;
260
+ /**
261
+ * Billing contact info returned in profile responses
262
+ */
263
+ billing_contact?: ProfileDetail.BillingContact | null;
264
+ /**
265
+ * Billing model: profile, organization, or profile_and_organization
266
+ */
267
+ billing_model?: string;
268
+ /**
269
+ * Brand response with nested contact, business, and compliance sections — mirrors
270
+ * the request structure.
271
+ */
272
+ brand?: ProfileDetail.Brand | null;
273
+ /**
274
+ * When the profile was created
275
+ */
276
+ created_at?: string;
277
+ /**
278
+ * Profile description
279
+ */
280
+ description?: string | null;
281
+ /**
282
+ * Profile email (inherited from organization)
283
+ */
284
+ email?: string | null;
285
+ /**
286
+ * Profile icon URL
287
+ */
288
+ icon?: string | null;
289
+ /**
290
+ * Whether this profile inherits contacts from the organization
291
+ */
292
+ inherit_contacts?: boolean;
293
+ /**
294
+ * Whether this profile inherits TCR brand from the organization
295
+ */
296
+ inherit_tcr_brand?: boolean;
297
+ /**
298
+ * Whether this profile inherits TCR campaign from the organization
299
+ */
300
+ inherit_tcr_campaign?: boolean;
301
+ /**
302
+ * Whether this profile inherits templates from the organization
303
+ */
304
+ inherit_templates?: boolean;
305
+ /**
306
+ * Profile name
307
+ */
308
+ name?: string;
309
+ /**
310
+ * Parent organization ID
311
+ */
312
+ organization_id?: string | null;
313
+ /**
314
+ * Direct SMS phone number
315
+ */
316
+ sending_phone_number?: string | null;
317
+ /**
318
+ * Reference to another profile for SMS/Telnyx configuration
319
+ */
320
+ sending_phone_number_profile_id?: string | null;
321
+ /**
322
+ * Reference to another profile for WhatsApp configuration
323
+ */
324
+ sending_whatsapp_number_profile_id?: string | null;
325
+ /**
326
+ * Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
327
+ * only, with at least one letter.
328
+ */
329
+ short_name?: string | null;
330
+ /**
331
+ * Profile setup status: incomplete, pending_review, approved, rejected
332
+ */
333
+ status?: string;
334
+ /**
335
+ * When the profile was last updated
336
+ */
337
+ updated_at?: string | null;
338
+ /**
339
+ * WhatsApp Business Account ID associated with this profile. Present whether the
340
+ * WABA is inherited from the organization or configured directly.
341
+ */
342
+ waba_id?: string | null;
343
+ /**
344
+ * Direct WhatsApp phone number
345
+ */
346
+ whatsapp_phone_number?: string | null;
877
347
  }
878
- export declare namespace ProfileUpdateResponse {
348
+ export declare namespace ProfileDetail {
879
349
  /**
880
- * Detailed profile response for v3 API
350
+ * Billing contact info returned in profile responses
881
351
  */
882
- interface Data {
883
- /**
884
- * Profile unique identifier
885
- */
886
- id?: string;
887
- /**
888
- * Whether contacts are shared across profiles in the organization
889
- */
890
- allow_contact_sharing?: boolean;
891
- /**
892
- * Whether number changes are allowed during onboarding
893
- */
894
- allow_number_change_during_onboarding?: boolean | null;
895
- /**
896
- * Whether templates are shared across profiles in the organization
897
- */
898
- allow_template_sharing?: boolean;
899
- /**
900
- * Billing contact info returned in profile responses
901
- */
902
- billing_contact?: Data.BillingContact | null;
903
- /**
904
- * Billing model: profile, organization, or profile_and_organization
905
- */
906
- billing_model?: string;
907
- /**
908
- * Brand response with nested contact, business, and compliance sections — mirrors
909
- * the request structure.
910
- */
911
- brand?: Data.Brand | null;
912
- /**
913
- * When the profile was created
914
- */
915
- created_at?: string;
916
- /**
917
- * Profile description
918
- */
919
- description?: string | null;
920
- /**
921
- * Profile email (inherited from organization)
922
- */
352
+ interface BillingContact {
353
+ address?: string | null;
923
354
  email?: string | null;
355
+ name?: string | null;
356
+ phone?: string | null;
357
+ }
358
+ /**
359
+ * Brand response with nested contact, business, and compliance sections — mirrors
360
+ * the request structure.
361
+ */
362
+ interface Brand {
924
363
  /**
925
- * Profile icon URL
926
- */
927
- icon?: string | null;
928
- /**
929
- * Whether this profile inherits contacts from the organization
364
+ * Unique identifier for the brand
930
365
  */
931
- inherit_contacts?: boolean;
366
+ id?: string;
932
367
  /**
933
- * Whether this profile inherits TCR brand from the organization
368
+ * Business details and address information
934
369
  */
935
- inherit_tcr_brand?: boolean;
370
+ business?: Brand.Business | null;
936
371
  /**
937
- * Whether this profile inherits TCR campaign from the organization
372
+ * Compliance and TCR-related information
938
373
  */
939
- inherit_tcr_campaign?: boolean;
374
+ compliance?: Brand.Compliance | null;
940
375
  /**
941
- * Whether this profile inherits templates from the organization
376
+ * Contact information for the brand
942
377
  */
943
- inherit_templates?: boolean;
378
+ contact?: Brand.Contact | null;
944
379
  /**
945
- * Profile name
380
+ * When the brand was created
946
381
  */
947
- name?: string;
382
+ created_at?: string;
948
383
  /**
949
- * Parent organization ID
384
+ * CSP (Campaign Service Provider) ID
950
385
  */
951
- organization_id?: string | null;
386
+ csp_id?: string | null;
387
+ identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
952
388
  /**
953
- * Direct SMS phone number
389
+ * Whether this brand is inherited from the parent organization
954
390
  */
955
- sending_phone_number?: string | null;
391
+ is_inherited?: boolean;
392
+ status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
956
393
  /**
957
- * Reference to another profile for SMS/Telnyx configuration
394
+ * When the brand was submitted to TCR
958
395
  */
959
- sending_phone_number_profile_id?: string | null;
396
+ submitted_at?: string | null;
960
397
  /**
961
- * Reference to another profile for WhatsApp configuration
398
+ * Whether this brand has been submitted to TCR
962
399
  */
963
- sending_whatsapp_number_profile_id?: string | null;
400
+ submitted_to_tcr?: boolean;
964
401
  /**
965
- * Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
966
- * only, with at least one letter.
402
+ * TCR brand ID (populated after TCR submission)
967
403
  */
968
- short_name?: string | null;
404
+ tcr_brand_id?: string | null;
969
405
  /**
970
- * Profile setup status: incomplete, pending_review, approved, rejected
406
+ * Universal EIN from TCR
971
407
  */
972
- status?: string;
408
+ universal_ein?: string | null;
973
409
  /**
974
- * When the profile was last updated
410
+ * When the brand was last updated
975
411
  */
976
412
  updated_at?: string | null;
977
- /**
978
- * WhatsApp Business Account ID associated with this profile. Present whether the
979
- * WABA is inherited from the organization or configured directly.
980
- */
981
- waba_id?: string | null;
982
- /**
983
- * Direct WhatsApp phone number
984
- */
985
- whatsapp_phone_number?: string | null;
986
413
  }
987
- namespace Data {
988
- /**
989
- * Billing contact info returned in profile responses
990
- */
991
- interface BillingContact {
992
- address?: string | null;
993
- email?: string | null;
994
- name?: string | null;
995
- phone?: string | null;
996
- }
414
+ namespace Brand {
997
415
  /**
998
- * Brand response with nested contact, business, and compliance sections — mirrors
999
- * the request structure.
416
+ * Business details and address information
1000
417
  */
1001
- interface Brand {
418
+ interface Business {
419
+ /**
420
+ * City
421
+ */
422
+ city?: string | null;
423
+ /**
424
+ * Country code (e.g., US, CA)
425
+ */
426
+ country?: string | null;
427
+ /**
428
+ * Country where the business is registered
429
+ */
430
+ country_of_registration?: string | null;
431
+ /**
432
+ * Business entity type
433
+ */
434
+ entity_type?: string | null;
435
+ /**
436
+ * Legal business name
437
+ */
438
+ legal_name?: string | null;
1002
439
  /**
1003
- * Unique identifier for the brand
440
+ * Postal/ZIP code
1004
441
  */
1005
- id?: string;
442
+ postal_code?: string | null;
1006
443
  /**
1007
- * Business details and address information
444
+ * State/province code
1008
445
  */
1009
- business?: Brand.Business | null;
446
+ state?: string | null;
1010
447
  /**
1011
- * Compliance and TCR-related information
448
+ * Street address
1012
449
  */
1013
- compliance?: Brand.Compliance | null;
450
+ street?: string | null;
1014
451
  /**
1015
- * Contact information for the brand
452
+ * Tax ID/EIN number
1016
453
  */
1017
- contact?: Brand.Contact | null;
454
+ tax_id?: string | null;
1018
455
  /**
1019
- * When the brand was created
456
+ * Type of tax ID (e.g., us_ein, ca_bn)
1020
457
  */
1021
- created_at?: string;
458
+ tax_id_type?: string | null;
1022
459
  /**
1023
- * CSP (Campaign Service Provider) ID
460
+ * Business website URL
1024
461
  */
1025
- csp_id?: string | null;
1026
- identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
462
+ url?: string | null;
463
+ }
464
+ /**
465
+ * Compliance and TCR-related information
466
+ */
467
+ interface Compliance {
468
+ brand_relationship?: ProfilesAPI.TcrBrandRelationship | null;
1027
469
  /**
1028
- * Whether this brand is inherited from the parent organization
470
+ * List of destination countries for messaging
1029
471
  */
1030
- is_inherited?: boolean;
1031
- status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
472
+ destination_countries?: Array<ProfilesAPI.DestinationCountry>;
1032
473
  /**
1033
- * When the brand was submitted to TCR
474
+ * Expected daily messaging volume
1034
475
  */
1035
- submitted_at?: string | null;
476
+ expected_messaging_volume?: string | null;
1036
477
  /**
1037
- * Whether this brand has been submitted to TCR
478
+ * Whether this is a TCR (Campaign Registry) application
1038
479
  */
1039
- submitted_to_tcr?: boolean;
480
+ is_tcr_application?: boolean;
1040
481
  /**
1041
- * TCR brand ID (populated after TCR submission)
482
+ * Additional notes about the business or use case
1042
483
  */
1043
- tcr_brand_id?: string | null;
484
+ notes?: string | null;
1044
485
  /**
1045
- * Universal EIN from TCR
486
+ * Phone number prefix for messaging (e.g., "+1")
1046
487
  */
1047
- universal_ein?: string | null;
488
+ phone_number_prefix?: string | null;
1048
489
  /**
1049
- * When the brand was last updated
490
+ * Primary messaging use case description
1050
491
  */
1051
- updated_at?: string | null;
492
+ primary_use_case?: string | null;
493
+ vertical?: ProfilesAPI.TcrVertical | null;
1052
494
  }
1053
- namespace Brand {
495
+ /**
496
+ * Contact information for the brand
497
+ */
498
+ interface Contact {
499
+ /**
500
+ * Business/brand name
501
+ */
502
+ business_name?: string | null;
1054
503
  /**
1055
- * Business details and address information
504
+ * Contact email address
505
+ */
506
+ email?: string | null;
507
+ /**
508
+ * Primary contact name
509
+ */
510
+ name?: string;
511
+ /**
512
+ * Contact phone number in E.164 format
1056
513
  */
1057
- interface Business {
1058
- /**
1059
- * City
1060
- */
1061
- city?: string | null;
1062
- /**
1063
- * Country code (e.g., US, CA)
1064
- */
1065
- country?: string | null;
1066
- /**
1067
- * Country where the business is registered
1068
- */
1069
- country_of_registration?: string | null;
1070
- /**
1071
- * Business entity type
1072
- */
1073
- entity_type?: string | null;
1074
- /**
1075
- * Legal business name
1076
- */
1077
- legal_name?: string | null;
1078
- /**
1079
- * Postal/ZIP code
1080
- */
1081
- postal_code?: string | null;
1082
- /**
1083
- * State/province code
1084
- */
1085
- state?: string | null;
1086
- /**
1087
- * Street address
1088
- */
1089
- street?: string | null;
1090
- /**
1091
- * Tax ID/EIN number
1092
- */
1093
- tax_id?: string | null;
1094
- /**
1095
- * Type of tax ID (e.g., us_ein, ca_bn)
1096
- */
1097
- tax_id_type?: string | null;
1098
- /**
1099
- * Business website URL
1100
- */
1101
- url?: string | null;
1102
- }
514
+ phone?: string | null;
1103
515
  /**
1104
- * Compliance and TCR-related information
516
+ * Contact phone country code (e.g., "1" for US)
1105
517
  */
1106
- interface Compliance {
1107
- brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
1108
- /**
1109
- * List of destination countries for messaging
1110
- */
1111
- destination_countries?: Array<Compliance.DestinationCountry>;
1112
- /**
1113
- * Expected daily messaging volume
1114
- */
1115
- expected_messaging_volume?: string | null;
1116
- /**
1117
- * Whether this is a TCR (Campaign Registry) application
1118
- */
1119
- is_tcr_application?: boolean;
1120
- /**
1121
- * Additional notes about the business or use case
1122
- */
1123
- notes?: string | null;
1124
- /**
1125
- * Phone number prefix for messaging (e.g., "+1")
1126
- */
1127
- phone_number_prefix?: string | null;
1128
- /**
1129
- * Primary messaging use case description
1130
- */
1131
- primary_use_case?: string | null;
1132
- vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
1133
- }
1134
- namespace Compliance {
1135
- interface DestinationCountry {
1136
- id?: string;
1137
- isMain?: boolean;
1138
- }
1139
- }
518
+ phone_country_code?: string | null;
1140
519
  /**
1141
- * Contact information for the brand
520
+ * Contact's role in the business
1142
521
  */
1143
- interface Contact {
1144
- /**
1145
- * Business/brand name
1146
- */
1147
- business_name?: string | null;
1148
- /**
1149
- * Contact email address
1150
- */
1151
- email?: string | null;
1152
- /**
1153
- * Primary contact name
1154
- */
1155
- name?: string;
1156
- /**
1157
- * Contact phone number in E.164 format
1158
- */
1159
- phone?: string | null;
1160
- /**
1161
- * Contact phone country code (e.g., "1" for US)
1162
- */
1163
- phone_country_code?: string | null;
1164
- /**
1165
- * Contact's role in the business
1166
- */
1167
- role?: string | null;
1168
- }
522
+ role?: string | null;
1169
523
  }
1170
524
  }
525
+ }
526
+ /**
527
+ * Business details and address for brand KYC
528
+ */
529
+ export interface SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo {
1171
530
  /**
1172
- * Error information
531
+ * City
1173
532
  */
1174
- interface Error {
1175
- /**
1176
- * Machine-readable error code (e.g., "RESOURCE_001")
1177
- */
1178
- code?: string;
1179
- /**
1180
- * Additional validation error details (field-level errors)
1181
- */
1182
- details?: {
1183
- [key: string]: Array<string>;
1184
- } | null;
1185
- /**
1186
- * URL to documentation about this error
1187
- */
1188
- doc_url?: string | null;
1189
- /**
1190
- * Human-readable error message
1191
- */
1192
- message?: string;
1193
- }
533
+ city?: string | null;
1194
534
  /**
1195
- * Request and response metadata
535
+ * Country code (e.g., US, CA)
1196
536
  */
1197
- interface Meta {
1198
- /**
1199
- * Unique identifier for this request (for tracing and support)
1200
- */
1201
- request_id?: string;
1202
- /**
1203
- * Server timestamp when the response was generated
1204
- */
1205
- timestamp?: string;
1206
- /**
1207
- * API version used for this request
1208
- */
1209
- version?: string;
1210
- }
537
+ country?: string | null;
538
+ /**
539
+ * Country where the business is registered
540
+ */
541
+ countryOfRegistration?: string | null;
542
+ entityType?: 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'SOLE_PROPRIETOR' | 'GOVERNMENT' | null;
543
+ /**
544
+ * Legal business name
545
+ */
546
+ legalName?: string | null;
547
+ /**
548
+ * Postal/ZIP code
549
+ */
550
+ postalCode?: string | null;
551
+ /**
552
+ * State/province code
553
+ */
554
+ state?: string | null;
555
+ /**
556
+ * Street address
557
+ */
558
+ street?: string | null;
559
+ /**
560
+ * Tax ID/EIN number
561
+ */
562
+ taxId?: string | null;
563
+ /**
564
+ * Type of tax ID (e.g., us_ein, ca_bn)
565
+ */
566
+ taxIdType?: string | null;
567
+ /**
568
+ * Business website URL
569
+ */
570
+ url?: string | null;
571
+ }
572
+ /**
573
+ * Compliance and TCR information for brand registration
574
+ */
575
+ export interface SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo {
576
+ brandRelationship: TcrBrandRelationship;
577
+ vertical: TcrVertical;
578
+ /**
579
+ * List of destination countries for messaging
580
+ */
581
+ destinationCountries?: Array<DestinationCountry> | null;
582
+ /**
583
+ * Expected daily messaging volume
584
+ */
585
+ expectedMessagingVolume?: string | null;
586
+ /**
587
+ * Whether this is a TCR (Campaign Registry) application
588
+ */
589
+ isTcrApplication?: boolean | null;
590
+ /**
591
+ * Additional notes about the business or use case
592
+ */
593
+ notes?: string | null;
594
+ /**
595
+ * Phone number prefix for messaging (e.g., "+1")
596
+ */
597
+ phoneNumberPrefix?: string | null;
598
+ /**
599
+ * Primary messaging use case description
600
+ */
601
+ primaryUseCase?: string | null;
602
+ }
603
+ /**
604
+ * Contact information for brand KYC
605
+ */
606
+ export interface SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo {
607
+ /**
608
+ * Primary contact name (required)
609
+ */
610
+ name: string;
611
+ /**
612
+ * Business/brand name
613
+ */
614
+ businessName?: string | null;
615
+ /**
616
+ * Contact email address
617
+ */
618
+ email?: string | null;
619
+ /**
620
+ * Contact phone number in E.164 format
621
+ */
622
+ phone?: string | null;
623
+ /**
624
+ * Contact phone country code (e.g., "1" for US)
625
+ */
626
+ phoneCountryCode?: string | null;
627
+ /**
628
+ * Contact's role in the business
629
+ */
630
+ role?: string | null;
1211
631
  }
632
+ export type TcrBrandRelationship = 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT';
633
+ export type TcrVertical = 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION';
1212
634
  /**
1213
635
  * Standard API response envelope for all v3 endpoints
1214
636
  */
@@ -1220,11 +642,11 @@ export interface ProfileListResponse {
1220
642
  /**
1221
643
  * Error information
1222
644
  */
1223
- error?: ProfileListResponse.Error | null;
645
+ error?: WebhooksAPI.ErrorDetail | null;
1224
646
  /**
1225
647
  * Request and response metadata
1226
648
  */
1227
- meta?: ProfileListResponse.Meta;
649
+ meta?: WebhooksAPI.APIMeta;
1228
650
  /**
1229
651
  * Indicates whether the request was successful
1230
652
  */
@@ -1238,341 +660,7 @@ export declare namespace ProfileListResponse {
1238
660
  /**
1239
661
  * List of profiles in the organization
1240
662
  */
1241
- profiles?: Array<Data.Profile>;
1242
- }
1243
- namespace Data {
1244
- /**
1245
- * Detailed profile response for v3 API
1246
- */
1247
- interface Profile {
1248
- /**
1249
- * Profile unique identifier
1250
- */
1251
- id?: string;
1252
- /**
1253
- * Whether contacts are shared across profiles in the organization
1254
- */
1255
- allow_contact_sharing?: boolean;
1256
- /**
1257
- * Whether number changes are allowed during onboarding
1258
- */
1259
- allow_number_change_during_onboarding?: boolean | null;
1260
- /**
1261
- * Whether templates are shared across profiles in the organization
1262
- */
1263
- allow_template_sharing?: boolean;
1264
- /**
1265
- * Billing contact info returned in profile responses
1266
- */
1267
- billing_contact?: Profile.BillingContact | null;
1268
- /**
1269
- * Billing model: profile, organization, or profile_and_organization
1270
- */
1271
- billing_model?: string;
1272
- /**
1273
- * Brand response with nested contact, business, and compliance sections — mirrors
1274
- * the request structure.
1275
- */
1276
- brand?: Profile.Brand | null;
1277
- /**
1278
- * When the profile was created
1279
- */
1280
- created_at?: string;
1281
- /**
1282
- * Profile description
1283
- */
1284
- description?: string | null;
1285
- /**
1286
- * Profile email (inherited from organization)
1287
- */
1288
- email?: string | null;
1289
- /**
1290
- * Profile icon URL
1291
- */
1292
- icon?: string | null;
1293
- /**
1294
- * Whether this profile inherits contacts from the organization
1295
- */
1296
- inherit_contacts?: boolean;
1297
- /**
1298
- * Whether this profile inherits TCR brand from the organization
1299
- */
1300
- inherit_tcr_brand?: boolean;
1301
- /**
1302
- * Whether this profile inherits TCR campaign from the organization
1303
- */
1304
- inherit_tcr_campaign?: boolean;
1305
- /**
1306
- * Whether this profile inherits templates from the organization
1307
- */
1308
- inherit_templates?: boolean;
1309
- /**
1310
- * Profile name
1311
- */
1312
- name?: string;
1313
- /**
1314
- * Parent organization ID
1315
- */
1316
- organization_id?: string | null;
1317
- /**
1318
- * Direct SMS phone number
1319
- */
1320
- sending_phone_number?: string | null;
1321
- /**
1322
- * Reference to another profile for SMS/Telnyx configuration
1323
- */
1324
- sending_phone_number_profile_id?: string | null;
1325
- /**
1326
- * Reference to another profile for WhatsApp configuration
1327
- */
1328
- sending_whatsapp_number_profile_id?: string | null;
1329
- /**
1330
- * Profile short name/abbreviation. 3–11 characters: letters, numbers, and spaces
1331
- * only, with at least one letter.
1332
- */
1333
- short_name?: string | null;
1334
- /**
1335
- * Profile setup status: incomplete, pending_review, approved, rejected
1336
- */
1337
- status?: string;
1338
- /**
1339
- * When the profile was last updated
1340
- */
1341
- updated_at?: string | null;
1342
- /**
1343
- * WhatsApp Business Account ID associated with this profile. Present whether the
1344
- * WABA is inherited from the organization or configured directly.
1345
- */
1346
- waba_id?: string | null;
1347
- /**
1348
- * Direct WhatsApp phone number
1349
- */
1350
- whatsapp_phone_number?: string | null;
1351
- }
1352
- namespace Profile {
1353
- /**
1354
- * Billing contact info returned in profile responses
1355
- */
1356
- interface BillingContact {
1357
- address?: string | null;
1358
- email?: string | null;
1359
- name?: string | null;
1360
- phone?: string | null;
1361
- }
1362
- /**
1363
- * Brand response with nested contact, business, and compliance sections — mirrors
1364
- * the request structure.
1365
- */
1366
- interface Brand {
1367
- /**
1368
- * Unique identifier for the brand
1369
- */
1370
- id?: string;
1371
- /**
1372
- * Business details and address information
1373
- */
1374
- business?: Brand.Business | null;
1375
- /**
1376
- * Compliance and TCR-related information
1377
- */
1378
- compliance?: Brand.Compliance | null;
1379
- /**
1380
- * Contact information for the brand
1381
- */
1382
- contact?: Brand.Contact | null;
1383
- /**
1384
- * When the brand was created
1385
- */
1386
- created_at?: string;
1387
- /**
1388
- * CSP (Campaign Service Provider) ID
1389
- */
1390
- csp_id?: string | null;
1391
- identity_status?: 'SELF_DECLARED' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED_VERIFIED' | null;
1392
- /**
1393
- * Whether this brand is inherited from the parent organization
1394
- */
1395
- is_inherited?: boolean;
1396
- status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED' | null;
1397
- /**
1398
- * When the brand was submitted to TCR
1399
- */
1400
- submitted_at?: string | null;
1401
- /**
1402
- * Whether this brand has been submitted to TCR
1403
- */
1404
- submitted_to_tcr?: boolean;
1405
- /**
1406
- * TCR brand ID (populated after TCR submission)
1407
- */
1408
- tcr_brand_id?: string | null;
1409
- /**
1410
- * Universal EIN from TCR
1411
- */
1412
- universal_ein?: string | null;
1413
- /**
1414
- * When the brand was last updated
1415
- */
1416
- updated_at?: string | null;
1417
- }
1418
- namespace Brand {
1419
- /**
1420
- * Business details and address information
1421
- */
1422
- interface Business {
1423
- /**
1424
- * City
1425
- */
1426
- city?: string | null;
1427
- /**
1428
- * Country code (e.g., US, CA)
1429
- */
1430
- country?: string | null;
1431
- /**
1432
- * Country where the business is registered
1433
- */
1434
- country_of_registration?: string | null;
1435
- /**
1436
- * Business entity type
1437
- */
1438
- entity_type?: string | null;
1439
- /**
1440
- * Legal business name
1441
- */
1442
- legal_name?: string | null;
1443
- /**
1444
- * Postal/ZIP code
1445
- */
1446
- postal_code?: string | null;
1447
- /**
1448
- * State/province code
1449
- */
1450
- state?: string | null;
1451
- /**
1452
- * Street address
1453
- */
1454
- street?: string | null;
1455
- /**
1456
- * Tax ID/EIN number
1457
- */
1458
- tax_id?: string | null;
1459
- /**
1460
- * Type of tax ID (e.g., us_ein, ca_bn)
1461
- */
1462
- tax_id_type?: string | null;
1463
- /**
1464
- * Business website URL
1465
- */
1466
- url?: string | null;
1467
- }
1468
- /**
1469
- * Compliance and TCR-related information
1470
- */
1471
- interface Compliance {
1472
- brand_relationship?: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT' | null;
1473
- /**
1474
- * List of destination countries for messaging
1475
- */
1476
- destination_countries?: Array<Compliance.DestinationCountry>;
1477
- /**
1478
- * Expected daily messaging volume
1479
- */
1480
- expected_messaging_volume?: string | null;
1481
- /**
1482
- * Whether this is a TCR (Campaign Registry) application
1483
- */
1484
- is_tcr_application?: boolean;
1485
- /**
1486
- * Additional notes about the business or use case
1487
- */
1488
- notes?: string | null;
1489
- /**
1490
- * Phone number prefix for messaging (e.g., "+1")
1491
- */
1492
- phone_number_prefix?: string | null;
1493
- /**
1494
- * Primary messaging use case description
1495
- */
1496
- primary_use_case?: string | null;
1497
- vertical?: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION' | null;
1498
- }
1499
- namespace Compliance {
1500
- interface DestinationCountry {
1501
- id?: string;
1502
- isMain?: boolean;
1503
- }
1504
- }
1505
- /**
1506
- * Contact information for the brand
1507
- */
1508
- interface Contact {
1509
- /**
1510
- * Business/brand name
1511
- */
1512
- business_name?: string | null;
1513
- /**
1514
- * Contact email address
1515
- */
1516
- email?: string | null;
1517
- /**
1518
- * Primary contact name
1519
- */
1520
- name?: string;
1521
- /**
1522
- * Contact phone number in E.164 format
1523
- */
1524
- phone?: string | null;
1525
- /**
1526
- * Contact phone country code (e.g., "1" for US)
1527
- */
1528
- phone_country_code?: string | null;
1529
- /**
1530
- * Contact's role in the business
1531
- */
1532
- role?: string | null;
1533
- }
1534
- }
1535
- }
1536
- }
1537
- /**
1538
- * Error information
1539
- */
1540
- interface Error {
1541
- /**
1542
- * Machine-readable error code (e.g., "RESOURCE_001")
1543
- */
1544
- code?: string;
1545
- /**
1546
- * Additional validation error details (field-level errors)
1547
- */
1548
- details?: {
1549
- [key: string]: Array<string>;
1550
- } | null;
1551
- /**
1552
- * URL to documentation about this error
1553
- */
1554
- doc_url?: string | null;
1555
- /**
1556
- * Human-readable error message
1557
- */
1558
- message?: string;
1559
- }
1560
- /**
1561
- * Request and response metadata
1562
- */
1563
- interface Meta {
1564
- /**
1565
- * Unique identifier for this request (for tracing and support)
1566
- */
1567
- request_id?: string;
1568
- /**
1569
- * Server timestamp when the response was generated
1570
- */
1571
- timestamp?: string;
1572
- /**
1573
- * API version used for this request
1574
- */
1575
- version?: string;
663
+ profiles?: Array<ProfilesAPI.ProfileDetail>;
1576
664
  }
1577
665
  }
1578
666
  /**
@@ -1587,11 +675,11 @@ export interface ProfileCompleteResponse {
1587
675
  /**
1588
676
  * Error information
1589
677
  */
1590
- error?: ProfileCompleteResponse.Error | null;
678
+ error?: WebhooksAPI.ErrorDetail | null;
1591
679
  /**
1592
680
  * Request and response metadata
1593
681
  */
1594
- meta?: ProfileCompleteResponse.Meta;
682
+ meta?: WebhooksAPI.APIMeta;
1595
683
  /**
1596
684
  * Indicates whether the request was successful
1597
685
  */
@@ -1604,54 +692,14 @@ export declare namespace ProfileCompleteResponse {
1604
692
  */
1605
693
  interface Data {
1606
694
  /**
1607
- * Human-readable message describing the result.
1608
- */
1609
- message?: string;
1610
- /**
1611
- * Current process status of the profile (e.g., "completed", "submitted",
1612
- * "in_progress").
1613
- */
1614
- status?: string;
1615
- }
1616
- /**
1617
- * Error information
1618
- */
1619
- interface Error {
1620
- /**
1621
- * Machine-readable error code (e.g., "RESOURCE_001")
1622
- */
1623
- code?: string;
1624
- /**
1625
- * Additional validation error details (field-level errors)
1626
- */
1627
- details?: {
1628
- [key: string]: Array<string>;
1629
- } | null;
1630
- /**
1631
- * URL to documentation about this error
1632
- */
1633
- doc_url?: string | null;
1634
- /**
1635
- * Human-readable error message
1636
- */
1637
- message?: string;
1638
- }
1639
- /**
1640
- * Request and response metadata
1641
- */
1642
- interface Meta {
1643
- /**
1644
- * Unique identifier for this request (for tracing and support)
1645
- */
1646
- request_id?: string;
1647
- /**
1648
- * Server timestamp when the response was generated
695
+ * Human-readable message describing the result.
1649
696
  */
1650
- timestamp?: string;
697
+ message?: string;
1651
698
  /**
1652
- * API version used for this request
699
+ * Current process status of the profile (e.g., "completed", "submitted",
700
+ * "in_progress").
1653
701
  */
1654
- version?: string;
702
+ status?: string;
1655
703
  }
1656
704
  }
1657
705
  export interface ProfileCreateParams {
@@ -1667,7 +715,7 @@ export interface ProfileCreateParams {
1667
715
  * Body param: Billing contact information for a profile. Required when
1668
716
  * billing_model is "profile" or "profile_and_organization".
1669
717
  */
1670
- billing_contact?: ProfileCreateParams.BillingContact | null;
718
+ billing_contact?: BillingContactInfo | null;
1671
719
  /**
1672
720
  * Body param: Billing model: profile, organization, or profile_and_organization
1673
721
  * (default: profile).
@@ -1683,7 +731,7 @@ export interface ProfileCreateParams {
1683
731
  * Body param: Brand and KYC data grouped into contact, business, and compliance
1684
732
  * sections
1685
733
  */
1686
- brand?: ProfileCreateParams.Brand | null;
734
+ brand?: BrandsBrandData | null;
1687
735
  /**
1688
736
  * Body param: Profile description (optional)
1689
737
  */
@@ -1721,7 +769,7 @@ export interface ProfileCreateParams {
1721
769
  * "profile" or "profile_and_organization". These details are not stored on our
1722
770
  * servers and will be forwarded to the payment processor.
1723
771
  */
1724
- payment_details?: ProfileCreateParams.PaymentDetails | null;
772
+ payment_details?: PaymentDetails | null;
1725
773
  /**
1726
774
  * Body param: Sandbox flag - when true, the operation is simulated without side
1727
775
  * effects Useful for testing integrations without actual execution
@@ -1755,183 +803,6 @@ export interface ProfileCreateParams {
1755
803
  'x-profile-id'?: string;
1756
804
  }
1757
805
  export declare namespace ProfileCreateParams {
1758
- /**
1759
- * Billing contact information for a profile. Required when billing_model is
1760
- * "profile" or "profile_and_organization".
1761
- */
1762
- interface BillingContact {
1763
- /**
1764
- * Email address where invoices will be sent (required)
1765
- */
1766
- email: string;
1767
- /**
1768
- * Full name of the billing contact or company (required)
1769
- */
1770
- name: string;
1771
- /**
1772
- * Billing address (optional). Free-form text including street, city, state, postal
1773
- * code, and country.
1774
- */
1775
- address?: string | null;
1776
- /**
1777
- * Phone number for the billing contact (optional)
1778
- */
1779
- phone?: string | null;
1780
- }
1781
- /**
1782
- * Brand and KYC data grouped into contact, business, and compliance sections
1783
- */
1784
- interface Brand {
1785
- /**
1786
- * Compliance and TCR information for brand registration
1787
- */
1788
- compliance: Brand.Compliance;
1789
- /**
1790
- * Contact information for brand KYC
1791
- */
1792
- contact: Brand.Contact;
1793
- /**
1794
- * Business details and address for brand KYC
1795
- */
1796
- business?: Brand.Business | null;
1797
- }
1798
- namespace Brand {
1799
- /**
1800
- * Compliance and TCR information for brand registration
1801
- */
1802
- interface Compliance {
1803
- brandRelationship: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT';
1804
- vertical: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION';
1805
- /**
1806
- * List of destination countries for messaging
1807
- */
1808
- destinationCountries?: Array<Compliance.DestinationCountry> | null;
1809
- /**
1810
- * Expected daily messaging volume
1811
- */
1812
- expectedMessagingVolume?: string | null;
1813
- /**
1814
- * Whether this is a TCR (Campaign Registry) application
1815
- */
1816
- isTcrApplication?: boolean | null;
1817
- /**
1818
- * Additional notes about the business or use case
1819
- */
1820
- notes?: string | null;
1821
- /**
1822
- * Phone number prefix for messaging (e.g., "+1")
1823
- */
1824
- phoneNumberPrefix?: string | null;
1825
- /**
1826
- * Primary messaging use case description
1827
- */
1828
- primaryUseCase?: string | null;
1829
- }
1830
- namespace Compliance {
1831
- interface DestinationCountry {
1832
- id?: string;
1833
- isMain?: boolean;
1834
- }
1835
- }
1836
- /**
1837
- * Contact information for brand KYC
1838
- */
1839
- interface Contact {
1840
- /**
1841
- * Primary contact name (required)
1842
- */
1843
- name: string;
1844
- /**
1845
- * Business/brand name
1846
- */
1847
- businessName?: string | null;
1848
- /**
1849
- * Contact email address
1850
- */
1851
- email?: string | null;
1852
- /**
1853
- * Contact phone number in E.164 format
1854
- */
1855
- phone?: string | null;
1856
- /**
1857
- * Contact phone country code (e.g., "1" for US)
1858
- */
1859
- phoneCountryCode?: string | null;
1860
- /**
1861
- * Contact's role in the business
1862
- */
1863
- role?: string | null;
1864
- }
1865
- /**
1866
- * Business details and address for brand KYC
1867
- */
1868
- interface Business {
1869
- /**
1870
- * City
1871
- */
1872
- city?: string | null;
1873
- /**
1874
- * Country code (e.g., US, CA)
1875
- */
1876
- country?: string | null;
1877
- /**
1878
- * Country where the business is registered
1879
- */
1880
- countryOfRegistration?: string | null;
1881
- entityType?: 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'SOLE_PROPRIETOR' | 'GOVERNMENT' | null;
1882
- /**
1883
- * Legal business name
1884
- */
1885
- legalName?: string | null;
1886
- /**
1887
- * Postal/ZIP code
1888
- */
1889
- postalCode?: string | null;
1890
- /**
1891
- * State/province code
1892
- */
1893
- state?: string | null;
1894
- /**
1895
- * Street address
1896
- */
1897
- street?: string | null;
1898
- /**
1899
- * Tax ID/EIN number
1900
- */
1901
- taxId?: string | null;
1902
- /**
1903
- * Type of tax ID (e.g., us_ein, ca_bn)
1904
- */
1905
- taxIdType?: string | null;
1906
- /**
1907
- * Business website URL
1908
- */
1909
- url?: string | null;
1910
- }
1911
- }
1912
- /**
1913
- * Payment card details for a profile. Accepted when billing_model is "profile" or
1914
- * "profile_and_organization". These details are not stored on our servers and will
1915
- * be forwarded to the payment processor.
1916
- */
1917
- interface PaymentDetails {
1918
- /**
1919
- * Card number (digits only, 13–19 characters)
1920
- */
1921
- card_number: string;
1922
- /**
1923
- * Card security code (3–4 digits)
1924
- */
1925
- cvc: string;
1926
- /**
1927
- * Card expiry date in MM/YY format (e.g. "09/27")
1928
- */
1929
- expiry: string;
1930
- /**
1931
- * Billing ZIP / postal code associated with the card
1932
- */
1933
- zip_code: string;
1934
- }
1935
806
  /**
1936
807
  * Direct WhatsApp Business Account credentials for a profile. Use this when the
1937
808
  * profile should have its own WhatsApp Business Account instead of inheriting from
@@ -1983,7 +854,7 @@ export interface ProfileUpdateParams {
1983
854
  * Body param: Billing contact information for a profile. Required when
1984
855
  * billing_model is "profile" or "profile_and_organization".
1985
856
  */
1986
- billing_contact?: ProfileUpdateParams.BillingContact | null;
857
+ billing_contact?: BillingContactInfo | null;
1987
858
  /**
1988
859
  * Body param: Billing model: profile, organization, or profile_and_organization
1989
860
  * (optional).
@@ -1999,7 +870,7 @@ export interface ProfileUpdateParams {
1999
870
  * Body param: Brand and KYC data grouped into contact, business, and compliance
2000
871
  * sections
2001
872
  */
2002
- brand?: ProfileUpdateParams.Brand | null;
873
+ brand?: BrandsBrandData | null;
2003
874
  /**
2004
875
  * Body param: Profile description (optional)
2005
876
  */
@@ -2034,7 +905,7 @@ export interface ProfileUpdateParams {
2034
905
  * "profile" or "profile_and_organization". These details are not stored on our
2035
906
  * servers and will be forwarded to the payment processor.
2036
907
  */
2037
- payment_details?: ProfileUpdateParams.PaymentDetails | null;
908
+ payment_details?: PaymentDetails | null;
2038
909
  /**
2039
910
  * Body param: Sandbox flag - when true, the operation is simulated without side
2040
911
  * effects Useful for testing integrations without actual execution
@@ -2077,185 +948,6 @@ export interface ProfileUpdateParams {
2077
948
  */
2078
949
  'x-profile-id'?: string;
2079
950
  }
2080
- export declare namespace ProfileUpdateParams {
2081
- /**
2082
- * Billing contact information for a profile. Required when billing_model is
2083
- * "profile" or "profile_and_organization".
2084
- */
2085
- interface BillingContact {
2086
- /**
2087
- * Email address where invoices will be sent (required)
2088
- */
2089
- email: string;
2090
- /**
2091
- * Full name of the billing contact or company (required)
2092
- */
2093
- name: string;
2094
- /**
2095
- * Billing address (optional). Free-form text including street, city, state, postal
2096
- * code, and country.
2097
- */
2098
- address?: string | null;
2099
- /**
2100
- * Phone number for the billing contact (optional)
2101
- */
2102
- phone?: string | null;
2103
- }
2104
- /**
2105
- * Brand and KYC data grouped into contact, business, and compliance sections
2106
- */
2107
- interface Brand {
2108
- /**
2109
- * Compliance and TCR information for brand registration
2110
- */
2111
- compliance: Brand.Compliance;
2112
- /**
2113
- * Contact information for brand KYC
2114
- */
2115
- contact: Brand.Contact;
2116
- /**
2117
- * Business details and address for brand KYC
2118
- */
2119
- business?: Brand.Business | null;
2120
- }
2121
- namespace Brand {
2122
- /**
2123
- * Compliance and TCR information for brand registration
2124
- */
2125
- interface Compliance {
2126
- brandRelationship: 'BASIC_ACCOUNT' | 'MEDIUM_ACCOUNT' | 'LARGE_ACCOUNT' | 'SMALL_ACCOUNT' | 'KEY_ACCOUNT';
2127
- vertical: 'PROFESSIONAL' | 'REAL_ESTATE' | 'HEALTHCARE' | 'HUMAN_RESOURCES' | 'ENERGY' | 'ENTERTAINMENT' | 'RETAIL' | 'TRANSPORTATION' | 'AGRICULTURE' | 'INSURANCE' | 'POSTAL' | 'EDUCATION' | 'HOSPITALITY' | 'FINANCIAL' | 'POLITICAL' | 'GAMBLING' | 'LEGAL' | 'CONSTRUCTION' | 'NGO' | 'MANUFACTURING' | 'GOVERNMENT' | 'TECHNOLOGY' | 'COMMUNICATION';
2128
- /**
2129
- * List of destination countries for messaging
2130
- */
2131
- destinationCountries?: Array<Compliance.DestinationCountry> | null;
2132
- /**
2133
- * Expected daily messaging volume
2134
- */
2135
- expectedMessagingVolume?: string | null;
2136
- /**
2137
- * Whether this is a TCR (Campaign Registry) application
2138
- */
2139
- isTcrApplication?: boolean | null;
2140
- /**
2141
- * Additional notes about the business or use case
2142
- */
2143
- notes?: string | null;
2144
- /**
2145
- * Phone number prefix for messaging (e.g., "+1")
2146
- */
2147
- phoneNumberPrefix?: string | null;
2148
- /**
2149
- * Primary messaging use case description
2150
- */
2151
- primaryUseCase?: string | null;
2152
- }
2153
- namespace Compliance {
2154
- interface DestinationCountry {
2155
- id?: string;
2156
- isMain?: boolean;
2157
- }
2158
- }
2159
- /**
2160
- * Contact information for brand KYC
2161
- */
2162
- interface Contact {
2163
- /**
2164
- * Primary contact name (required)
2165
- */
2166
- name: string;
2167
- /**
2168
- * Business/brand name
2169
- */
2170
- businessName?: string | null;
2171
- /**
2172
- * Contact email address
2173
- */
2174
- email?: string | null;
2175
- /**
2176
- * Contact phone number in E.164 format
2177
- */
2178
- phone?: string | null;
2179
- /**
2180
- * Contact phone country code (e.g., "1" for US)
2181
- */
2182
- phoneCountryCode?: string | null;
2183
- /**
2184
- * Contact's role in the business
2185
- */
2186
- role?: string | null;
2187
- }
2188
- /**
2189
- * Business details and address for brand KYC
2190
- */
2191
- interface Business {
2192
- /**
2193
- * City
2194
- */
2195
- city?: string | null;
2196
- /**
2197
- * Country code (e.g., US, CA)
2198
- */
2199
- country?: string | null;
2200
- /**
2201
- * Country where the business is registered
2202
- */
2203
- countryOfRegistration?: string | null;
2204
- entityType?: 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'SOLE_PROPRIETOR' | 'GOVERNMENT' | null;
2205
- /**
2206
- * Legal business name
2207
- */
2208
- legalName?: string | null;
2209
- /**
2210
- * Postal/ZIP code
2211
- */
2212
- postalCode?: string | null;
2213
- /**
2214
- * State/province code
2215
- */
2216
- state?: string | null;
2217
- /**
2218
- * Street address
2219
- */
2220
- street?: string | null;
2221
- /**
2222
- * Tax ID/EIN number
2223
- */
2224
- taxId?: string | null;
2225
- /**
2226
- * Type of tax ID (e.g., us_ein, ca_bn)
2227
- */
2228
- taxIdType?: string | null;
2229
- /**
2230
- * Business website URL
2231
- */
2232
- url?: string | null;
2233
- }
2234
- }
2235
- /**
2236
- * Payment card details for a profile. Accepted when billing_model is "profile" or
2237
- * "profile_and_organization". These details are not stored on our servers and will
2238
- * be forwarded to the payment processor.
2239
- */
2240
- interface PaymentDetails {
2241
- /**
2242
- * Card number (digits only, 13–19 characters)
2243
- */
2244
- card_number: string;
2245
- /**
2246
- * Card security code (3–4 digits)
2247
- */
2248
- cvc: string;
2249
- /**
2250
- * Card expiry date in MM/YY format (e.g. "09/27")
2251
- */
2252
- expiry: string;
2253
- /**
2254
- * Billing ZIP / postal code associated with the card
2255
- */
2256
- zip_code: string;
2257
- }
2258
- }
2259
951
  export interface ProfileListParams {
2260
952
  /**
2261
953
  * Profile UUID to scope the request to a child profile. Only organization API keys
@@ -2301,7 +993,7 @@ export interface ProfileCompleteParams {
2301
993
  'x-profile-id'?: string;
2302
994
  }
2303
995
  export declare namespace Profiles {
2304
- export { type ProfileCreateResponse as ProfileCreateResponse, type ProfileRetrieveResponse as ProfileRetrieveResponse, type ProfileUpdateResponse as ProfileUpdateResponse, type ProfileListResponse as ProfileListResponse, type ProfileCompleteResponse as ProfileCompleteResponse, type ProfileCreateParams as ProfileCreateParams, type ProfileRetrieveParams as ProfileRetrieveParams, type ProfileUpdateParams as ProfileUpdateParams, type ProfileListParams as ProfileListParams, type ProfileDeleteParams as ProfileDeleteParams, type ProfileCompleteParams as ProfileCompleteParams, };
2305
- export { Campaigns as Campaigns, type CampaignCreateResponse as CampaignCreateResponse, type CampaignUpdateResponse as CampaignUpdateResponse, type CampaignListResponse as CampaignListResponse, type CampaignCreateParams as CampaignCreateParams, type CampaignUpdateParams as CampaignUpdateParams, type CampaignListParams as CampaignListParams, type CampaignDeleteParams as CampaignDeleteParams, };
996
+ export { type APIResponseOfProfileDetail as APIResponseOfProfileDetail, type BillingContactInfo as BillingContactInfo, type BrandsBrandData as BrandsBrandData, type DestinationCountry as DestinationCountry, type PaymentDetails as PaymentDetails, type ProfileDetail as ProfileDetail, type SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, type SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo, type SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo, type TcrBrandRelationship as TcrBrandRelationship, type TcrVertical as TcrVertical, type ProfileListResponse as ProfileListResponse, type ProfileCompleteResponse as ProfileCompleteResponse, type ProfileCreateParams as ProfileCreateParams, type ProfileRetrieveParams as ProfileRetrieveParams, type ProfileUpdateParams as ProfileUpdateParams, type ProfileListParams as ProfileListParams, type ProfileDeleteParams as ProfileDeleteParams, type ProfileCompleteParams as ProfileCompleteParams, };
997
+ export { Campaigns as Campaigns, type APIResponseOfTcrCampaignWithUseCases as APIResponseOfTcrCampaignWithUseCases, type BaseDto as BaseDto, type CampaignData as CampaignData, type MessagingUseCaseUs as MessagingUseCaseUs, type SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData as SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData, type TcrCampaignWithUseCases as TcrCampaignWithUseCases, type CampaignListResponse as CampaignListResponse, type CampaignCreateParams as CampaignCreateParams, type CampaignUpdateParams as CampaignUpdateParams, type CampaignListParams as CampaignListParams, type CampaignDeleteParams as CampaignDeleteParams, };
2306
998
  }
2307
999
  //# sourceMappingURL=profiles.d.ts.map