@sentdm/sentdm 0.35.0 → 0.37.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 (108) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/client.d.mts +14 -14
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +14 -14
  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 +85 -589
  10. package/resources/contacts.d.mts.map +1 -1
  11. package/resources/contacts.d.ts +85 -589
  12. package/resources/contacts.d.ts.map +1 -1
  13. package/resources/contacts.js +4 -4
  14. package/resources/contacts.js.map +1 -1
  15. package/resources/contacts.mjs +4 -4
  16. package/resources/contacts.mjs.map +1 -1
  17. package/resources/conversations.d.mts +69 -328
  18. package/resources/conversations.d.mts.map +1 -1
  19. package/resources/conversations.d.ts +69 -328
  20. package/resources/conversations.d.ts.map +1 -1
  21. package/resources/conversations.js +10 -8
  22. package/resources/conversations.js.map +1 -1
  23. package/resources/conversations.mjs +10 -8
  24. package/resources/conversations.mjs.map +1 -1
  25. package/resources/index.d.mts +7 -7
  26. package/resources/index.d.mts.map +1 -1
  27. package/resources/index.d.ts +7 -7
  28. package/resources/index.d.ts.map +1 -1
  29. package/resources/index.js.map +1 -1
  30. package/resources/index.mjs.map +1 -1
  31. package/resources/me.d.mts +81 -129
  32. package/resources/me.d.mts.map +1 -1
  33. package/resources/me.d.ts +81 -129
  34. package/resources/me.d.ts.map +1 -1
  35. package/resources/me.js +11 -0
  36. package/resources/me.js.map +1 -1
  37. package/resources/me.mjs +11 -0
  38. package/resources/me.mjs.map +1 -1
  39. package/resources/messages.d.mts +8 -171
  40. package/resources/messages.d.mts.map +1 -1
  41. package/resources/messages.d.ts +8 -171
  42. package/resources/messages.d.ts.map +1 -1
  43. package/resources/messages.js.map +1 -1
  44. package/resources/messages.mjs.map +1 -1
  45. package/resources/numbers.d.mts +3 -42
  46. package/resources/numbers.d.mts.map +1 -1
  47. package/resources/numbers.d.ts +3 -42
  48. package/resources/numbers.d.ts.map +1 -1
  49. package/resources/numbers.js.map +1 -1
  50. package/resources/numbers.mjs.map +1 -1
  51. package/resources/profiles/campaigns.d.mts +149 -544
  52. package/resources/profiles/campaigns.d.mts.map +1 -1
  53. package/resources/profiles/campaigns.d.ts +149 -544
  54. package/resources/profiles/campaigns.d.ts.map +1 -1
  55. package/resources/profiles/index.d.mts +2 -2
  56. package/resources/profiles/index.d.mts.map +1 -1
  57. package/resources/profiles/index.d.ts +2 -2
  58. package/resources/profiles/index.d.ts.map +1 -1
  59. package/resources/profiles/index.js.map +1 -1
  60. package/resources/profiles/index.mjs.map +1 -1
  61. package/resources/profiles/profiles.d.mts +411 -1821
  62. package/resources/profiles/profiles.d.mts.map +1 -1
  63. package/resources/profiles/profiles.d.ts +411 -1821
  64. package/resources/profiles/profiles.d.ts.map +1 -1
  65. package/resources/profiles/profiles.js.map +1 -1
  66. package/resources/profiles/profiles.mjs.map +1 -1
  67. package/resources/templates.d.mts +84 -486
  68. package/resources/templates.d.mts.map +1 -1
  69. package/resources/templates.d.ts +84 -486
  70. package/resources/templates.d.ts.map +1 -1
  71. package/resources/templates.js +3 -3
  72. package/resources/templates.js.map +1 -1
  73. package/resources/templates.mjs +3 -3
  74. package/resources/templates.mjs.map +1 -1
  75. package/resources/users.d.mts +47 -437
  76. package/resources/users.d.mts.map +1 -1
  77. package/resources/users.d.ts +47 -437
  78. package/resources/users.d.ts.map +1 -1
  79. package/resources/users.js +3 -3
  80. package/resources/users.js.map +1 -1
  81. package/resources/users.mjs +3 -3
  82. package/resources/users.mjs.map +1 -1
  83. package/resources/webhooks.d.mts +189 -768
  84. package/resources/webhooks.d.mts.map +1 -1
  85. package/resources/webhooks.d.ts +189 -768
  86. package/resources/webhooks.d.ts.map +1 -1
  87. package/resources/webhooks.js +7 -6
  88. package/resources/webhooks.js.map +1 -1
  89. package/resources/webhooks.mjs +7 -6
  90. package/resources/webhooks.mjs.map +1 -1
  91. package/src/client.ts +52 -39
  92. package/src/resources/contacts.ts +88 -678
  93. package/src/resources/conversations.ts +77 -393
  94. package/src/resources/index.ts +26 -20
  95. package/src/resources/me.ts +94 -148
  96. package/src/resources/messages.ts +8 -194
  97. package/src/resources/numbers.ts +3 -47
  98. package/src/resources/profiles/campaigns.ts +174 -673
  99. package/src/resources/profiles/index.ts +14 -6
  100. package/src/resources/profiles/profiles.ts +529 -2216
  101. package/src/resources/templates.ts +100 -572
  102. package/src/resources/users.ts +48 -505
  103. package/src/resources/webhooks.ts +297 -996
  104. package/src/version.ts +1 -1
  105. package/version.d.mts +1 -1
  106. package/version.d.ts +1 -1
  107. package/version.js +1 -1
  108. package/version.mjs +1 -1
@@ -1,6 +1,8 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../core/resource';
4
+ import * as MeAPI from './me';
5
+ import * as WebhooksAPI from './webhooks';
4
6
  import { APIPromise } from '../core/api-promise';
5
7
  import { buildHeaders } from '../internal/headers';
6
8
  import { RequestOptions } from '../internal/request-options';
@@ -27,6 +29,17 @@ export class Me extends APIResource {
27
29
  * **Channels:** The `channels` object always includes `sms`, `whatsapp`, and
28
30
  * `rcs`. Each channel has a `configured` boolean. Configured channels expose
29
31
  * additional details such as `phone_number`.
32
+ *
33
+ * **Sending number:** `sending_phone_number` is the account's US SMS sender. It is
34
+ * intentionally the same value as `channels.sms.phone_number` — the two are kept
35
+ * in step, and it is published under both names because `sending_phone_number` is
36
+ * what this value is called on `GET /v3/profiles`. Read either. One difference:
37
+ * `sending_phone_number` is always present, including as `null`, while
38
+ * `channels.sms.phone_number` is omitted when there is no sender.
39
+ *
40
+ * `sending_phone_number_profile_id` names the account that holds that number in
41
+ * inventory — normally this account, and a different one where a number is shared.
42
+ * Both are `null` when the account has no US SMS sender.
30
43
  */
31
44
  retrieve(
32
45
  params: MeRetrieveParams | null | undefined = {},
@@ -43,6 +56,54 @@ export class Me extends APIResource {
43
56
  }
44
57
  }
45
58
 
59
+ /**
60
+ * Profile configuration settings
61
+ */
62
+ export interface ProfileSettings {
63
+ /**
64
+ * @deprecated Always false. A profile no longer shares contacts with sibling
65
+ * profiles — it sees only what it owns. Retained so existing v3 clients reading
66
+ * allow_contact_sharing keep deserializing; it carries no information.
67
+ */
68
+ allow_contact_sharing?: boolean | null;
69
+
70
+ /**
71
+ * @deprecated Always false. A profile no longer shares templates with sibling
72
+ * profiles. Retained so existing v3 clients reading allow_template_sharing keep
73
+ * deserializing; it carries no information.
74
+ */
75
+ allow_template_sharing?: boolean | null;
76
+
77
+ /**
78
+ * Billing model: profile, organization, or profile_and_organization
79
+ */
80
+ billing_model?: string | null;
81
+
82
+ /**
83
+ * @deprecated Always false. A profile no longer inherits its organization's
84
+ * contacts. Retained so existing v3 clients reading inherit_contacts keep
85
+ * deserializing; it carries no information.
86
+ */
87
+ inherit_contacts?: boolean | null;
88
+
89
+ /**
90
+ * Whether this profile inherits TCR brand from the organization
91
+ */
92
+ inherit_tcr_brand?: boolean | null;
93
+
94
+ /**
95
+ * Whether this profile inherits TCR campaign from the organization
96
+ */
97
+ inherit_tcr_campaign?: boolean | null;
98
+
99
+ /**
100
+ * @deprecated Always false. A profile no longer inherits its organization's
101
+ * templates. Retained so existing v3 clients reading inherit_templates keep
102
+ * deserializing; it carries no information.
103
+ */
104
+ inherit_templates?: boolean | null;
105
+ }
106
+
46
107
  /**
47
108
  * Standard API response envelope for all v3 endpoints
48
109
  */
@@ -57,12 +118,12 @@ export interface MeRetrieveResponse {
57
118
  /**
58
119
  * Error information
59
120
  */
60
- error?: MeRetrieveResponse.Error | null;
121
+ error?: WebhooksAPI.ErrorDetail | null;
61
122
 
62
123
  /**
63
124
  * Request and response metadata
64
125
  */
65
- meta?: MeRetrieveResponse.Meta;
126
+ meta?: WebhooksAPI.APIMeta;
66
127
 
67
128
  /**
68
129
  * Indicates whether the request was successful
@@ -124,10 +185,34 @@ export namespace MeRetrieveResponse {
124
185
  */
125
186
  profiles?: Array<Data.Profile>;
126
187
 
188
+ /**
189
+ * The SMS sender this account sends from in the United States, in E.164 form. Null
190
+ * when the account has no US SMS sender.
191
+ *
192
+ * The same value as channels.sms.phone_number, published under both names on
193
+ * purpose: sending_phone_number is what this value is already called on GET
194
+ * /v3/profiles, so the same key answers the same question whichever of the two
195
+ * endpoints you ask. Neither name is preferred over the other and neither is
196
+ * deprecated.
197
+ *
198
+ * The same value, not the same presence: this key is always written, including as
199
+ * null, whereas channels.sms.phone_number is left out entirely when there is no
200
+ * sender.
201
+ */
202
+ sending_phone_number?: string | null;
203
+
204
+ /**
205
+ * The account that holds sending_phone_number in number inventory: normally this
206
+ * account itself, and a different account when the number is held elsewhere. Null
207
+ * when there is no US sender, or when the sender is not a number drawn from
208
+ * inventory — an alphanumeric sender ID or a short code.
209
+ */
210
+ sending_phone_number_profile_id?: string | null;
211
+
127
212
  /**
128
213
  * Profile configuration settings
129
214
  */
130
- settings?: Data.Settings | null;
215
+ settings?: MeAPI.ProfileSettings | null;
131
216
 
132
217
  /**
133
218
  * Short name / abbreviation (only for profile type)
@@ -261,7 +346,7 @@ export namespace MeRetrieveResponse {
261
346
  /**
262
347
  * Profile configuration settings
263
348
  */
264
- settings?: Profile.Settings;
349
+ settings?: MeAPI.ProfileSettings;
265
350
 
266
351
  /**
267
352
  * Profile short name (abbreviation)
@@ -273,149 +358,6 @@ export namespace MeRetrieveResponse {
273
358
  */
274
359
  status?: string | null;
275
360
  }
276
-
277
- export namespace Profile {
278
- /**
279
- * Profile configuration settings
280
- */
281
- export interface Settings {
282
- /**
283
- * @deprecated Always false. A profile no longer shares contacts with sibling
284
- * profiles — it sees only what it owns. Retained so existing v3 clients reading
285
- * allow_contact_sharing keep deserializing; it carries no information.
286
- */
287
- allow_contact_sharing?: boolean | null;
288
-
289
- /**
290
- * @deprecated Always false. A profile no longer shares templates with sibling
291
- * profiles. Retained so existing v3 clients reading allow_template_sharing keep
292
- * deserializing; it carries no information.
293
- */
294
- allow_template_sharing?: boolean | null;
295
-
296
- /**
297
- * Billing model: profile, organization, or profile_and_organization
298
- */
299
- billing_model?: string | null;
300
-
301
- /**
302
- * @deprecated Always false. A profile no longer inherits its organization's
303
- * contacts. Retained so existing v3 clients reading inherit_contacts keep
304
- * deserializing; it carries no information.
305
- */
306
- inherit_contacts?: boolean | null;
307
-
308
- /**
309
- * Whether this profile inherits TCR brand from the organization
310
- */
311
- inherit_tcr_brand?: boolean | null;
312
-
313
- /**
314
- * Whether this profile inherits TCR campaign from the organization
315
- */
316
- inherit_tcr_campaign?: boolean | null;
317
-
318
- /**
319
- * @deprecated Always false. A profile no longer inherits its organization's
320
- * templates. Retained so existing v3 clients reading inherit_templates keep
321
- * deserializing; it carries no information.
322
- */
323
- inherit_templates?: boolean | null;
324
- }
325
- }
326
-
327
- /**
328
- * Profile configuration settings
329
- */
330
- export interface Settings {
331
- /**
332
- * @deprecated Always false. A profile no longer shares contacts with sibling
333
- * profiles — it sees only what it owns. Retained so existing v3 clients reading
334
- * allow_contact_sharing keep deserializing; it carries no information.
335
- */
336
- allow_contact_sharing?: boolean | null;
337
-
338
- /**
339
- * @deprecated Always false. A profile no longer shares templates with sibling
340
- * profiles. Retained so existing v3 clients reading allow_template_sharing keep
341
- * deserializing; it carries no information.
342
- */
343
- allow_template_sharing?: boolean | null;
344
-
345
- /**
346
- * Billing model: profile, organization, or profile_and_organization
347
- */
348
- billing_model?: string | null;
349
-
350
- /**
351
- * @deprecated Always false. A profile no longer inherits its organization's
352
- * contacts. Retained so existing v3 clients reading inherit_contacts keep
353
- * deserializing; it carries no information.
354
- */
355
- inherit_contacts?: boolean | null;
356
-
357
- /**
358
- * Whether this profile inherits TCR brand from the organization
359
- */
360
- inherit_tcr_brand?: boolean | null;
361
-
362
- /**
363
- * Whether this profile inherits TCR campaign from the organization
364
- */
365
- inherit_tcr_campaign?: boolean | null;
366
-
367
- /**
368
- * @deprecated Always false. A profile no longer inherits its organization's
369
- * templates. Retained so existing v3 clients reading inherit_templates keep
370
- * deserializing; it carries no information.
371
- */
372
- inherit_templates?: boolean | null;
373
- }
374
- }
375
-
376
- /**
377
- * Error information
378
- */
379
- export interface Error {
380
- /**
381
- * Machine-readable error code (e.g., "RESOURCE_001")
382
- */
383
- code?: string;
384
-
385
- /**
386
- * Additional validation error details (field-level errors)
387
- */
388
- details?: { [key: string]: Array<string> } | null;
389
-
390
- /**
391
- * URL to documentation about this error
392
- */
393
- doc_url?: string | null;
394
-
395
- /**
396
- * Human-readable error message
397
- */
398
- message?: string;
399
- }
400
-
401
- /**
402
- * Request and response metadata
403
- */
404
- export interface Meta {
405
- /**
406
- * Unique identifier for this request (for tracing and support)
407
- */
408
- request_id?: string;
409
-
410
- /**
411
- * Server timestamp when the response was generated
412
- */
413
- timestamp?: string;
414
-
415
- /**
416
- * API version used for this request
417
- */
418
- version?: string;
419
361
  }
420
362
  }
421
363
 
@@ -428,5 +370,9 @@ export interface MeRetrieveParams {
428
370
  }
429
371
 
430
372
  export declare namespace Me {
431
- export { type MeRetrieveResponse as MeRetrieveResponse, type MeRetrieveParams as MeRetrieveParams };
373
+ export {
374
+ type ProfileSettings as ProfileSettings,
375
+ type MeRetrieveResponse as MeRetrieveResponse,
376
+ type MeRetrieveParams as MeRetrieveParams,
377
+ };
432
378
  }
@@ -1,6 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../core/resource';
4
+ import * as WebhooksAPI from './webhooks';
4
5
  import { APIPromise } from '../core/api-promise';
5
6
  import { buildHeaders } from '../internal/headers';
6
7
  import { RequestOptions } from '../internal/request-options';
@@ -111,12 +112,12 @@ export interface MessageRetrieveActivitiesResponse {
111
112
  /**
112
113
  * Error information
113
114
  */
114
- error?: MessageRetrieveActivitiesResponse.Error | null;
115
+ error?: WebhooksAPI.ErrorDetail | null;
115
116
 
116
117
  /**
117
118
  * Request and response metadata
118
119
  */
119
- meta?: MessageRetrieveActivitiesResponse.Meta;
120
+ meta?: WebhooksAPI.APIMeta;
120
121
 
121
122
  /**
122
123
  * Indicates whether the request was successful
@@ -142,7 +143,7 @@ export namespace MessageRetrieveActivitiesResponse {
142
143
  /**
143
144
  * Pagination metadata for list responses
144
145
  */
145
- pagination?: Data.Pagination;
146
+ pagination?: WebhooksAPI.PaginationMeta;
146
147
  }
147
148
 
148
149
  export namespace Data {
@@ -185,103 +186,6 @@ export namespace MessageRetrieveActivitiesResponse {
185
186
  */
186
187
  timestamp?: string;
187
188
  }
188
-
189
- /**
190
- * Pagination metadata for list responses
191
- */
192
- export interface Pagination {
193
- /**
194
- * @deprecated Cursor-based pagination. Never populated — see Cursors.
195
- */
196
- cursors?: Pagination.Cursors | null;
197
-
198
- /**
199
- * Whether there are more pages after this one
200
- */
201
- has_more?: boolean;
202
-
203
- /**
204
- * Current page number (1-indexed)
205
- */
206
- page?: number;
207
-
208
- /**
209
- * Number of items per page
210
- */
211
- page_size?: number;
212
-
213
- /**
214
- * Total number of items across all pages
215
- */
216
- total_count?: number;
217
-
218
- /**
219
- * Total number of pages
220
- */
221
- total_pages?: number;
222
- }
223
-
224
- export namespace Pagination {
225
- /**
226
- * @deprecated Cursor-based pagination. Never populated — see Cursors.
227
- */
228
- export interface Cursors {
229
- /**
230
- * Cursor to fetch the next page.
231
- */
232
- after?: string | null;
233
-
234
- /**
235
- * Cursor to fetch the previous page.
236
- */
237
- before?: string | null;
238
- }
239
- }
240
- }
241
-
242
- /**
243
- * Error information
244
- */
245
- export interface Error {
246
- /**
247
- * Machine-readable error code (e.g., "RESOURCE_001")
248
- */
249
- code?: string;
250
-
251
- /**
252
- * Additional validation error details (field-level errors)
253
- */
254
- details?: { [key: string]: Array<string> } | null;
255
-
256
- /**
257
- * URL to documentation about this error
258
- */
259
- doc_url?: string | null;
260
-
261
- /**
262
- * Human-readable error message
263
- */
264
- message?: string;
265
- }
266
-
267
- /**
268
- * Request and response metadata
269
- */
270
- export interface Meta {
271
- /**
272
- * Unique identifier for this request (for tracing and support)
273
- */
274
- request_id?: string;
275
-
276
- /**
277
- * Server timestamp when the response was generated
278
- */
279
- timestamp?: string;
280
-
281
- /**
282
- * API version used for this request
283
- */
284
- version?: string;
285
189
  }
286
190
  }
287
191
 
@@ -297,12 +201,12 @@ export interface MessageRetrieveStatusResponse {
297
201
  /**
298
202
  * Error information
299
203
  */
300
- error?: MessageRetrieveStatusResponse.Error | null;
204
+ error?: WebhooksAPI.ErrorDetail | null;
301
205
 
302
206
  /**
303
207
  * Request and response metadata
304
208
  */
305
- meta?: MessageRetrieveStatusResponse.Meta;
209
+ meta?: WebhooksAPI.APIMeta;
306
210
 
307
211
  /**
308
212
  * Indicates whether the request was successful
@@ -392,51 +296,6 @@ export namespace MessageRetrieveStatusResponse {
392
296
  }
393
297
  }
394
298
  }
395
-
396
- /**
397
- * Error information
398
- */
399
- export interface Error {
400
- /**
401
- * Machine-readable error code (e.g., "RESOURCE_001")
402
- */
403
- code?: string;
404
-
405
- /**
406
- * Additional validation error details (field-level errors)
407
- */
408
- details?: { [key: string]: Array<string> } | null;
409
-
410
- /**
411
- * URL to documentation about this error
412
- */
413
- doc_url?: string | null;
414
-
415
- /**
416
- * Human-readable error message
417
- */
418
- message?: string;
419
- }
420
-
421
- /**
422
- * Request and response metadata
423
- */
424
- export interface Meta {
425
- /**
426
- * Unique identifier for this request (for tracing and support)
427
- */
428
- request_id?: string;
429
-
430
- /**
431
- * Server timestamp when the response was generated
432
- */
433
- timestamp?: string;
434
-
435
- /**
436
- * API version used for this request
437
- */
438
- version?: string;
439
- }
440
299
  }
441
300
 
442
301
  /**
@@ -460,12 +319,12 @@ export interface MessageSendResponse {
460
319
  /**
461
320
  * Error information
462
321
  */
463
- error?: MessageSendResponse.Error | null;
322
+ error?: WebhooksAPI.ErrorDetail | null;
464
323
 
465
324
  /**
466
325
  * Request and response metadata
467
326
  */
468
- meta?: MessageSendResponse.Meta;
327
+ meta?: WebhooksAPI.APIMeta;
469
328
 
470
329
  /**
471
330
  * Indicates whether the request was successful
@@ -526,51 +385,6 @@ export namespace MessageSendResponse {
526
385
  to?: string;
527
386
  }
528
387
  }
529
-
530
- /**
531
- * Error information
532
- */
533
- export interface Error {
534
- /**
535
- * Machine-readable error code (e.g., "RESOURCE_001")
536
- */
537
- code?: string;
538
-
539
- /**
540
- * Additional validation error details (field-level errors)
541
- */
542
- details?: { [key: string]: Array<string> } | null;
543
-
544
- /**
545
- * URL to documentation about this error
546
- */
547
- doc_url?: string | null;
548
-
549
- /**
550
- * Human-readable error message
551
- */
552
- message?: string;
553
- }
554
-
555
- /**
556
- * Request and response metadata
557
- */
558
- export interface Meta {
559
- /**
560
- * Unique identifier for this request (for tracing and support)
561
- */
562
- request_id?: string;
563
-
564
- /**
565
- * Server timestamp when the response was generated
566
- */
567
- timestamp?: string;
568
-
569
- /**
570
- * API version used for this request
571
- */
572
- version?: string;
573
- }
574
388
  }
575
389
 
576
390
  export interface MessageRetrieveActivitiesParams {
@@ -1,6 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../core/resource';
4
+ import * as WebhooksAPI from './webhooks';
4
5
  import { APIPromise } from '../core/api-promise';
5
6
  import { buildHeaders } from '../internal/headers';
6
7
  import { RequestOptions } from '../internal/request-options';
@@ -52,12 +53,12 @@ export interface NumberLookupResponse {
52
53
  /**
53
54
  * Error information
54
55
  */
55
- error?: NumberLookupResponse.Error | null;
56
+ error?: WebhooksAPI.ErrorDetail | null;
56
57
 
57
58
  /**
58
59
  * Request and response metadata
59
60
  */
60
- meta?: NumberLookupResponse.Meta;
61
+ meta?: WebhooksAPI.APIMeta;
61
62
 
62
63
  /**
63
64
  * Indicates whether the request was successful
@@ -88,51 +89,6 @@ export namespace NumberLookupResponse {
88
89
 
89
90
  phone_number?: string;
90
91
  }
91
-
92
- /**
93
- * Error information
94
- */
95
- export interface Error {
96
- /**
97
- * Machine-readable error code (e.g., "RESOURCE_001")
98
- */
99
- code?: string;
100
-
101
- /**
102
- * Additional validation error details (field-level errors)
103
- */
104
- details?: { [key: string]: Array<string> } | null;
105
-
106
- /**
107
- * URL to documentation about this error
108
- */
109
- doc_url?: string | null;
110
-
111
- /**
112
- * Human-readable error message
113
- */
114
- message?: string;
115
- }
116
-
117
- /**
118
- * Request and response metadata
119
- */
120
- export interface Meta {
121
- /**
122
- * Unique identifier for this request (for tracing and support)
123
- */
124
- request_id?: string;
125
-
126
- /**
127
- * Server timestamp when the response was generated
128
- */
129
- timestamp?: string;
130
-
131
- /**
132
- * API version used for this request
133
- */
134
- version?: string;
135
- }
136
92
  }
137
93
 
138
94
  export interface NumberLookupParams {