samva 0.18.0 → 0.20.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 (70) hide show
  1. package/README.md +2 -0
  2. package/dist/client/sdk.gen.d.ts +94 -36
  3. package/dist/client/sdk.gen.js +269 -55
  4. package/dist/client/types.gen.d.ts +497 -106
  5. package/dist/effect/campaigns.d.ts +35 -3
  6. package/dist/effect/contact-groups.d.ts +39 -3
  7. package/dist/effect/contacts.d.ts +240 -17
  8. package/dist/effect/contacts.js +3 -1
  9. package/dist/effect/conversations.d.ts +11 -11
  10. package/dist/effect/email.d.ts +22 -6
  11. package/dist/effect/errors.d.ts +1 -1
  12. package/dist/effect/errors.js +2 -2
  13. package/dist/effect/extension-installations.d.ts +12 -12
  14. package/dist/effect/extensions.d.ts +3 -3
  15. package/dist/effect/generated/campaigns.d.ts +73 -4
  16. package/dist/effect/generated/campaigns.js +18 -1
  17. package/dist/effect/generated/contact-groups.d.ts +33 -3
  18. package/dist/effect/generated/contacts.d.ts +608 -55
  19. package/dist/effect/generated/contacts.js +55 -10
  20. package/dist/effect/generated/conversations.d.ts +25 -25
  21. package/dist/effect/generated/conversations.js +1 -1
  22. package/dist/effect/generated/email.d.ts +162 -1
  23. package/dist/effect/generated/email.js +31 -11
  24. package/dist/effect/generated/extension-installations.d.ts +44 -44
  25. package/dist/effect/generated/extension-installations.js +6 -0
  26. package/dist/effect/generated/extensions.d.ts +10 -10
  27. package/dist/effect/generated/extensions.js +2 -0
  28. package/dist/effect/generated/journeys.d.ts +13 -61
  29. package/dist/effect/generated/journeys.js +5 -5
  30. package/dist/effect/generated/mailboxes.d.ts +584 -78
  31. package/dist/effect/generated/mailboxes.js +65 -24
  32. package/dist/effect/generated/messages.d.ts +35 -1
  33. package/dist/effect/generated/messages.js +9 -2
  34. package/dist/effect/generated/namespaces.d.ts +432 -2
  35. package/dist/effect/generated/namespaces.js +91 -4
  36. package/dist/effect/generated/organizations.d.ts +13 -11
  37. package/dist/effect/generated/organizations.js +7 -3
  38. package/dist/effect/generated/shared.d.ts +104 -49
  39. package/dist/effect/generated/shared.js +51 -28
  40. package/dist/effect/generated/templates.d.ts +44 -1
  41. package/dist/effect/generated/templates.js +9 -3
  42. package/dist/effect/generated/unsubscribe-groups.d.ts +173 -78
  43. package/dist/effect/generated/unsubscribe-groups.js +75 -58
  44. package/dist/effect/generated/webhooks.d.ts +19 -19
  45. package/dist/effect/generated/webhooks.js +8 -0
  46. package/dist/effect/generated-metadata.d.ts +22 -6
  47. package/dist/effect/generated-metadata.js +334 -329
  48. package/dist/effect/index.js +2 -2
  49. package/dist/effect/journeys.d.ts +4 -4
  50. package/dist/effect/mailboxes.d.ts +144 -12
  51. package/dist/effect/messages.d.ts +8 -0
  52. package/dist/effect/namespaces.d.ts +29 -0
  53. package/dist/effect/namespaces.js +7 -1
  54. package/dist/effect/organizations.d.ts +4 -4
  55. package/dist/effect/templates.d.ts +12 -1
  56. package/dist/effect/unsubscribe-groups.d.ts +29 -18
  57. package/dist/effect/unsubscribe-groups.js +5 -5
  58. package/dist/effect/webhooks.d.ts +8 -8
  59. package/dist/index.js +2 -2
  60. package/dist/mailbox-events.d.ts +31 -4
  61. package/dist/mailbox-events.js +39 -11
  62. package/dist/package.js +1 -1
  63. package/dist/promises/errors.gen.d.ts +2 -12
  64. package/dist/promises/errors.gen.js +1 -26
  65. package/dist/promises/index.d.ts +1 -1
  66. package/dist/promises/index.js +2 -2
  67. package/dist/promises/types.gen.d.ts +1 -1
  68. package/dist/service-map.d.ts +24 -4
  69. package/dist/service-map.js +26 -2
  70. package/package.json +2 -2
@@ -1,17 +1,17 @@
1
1
  import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
2
2
  import * as Schema from "effect/Schema";
3
- import { ApiKeySecurityMiddleware, BillingProviderError, ConflictError, ContactGroupId, ContactId, ContactIdentity, ContactIdentityId, ConversationId, Cursor, ForbiddenError, GatewayTimeoutError, InternalError, JsonObject, MessageId, PaymentRequiredError, ResourceNotFoundError, UnauthorizedError, ValidationError } from "./shared";
3
+ import { ApiKeySecurityMiddleware, BillingProviderError, ConflictError, ContactGroupId, ContactId, ContactIdentity, ContactIdentityId, ConversationId, Cursor, ForbiddenError, GatewayTimeoutError, InternalError, JsonObject, MessageId, NamespaceId, PaymentRequiredError, ResourceNotFoundError, UnauthorizedError, ValidationError } from "./shared";
4
4
  export type ContactCustomFields = {
5
5
  readonly [x: string]: string | number | boolean | null;
6
6
  };
7
7
  export declare const ContactCustomFields: Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>>;
8
8
  export type ContactIdentityInput = {
9
- readonly channel: "email";
9
+ readonly type: "email" | "phone";
10
10
  readonly identifier: string;
11
11
  readonly verified?: boolean | null;
12
12
  };
13
13
  export declare const ContactIdentityInput: Schema.Struct<{
14
- readonly channel: Schema.Literal<"email">;
14
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
15
15
  readonly identifier: Schema.String;
16
16
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
17
17
  }>;
@@ -183,6 +183,7 @@ export declare const ContactProfileUpdate: Schema.Struct<{
183
183
  }>;
184
184
  export type ContactSummary = {
185
185
  readonly id: ContactId;
186
+ readonly namespaceId: NamespaceId | null;
186
187
  readonly name: string;
187
188
  readonly displayName: string | null;
188
189
  readonly status: "active" | "paused" | "blocked" | "archived";
@@ -196,6 +197,7 @@ export type ContactSummary = {
196
197
  };
197
198
  export declare const ContactSummary: Schema.Struct<{
198
199
  readonly id: Schema.brand<Schema.String, "ContactId">;
200
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
199
201
  readonly name: Schema.String;
200
202
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
201
203
  readonly status: Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>;
@@ -211,8 +213,34 @@ export declare const ContactSummary: Schema.Struct<{
211
213
  readonly lastActiveAt: Schema.Union<readonly [Schema.String, Schema.Null]>;
212
214
  readonly createdAt: Schema.String;
213
215
  }>;
216
+ export type ContactPage = {
217
+ readonly items: ReadonlyArray<ContactSummary>;
218
+ readonly nextCursor: string | null;
219
+ };
220
+ export declare const ContactPage: Schema.Struct<{
221
+ readonly items: Schema.$Array<Schema.Struct<{
222
+ readonly id: Schema.brand<Schema.String, "ContactId">;
223
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
224
+ readonly name: Schema.String;
225
+ readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
226
+ readonly status: Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>;
227
+ readonly email: Schema.Union<readonly [Schema.String, Schema.Null]>;
228
+ readonly channels: Schema.$Array<Schema.Literal<"email">>;
229
+ readonly tags: Schema.$Array<Schema.String>;
230
+ readonly lists: Schema.$Array<Schema.Struct<{
231
+ readonly id: Schema.brand<Schema.String, "ContactGroupId">;
232
+ readonly name: Schema.String;
233
+ readonly color: Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"clay">, Schema.Literal<"sand">, Schema.Literal<"moss">, Schema.Literal<"sky">, Schema.Literal<"plum">, Schema.Literal<"rose">]>, Schema.Null]>;
234
+ }>>;
235
+ readonly customFields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>>, Schema.Null]>>;
236
+ readonly lastActiveAt: Schema.Union<readonly [Schema.String, Schema.Null]>;
237
+ readonly createdAt: Schema.String;
238
+ }>>;
239
+ readonly nextCursor: Schema.Union<readonly [Schema.String, Schema.Null]>;
240
+ }>;
214
241
  export type Contact = {
215
242
  readonly id: ContactId;
243
+ readonly namespaceId: NamespaceId | null;
216
244
  readonly name: string;
217
245
  readonly displayName: string | null;
218
246
  readonly avatar: string | null;
@@ -229,6 +257,7 @@ export type Contact = {
229
257
  };
230
258
  export declare const Contact: Schema.Struct<{
231
259
  readonly id: Schema.brand<Schema.String, "ContactId">;
260
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
232
261
  readonly name: Schema.String;
233
262
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
234
263
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -237,9 +266,19 @@ export declare const Contact: Schema.Struct<{
237
266
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
238
267
  readonly identities: Schema.$Array<Schema.Struct<{
239
268
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
240
- readonly channel: Schema.Literal<"email">;
269
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
241
270
  readonly identifier: Schema.String;
242
271
  readonly verified: Schema.Boolean;
272
+ readonly channels: Schema.$Array<Schema.Struct<{
273
+ readonly channel: Schema.Literal<"email">;
274
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
275
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
276
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
277
+ readonly source: Schema.String;
278
+ readonly capturedAt: Schema.String;
279
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
280
+ }>, Schema.Null]>;
281
+ }>>;
243
282
  }>>;
244
283
  readonly profile: Schema.Union<readonly [Schema.Struct<{
245
284
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -272,33 +311,10 @@ export declare const Contact: Schema.Struct<{
272
311
  readonly createdAt: Schema.String;
273
312
  readonly updatedAt: Schema.String;
274
313
  }>;
275
- export type ContactPage = {
276
- readonly items: ReadonlyArray<ContactSummary>;
277
- readonly nextCursor: string | null;
278
- };
279
- export declare const ContactPage: Schema.Struct<{
280
- readonly items: Schema.$Array<Schema.Struct<{
281
- readonly id: Schema.brand<Schema.String, "ContactId">;
282
- readonly name: Schema.String;
283
- readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
284
- readonly status: Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>;
285
- readonly email: Schema.Union<readonly [Schema.String, Schema.Null]>;
286
- readonly channels: Schema.$Array<Schema.Literal<"email">>;
287
- readonly tags: Schema.$Array<Schema.String>;
288
- readonly lists: Schema.$Array<Schema.Struct<{
289
- readonly id: Schema.brand<Schema.String, "ContactGroupId">;
290
- readonly name: Schema.String;
291
- readonly color: Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"clay">, Schema.Literal<"sand">, Schema.Literal<"moss">, Schema.Literal<"sky">, Schema.Literal<"plum">, Schema.Literal<"rose">]>, Schema.Null]>;
292
- }>>;
293
- readonly customFields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>>, Schema.Null]>>;
294
- readonly lastActiveAt: Schema.Union<readonly [Schema.String, Schema.Null]>;
295
- readonly createdAt: Schema.String;
296
- }>>;
297
- readonly nextCursor: Schema.Union<readonly [Schema.String, Schema.Null]>;
298
- }>;
299
314
  export type ContactsListQuery = {
300
315
  readonly limit?: string | null;
301
316
  readonly cursor?: Cursor | null;
317
+ readonly namespaceId?: NamespaceId | null;
302
318
  readonly search?: string | null;
303
319
  readonly status?: "active" | "paused" | "blocked" | "archived" | null;
304
320
  readonly fields?: string | null;
@@ -310,6 +326,7 @@ export type ContactsListQuery = {
310
326
  export declare const ContactsListQuery: Schema.Struct<{
311
327
  readonly limit: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
312
328
  readonly cursor: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
329
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
313
330
  readonly search: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
314
331
  readonly status: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>, Schema.Null]>>;
315
332
  readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -322,6 +339,7 @@ export type ContactsList200 = ContactPage;
322
339
  export declare const ContactsList200: Schema.Struct<{
323
340
  readonly items: Schema.$Array<Schema.Struct<{
324
341
  readonly id: Schema.brand<Schema.String, "ContactId">;
342
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
325
343
  readonly name: Schema.String;
326
344
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
327
345
  readonly status: Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>;
@@ -350,6 +368,7 @@ export declare const ContactsList500: typeof InternalError;
350
368
  export type ContactsList504 = GatewayTimeoutError;
351
369
  export declare const ContactsList504: typeof GatewayTimeoutError;
352
370
  export type ContactsCreateRequestJson = {
371
+ readonly namespaceId?: NamespaceId | null;
353
372
  readonly name: string;
354
373
  readonly displayName?: string | null | null;
355
374
  readonly avatar?: string | null | null;
@@ -363,11 +382,12 @@ export type ContactsCreateRequestJson = {
363
382
  readonly metadata?: JsonObject | null | null;
364
383
  };
365
384
  export declare const ContactsCreateRequestJson: Schema.Struct<{
385
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
366
386
  readonly name: Schema.String;
367
387
  readonly displayName: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
368
388
  readonly avatar: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
369
389
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
370
- readonly channel: Schema.Literal<"email">;
390
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
371
391
  readonly identifier: Schema.String;
372
392
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
373
393
  }>>, Schema.Null]>>;
@@ -406,6 +426,7 @@ export declare const ContactsCreateRequestJson: Schema.Struct<{
406
426
  export type ContactsCreate201 = Contact;
407
427
  export declare const ContactsCreate201: Schema.Struct<{
408
428
  readonly id: Schema.brand<Schema.String, "ContactId">;
429
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
409
430
  readonly name: Schema.String;
410
431
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
411
432
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -414,9 +435,19 @@ export declare const ContactsCreate201: Schema.Struct<{
414
435
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
415
436
  readonly identities: Schema.$Array<Schema.Struct<{
416
437
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
417
- readonly channel: Schema.Literal<"email">;
438
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
418
439
  readonly identifier: Schema.String;
419
440
  readonly verified: Schema.Boolean;
441
+ readonly channels: Schema.$Array<Schema.Struct<{
442
+ readonly channel: Schema.Literal<"email">;
443
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
444
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
445
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
446
+ readonly source: Schema.String;
447
+ readonly capturedAt: Schema.String;
448
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
449
+ }>, Schema.Null]>;
450
+ }>>;
420
451
  }>>;
421
452
  readonly profile: Schema.Union<readonly [Schema.Struct<{
422
453
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -455,6 +486,8 @@ export type ContactsCreate402 = PaymentRequiredError;
455
486
  export declare const ContactsCreate402: typeof PaymentRequiredError;
456
487
  export type ContactsCreate403 = ForbiddenError;
457
488
  export declare const ContactsCreate403: typeof ForbiddenError;
489
+ export type ContactsCreate404 = ResourceNotFoundError;
490
+ export declare const ContactsCreate404: typeof ResourceNotFoundError;
458
491
  export type ContactsCreate409 = ConflictError;
459
492
  export declare const ContactsCreate409: typeof ConflictError;
460
493
  export type ContactsCreate422 = ValidationError;
@@ -474,6 +507,7 @@ export declare const ContactsGetPathParams: Schema.Struct<{
474
507
  export type ContactsGet200 = Contact;
475
508
  export declare const ContactsGet200: Schema.Struct<{
476
509
  readonly id: Schema.brand<Schema.String, "ContactId">;
510
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
477
511
  readonly name: Schema.String;
478
512
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
479
513
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -482,9 +516,19 @@ export declare const ContactsGet200: Schema.Struct<{
482
516
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
483
517
  readonly identities: Schema.$Array<Schema.Struct<{
484
518
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
485
- readonly channel: Schema.Literal<"email">;
519
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
486
520
  readonly identifier: Schema.String;
487
521
  readonly verified: Schema.Boolean;
522
+ readonly channels: Schema.$Array<Schema.Struct<{
523
+ readonly channel: Schema.Literal<"email">;
524
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
525
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
526
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
527
+ readonly source: Schema.String;
528
+ readonly capturedAt: Schema.String;
529
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
530
+ }>, Schema.Null]>;
531
+ }>>;
488
532
  }>>;
489
533
  readonly profile: Schema.Union<readonly [Schema.Struct<{
490
534
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -609,6 +653,7 @@ export declare const ContactsUpdateRequestJson: Schema.Struct<{
609
653
  export type ContactsUpdate200 = Contact;
610
654
  export declare const ContactsUpdate200: Schema.Struct<{
611
655
  readonly id: Schema.brand<Schema.String, "ContactId">;
656
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
612
657
  readonly name: Schema.String;
613
658
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
614
659
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -617,9 +662,19 @@ export declare const ContactsUpdate200: Schema.Struct<{
617
662
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
618
663
  readonly identities: Schema.$Array<Schema.Struct<{
619
664
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
620
- readonly channel: Schema.Literal<"email">;
665
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
621
666
  readonly identifier: Schema.String;
622
667
  readonly verified: Schema.Boolean;
668
+ readonly channels: Schema.$Array<Schema.Struct<{
669
+ readonly channel: Schema.Literal<"email">;
670
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
671
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
672
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
673
+ readonly source: Schema.String;
674
+ readonly capturedAt: Schema.String;
675
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
676
+ }>, Schema.Null]>;
677
+ }>>;
623
678
  }>>;
624
679
  readonly profile: Schema.Union<readonly [Schema.Struct<{
625
680
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -791,18 +846,19 @@ export declare const ContactsAddIdentityPathParams: Schema.Struct<{
791
846
  readonly id: Schema.brand<Schema.String, "ContactId">;
792
847
  }>;
793
848
  export type ContactsAddIdentityRequestJson = {
794
- readonly channel: "email";
849
+ readonly type: "email" | "phone";
795
850
  readonly identifier: string;
796
851
  readonly verified?: boolean | null;
797
852
  };
798
853
  export declare const ContactsAddIdentityRequestJson: Schema.Struct<{
799
- readonly channel: Schema.Literal<"email">;
854
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
800
855
  readonly identifier: Schema.String;
801
856
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
802
857
  }>;
803
858
  export type ContactsAddIdentity200 = Contact;
804
859
  export declare const ContactsAddIdentity200: Schema.Struct<{
805
860
  readonly id: Schema.brand<Schema.String, "ContactId">;
861
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
806
862
  readonly name: Schema.String;
807
863
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
808
864
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -811,9 +867,19 @@ export declare const ContactsAddIdentity200: Schema.Struct<{
811
867
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
812
868
  readonly identities: Schema.$Array<Schema.Struct<{
813
869
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
814
- readonly channel: Schema.Literal<"email">;
870
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
815
871
  readonly identifier: Schema.String;
816
872
  readonly verified: Schema.Boolean;
873
+ readonly channels: Schema.$Array<Schema.Struct<{
874
+ readonly channel: Schema.Literal<"email">;
875
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
876
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
877
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
878
+ readonly source: Schema.String;
879
+ readonly capturedAt: Schema.String;
880
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
881
+ }>, Schema.Null]>;
882
+ }>>;
817
883
  }>>;
818
884
  readonly profile: Schema.Union<readonly [Schema.Struct<{
819
885
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -871,6 +937,7 @@ export declare const ContactsRemoveIdentityPathParams: Schema.Struct<{
871
937
  export type ContactsRemoveIdentity200 = Contact;
872
938
  export declare const ContactsRemoveIdentity200: Schema.Struct<{
873
939
  readonly id: Schema.brand<Schema.String, "ContactId">;
940
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
874
941
  readonly name: Schema.String;
875
942
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
876
943
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -879,9 +946,19 @@ export declare const ContactsRemoveIdentity200: Schema.Struct<{
879
946
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
880
947
  readonly identities: Schema.$Array<Schema.Struct<{
881
948
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
882
- readonly channel: Schema.Literal<"email">;
949
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
883
950
  readonly identifier: Schema.String;
884
951
  readonly verified: Schema.Boolean;
952
+ readonly channels: Schema.$Array<Schema.Struct<{
953
+ readonly channel: Schema.Literal<"email">;
954
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
955
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
956
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
957
+ readonly source: Schema.String;
958
+ readonly capturedAt: Schema.String;
959
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
960
+ }>, Schema.Null]>;
961
+ }>>;
885
962
  }>>;
886
963
  readonly profile: Schema.Union<readonly [Schema.Struct<{
887
964
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -926,6 +1003,97 @@ export type ContactsRemoveIdentity500 = InternalError;
926
1003
  export declare const ContactsRemoveIdentity500: typeof InternalError;
927
1004
  export type ContactsRemoveIdentity504 = GatewayTimeoutError;
928
1005
  export declare const ContactsRemoveIdentity504: typeof GatewayTimeoutError;
1006
+ export type ContactsSetConsentPathParams = {
1007
+ readonly id: ContactId;
1008
+ readonly identityId: ContactIdentityId;
1009
+ readonly channel: "email";
1010
+ };
1011
+ export declare const ContactsSetConsentPathParams: Schema.Struct<{
1012
+ readonly id: Schema.brand<Schema.String, "ContactId">;
1013
+ readonly identityId: Schema.brand<Schema.String, "ContactIdentityId">;
1014
+ readonly channel: Schema.Literal<"email">;
1015
+ }>;
1016
+ export type ContactsSetConsentRequestJson = {
1017
+ readonly status: "opted_in" | "opted_out";
1018
+ readonly source: string;
1019
+ readonly capturedAt: string;
1020
+ readonly proof?: JsonObject | null;
1021
+ };
1022
+ export declare const ContactsSetConsentRequestJson: Schema.Struct<{
1023
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1024
+ readonly source: Schema.String;
1025
+ readonly capturedAt: Schema.String;
1026
+ readonly proof: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>>;
1027
+ }>;
1028
+ export type ContactsSetConsent200 = Contact;
1029
+ export declare const ContactsSetConsent200: Schema.Struct<{
1030
+ readonly id: Schema.brand<Schema.String, "ContactId">;
1031
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
1032
+ readonly name: Schema.String;
1033
+ readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
1034
+ readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
1035
+ readonly status: Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>;
1036
+ readonly statusReason: Schema.Union<readonly [Schema.String, Schema.Null]>;
1037
+ readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
1038
+ readonly identities: Schema.$Array<Schema.Struct<{
1039
+ readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
1040
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1041
+ readonly identifier: Schema.String;
1042
+ readonly verified: Schema.Boolean;
1043
+ readonly channels: Schema.$Array<Schema.Struct<{
1044
+ readonly channel: Schema.Literal<"email">;
1045
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
1046
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
1047
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1048
+ readonly source: Schema.String;
1049
+ readonly capturedAt: Schema.String;
1050
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1051
+ }>, Schema.Null]>;
1052
+ }>>;
1053
+ }>>;
1054
+ readonly profile: Schema.Union<readonly [Schema.Struct<{
1055
+ readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1056
+ readonly lastName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1057
+ readonly company: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1058
+ readonly jobTitle: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1059
+ readonly location: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
1060
+ readonly country: Schema.String;
1061
+ readonly state: Schema.String;
1062
+ readonly city: Schema.String;
1063
+ readonly timezone: Schema.String;
1064
+ }>, Schema.Null]>>;
1065
+ readonly customFields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>>, Schema.Null]>>;
1066
+ readonly source: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"api">, Schema.Literal<"import">, Schema.Literal<"manual">, Schema.Literal<"form">]>, Schema.Null]>>;
1067
+ }>, Schema.Null]>;
1068
+ readonly preferences: Schema.Union<readonly [Schema.Struct<{
1069
+ readonly preferredChannels: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Literal<"email">>, Schema.Null]>>;
1070
+ readonly language: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1071
+ readonly timezone: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1072
+ readonly notifications: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
1073
+ readonly email: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
1074
+ readonly quiet_hours: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
1075
+ readonly start: Schema.String;
1076
+ readonly end: Schema.String;
1077
+ }>, Schema.Null]>>;
1078
+ }>, Schema.Null]>>;
1079
+ }>, Schema.Null]>;
1080
+ readonly tags: Schema.$Array<Schema.String>;
1081
+ readonly metadata: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1082
+ readonly createdAt: Schema.String;
1083
+ readonly updatedAt: Schema.String;
1084
+ }>;
1085
+ export type ContactsSetConsent401 = UnauthorizedError;
1086
+ export declare const ContactsSetConsent401: typeof UnauthorizedError;
1087
+ export type ContactsSetConsent403 = ForbiddenError;
1088
+ export declare const ContactsSetConsent403: typeof ForbiddenError;
1089
+ export type ContactsSetConsent404 = ResourceNotFoundError;
1090
+ export declare const ContactsSetConsent404: typeof ResourceNotFoundError;
1091
+ export type ContactsSetConsent422 = ValidationError;
1092
+ export declare const ContactsSetConsent422: typeof ValidationError;
1093
+ export type ContactsSetConsent500 = InternalError;
1094
+ export declare const ContactsSetConsent500: typeof InternalError;
1095
+ export type ContactsSetConsent504 = GatewayTimeoutError;
1096
+ export declare const ContactsSetConsent504: typeof GatewayTimeoutError;
929
1097
  export type ContactsAddTagsPathParams = {
930
1098
  readonly id: ContactId;
931
1099
  };
@@ -941,6 +1109,7 @@ export declare const ContactsAddTagsRequestJson: Schema.Struct<{
941
1109
  export type ContactsAddTags200 = Contact;
942
1110
  export declare const ContactsAddTags200: Schema.Struct<{
943
1111
  readonly id: Schema.brand<Schema.String, "ContactId">;
1112
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
944
1113
  readonly name: Schema.String;
945
1114
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
946
1115
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -949,9 +1118,19 @@ export declare const ContactsAddTags200: Schema.Struct<{
949
1118
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
950
1119
  readonly identities: Schema.$Array<Schema.Struct<{
951
1120
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
952
- readonly channel: Schema.Literal<"email">;
1121
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
953
1122
  readonly identifier: Schema.String;
954
1123
  readonly verified: Schema.Boolean;
1124
+ readonly channels: Schema.$Array<Schema.Struct<{
1125
+ readonly channel: Schema.Literal<"email">;
1126
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
1127
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
1128
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1129
+ readonly source: Schema.String;
1130
+ readonly capturedAt: Schema.String;
1131
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1132
+ }>, Schema.Null]>;
1133
+ }>>;
955
1134
  }>>;
956
1135
  readonly profile: Schema.Union<readonly [Schema.Struct<{
957
1136
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -1011,6 +1190,7 @@ export declare const ContactsRemoveTagsRequestJson: Schema.Struct<{
1011
1190
  export type ContactsRemoveTags200 = Contact;
1012
1191
  export declare const ContactsRemoveTags200: Schema.Struct<{
1013
1192
  readonly id: Schema.brand<Schema.String, "ContactId">;
1193
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
1014
1194
  readonly name: Schema.String;
1015
1195
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
1016
1196
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -1019,9 +1199,19 @@ export declare const ContactsRemoveTags200: Schema.Struct<{
1019
1199
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
1020
1200
  readonly identities: Schema.$Array<Schema.Struct<{
1021
1201
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
1022
- readonly channel: Schema.Literal<"email">;
1202
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1023
1203
  readonly identifier: Schema.String;
1024
1204
  readonly verified: Schema.Boolean;
1205
+ readonly channels: Schema.$Array<Schema.Struct<{
1206
+ readonly channel: Schema.Literal<"email">;
1207
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
1208
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
1209
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1210
+ readonly source: Schema.String;
1211
+ readonly capturedAt: Schema.String;
1212
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1213
+ }>, Schema.Null]>;
1214
+ }>>;
1025
1215
  }>>;
1026
1216
  readonly profile: Schema.Union<readonly [Schema.Struct<{
1027
1217
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -1093,6 +1283,7 @@ export declare const ContactsBulkDelete502: typeof BillingProviderError;
1093
1283
  export type ContactsBulkDelete504 = GatewayTimeoutError;
1094
1284
  export declare const ContactsBulkDelete504: typeof GatewayTimeoutError;
1095
1285
  export type ContactsBulkImportRequestJson = {
1286
+ readonly namespaceId?: NamespaceId | null;
1096
1287
  readonly contacts: ReadonlyArray<{
1097
1288
  readonly name: string;
1098
1289
  readonly displayName?: string | null | null;
@@ -1109,12 +1300,13 @@ export type ContactsBulkImportRequestJson = {
1109
1300
  readonly onConflict?: "skip" | "update" | null;
1110
1301
  };
1111
1302
  export declare const ContactsBulkImportRequestJson: Schema.Struct<{
1303
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
1112
1304
  readonly contacts: Schema.$Array<Schema.Struct<{
1113
1305
  readonly name: Schema.String;
1114
1306
  readonly displayName: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1115
1307
  readonly avatar: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1116
1308
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
1117
- readonly channel: Schema.Literal<"email">;
1309
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1118
1310
  readonly identifier: Schema.String;
1119
1311
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
1120
1312
  }>>, Schema.Null]>>;
@@ -1184,6 +1376,8 @@ export type ContactsBulkImport402 = PaymentRequiredError;
1184
1376
  export declare const ContactsBulkImport402: typeof PaymentRequiredError;
1185
1377
  export type ContactsBulkImport403 = ForbiddenError;
1186
1378
  export declare const ContactsBulkImport403: typeof ForbiddenError;
1379
+ export type ContactsBulkImport404 = ResourceNotFoundError;
1380
+ export declare const ContactsBulkImport404: typeof ResourceNotFoundError;
1187
1381
  export type ContactsBulkImport422 = ValidationError;
1188
1382
  export declare const ContactsBulkImport422: typeof ValidationError;
1189
1383
  export type ContactsBulkImport500 = InternalError;
@@ -1283,11 +1477,13 @@ export declare const ContactsExport500: typeof InternalError;
1283
1477
  export type ContactsExport504 = GatewayTimeoutError;
1284
1478
  export declare const ContactsExport504: typeof GatewayTimeoutError;
1285
1479
  export type ContactsFindRequestJson = {
1480
+ readonly namespaceId?: NamespaceId | null;
1286
1481
  readonly email?: string | null;
1287
1482
  readonly phone?: string | null;
1288
1483
  readonly externalId?: string | null;
1289
1484
  };
1290
1485
  export declare const ContactsFindRequestJson: Schema.Struct<{
1486
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
1291
1487
  readonly email: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1292
1488
  readonly phone: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1293
1489
  readonly externalId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -1295,6 +1491,7 @@ export declare const ContactsFindRequestJson: Schema.Struct<{
1295
1491
  export type ContactsFind200 = Contact | null;
1296
1492
  export declare const ContactsFind200: Schema.Union<readonly [Schema.Struct<{
1297
1493
  readonly id: Schema.brand<Schema.String, "ContactId">;
1494
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
1298
1495
  readonly name: Schema.String;
1299
1496
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
1300
1497
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -1303,9 +1500,19 @@ export declare const ContactsFind200: Schema.Union<readonly [Schema.Struct<{
1303
1500
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
1304
1501
  readonly identities: Schema.$Array<Schema.Struct<{
1305
1502
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
1306
- readonly channel: Schema.Literal<"email">;
1503
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1307
1504
  readonly identifier: Schema.String;
1308
1505
  readonly verified: Schema.Boolean;
1506
+ readonly channels: Schema.$Array<Schema.Struct<{
1507
+ readonly channel: Schema.Literal<"email">;
1508
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
1509
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
1510
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1511
+ readonly source: Schema.String;
1512
+ readonly capturedAt: Schema.String;
1513
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1514
+ }>, Schema.Null]>;
1515
+ }>>;
1309
1516
  }>>;
1310
1517
  readonly profile: Schema.Union<readonly [Schema.Struct<{
1311
1518
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -1342,6 +1549,8 @@ export type ContactsFind401 = UnauthorizedError;
1342
1549
  export declare const ContactsFind401: typeof UnauthorizedError;
1343
1550
  export type ContactsFind403 = ForbiddenError;
1344
1551
  export declare const ContactsFind403: typeof ForbiddenError;
1552
+ export type ContactsFind404 = ResourceNotFoundError;
1553
+ export declare const ContactsFind404: typeof ResourceNotFoundError;
1345
1554
  export type ContactsFind409 = ConflictError;
1346
1555
  export declare const ContactsFind409: typeof ConflictError;
1347
1556
  export type ContactsFind422 = ValidationError;
@@ -1351,6 +1560,7 @@ export declare const ContactsFind500: typeof InternalError;
1351
1560
  export type ContactsFind504 = GatewayTimeoutError;
1352
1561
  export declare const ContactsFind504: typeof GatewayTimeoutError;
1353
1562
  export type ContactsFindOrCreateRequestJson = {
1563
+ readonly namespaceId?: NamespaceId | null;
1354
1564
  readonly lookup: ContactLookup;
1355
1565
  readonly create?: {
1356
1566
  readonly name?: string | null;
@@ -1362,6 +1572,7 @@ export type ContactsFindOrCreateRequestJson = {
1362
1572
  } | null;
1363
1573
  };
1364
1574
  export declare const ContactsFindOrCreateRequestJson: Schema.Struct<{
1575
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
1365
1576
  readonly lookup: Schema.Union<readonly [Schema.Struct<{
1366
1577
  readonly type: Schema.Literal<"email">;
1367
1578
  readonly value: Schema.String;
@@ -1377,7 +1588,7 @@ export declare const ContactsFindOrCreateRequestJson: Schema.Struct<{
1377
1588
  readonly displayName: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1378
1589
  readonly avatar: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1379
1590
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
1380
- readonly channel: Schema.Literal<"email">;
1591
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1381
1592
  readonly identifier: Schema.String;
1382
1593
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
1383
1594
  }>>, Schema.Null]>>;
@@ -1405,6 +1616,7 @@ export type ContactsFindOrCreate200 = {
1405
1616
  export declare const ContactsFindOrCreate200: Schema.Struct<{
1406
1617
  readonly contact: Schema.Struct<{
1407
1618
  readonly id: Schema.brand<Schema.String, "ContactId">;
1619
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
1408
1620
  readonly name: Schema.String;
1409
1621
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
1410
1622
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -1413,9 +1625,19 @@ export declare const ContactsFindOrCreate200: Schema.Struct<{
1413
1625
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
1414
1626
  readonly identities: Schema.$Array<Schema.Struct<{
1415
1627
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
1416
- readonly channel: Schema.Literal<"email">;
1628
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1417
1629
  readonly identifier: Schema.String;
1418
1630
  readonly verified: Schema.Boolean;
1631
+ readonly channels: Schema.$Array<Schema.Struct<{
1632
+ readonly channel: Schema.Literal<"email">;
1633
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
1634
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
1635
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1636
+ readonly source: Schema.String;
1637
+ readonly capturedAt: Schema.String;
1638
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1639
+ }>, Schema.Null]>;
1640
+ }>>;
1419
1641
  }>>;
1420
1642
  readonly profile: Schema.Union<readonly [Schema.Struct<{
1421
1643
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -1456,6 +1678,8 @@ export type ContactsFindOrCreate402 = PaymentRequiredError;
1456
1678
  export declare const ContactsFindOrCreate402: typeof PaymentRequiredError;
1457
1679
  export type ContactsFindOrCreate403 = ForbiddenError;
1458
1680
  export declare const ContactsFindOrCreate403: typeof ForbiddenError;
1681
+ export type ContactsFindOrCreate404 = ResourceNotFoundError;
1682
+ export declare const ContactsFindOrCreate404: typeof ResourceNotFoundError;
1459
1683
  export type ContactsFindOrCreate409 = ConflictError;
1460
1684
  export declare const ContactsFindOrCreate409: typeof ConflictError;
1461
1685
  export type ContactsFindOrCreate422 = ValidationError;
@@ -1469,11 +1693,12 @@ export declare const ContactsFindOrCreate504: typeof GatewayTimeoutError;
1469
1693
  declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiEndpoint.HttpApiEndpoint<"contactsAddIdentity", "POST", "/v1/contacts/:id/identities", Schema.toCodecStringTree<Schema.Struct<{
1470
1694
  readonly id: Schema.brand<Schema.String, "ContactId">;
1471
1695
  }>>, never, Schema.toCodecJson<Schema.Struct<{
1472
- readonly channel: Schema.Literal<"email">;
1696
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1473
1697
  readonly identifier: Schema.String;
1474
1698
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
1475
1699
  }>>, never, Schema.toCodecJson<Schema.Struct<{
1476
1700
  readonly id: Schema.brand<Schema.String, "ContactId">;
1701
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
1477
1702
  readonly name: Schema.String;
1478
1703
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
1479
1704
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -1482,9 +1707,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
1482
1707
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
1483
1708
  readonly identities: Schema.$Array<Schema.Struct<{
1484
1709
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
1485
- readonly channel: Schema.Literal<"email">;
1710
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1486
1711
  readonly identifier: Schema.String;
1487
1712
  readonly verified: Schema.Boolean;
1713
+ readonly channels: Schema.$Array<Schema.Struct<{
1714
+ readonly channel: Schema.Literal<"email">;
1715
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
1716
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
1717
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1718
+ readonly source: Schema.String;
1719
+ readonly capturedAt: Schema.String;
1720
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1721
+ }>, Schema.Null]>;
1722
+ }>>;
1488
1723
  }>>;
1489
1724
  readonly profile: Schema.Union<readonly [Schema.Struct<{
1490
1725
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -1622,6 +1857,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
1622
1857
  readonly tags: Schema.TupleWithRest<Schema.Tuple<readonly [Schema.String]>, readonly [Schema.String]>;
1623
1858
  }>>, never, Schema.toCodecJson<Schema.Struct<{
1624
1859
  readonly id: Schema.brand<Schema.String, "ContactId">;
1860
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
1625
1861
  readonly name: Schema.String;
1626
1862
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
1627
1863
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -1630,9 +1866,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
1630
1866
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
1631
1867
  readonly identities: Schema.$Array<Schema.Struct<{
1632
1868
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
1633
- readonly channel: Schema.Literal<"email">;
1869
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1634
1870
  readonly identifier: Schema.String;
1635
1871
  readonly verified: Schema.Boolean;
1872
+ readonly channels: Schema.$Array<Schema.Struct<{
1873
+ readonly channel: Schema.Literal<"email">;
1874
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
1875
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
1876
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
1877
+ readonly source: Schema.String;
1878
+ readonly capturedAt: Schema.String;
1879
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
1880
+ }>, Schema.Null]>;
1881
+ }>>;
1636
1882
  }>>;
1637
1883
  readonly profile: Schema.Union<readonly [Schema.Struct<{
1638
1884
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -1822,12 +2068,13 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
1822
2068
  readonly message: Schema.String;
1823
2069
  readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.$Array<Schema.String>>, Schema.Null]>>;
1824
2070
  }>, never, never> | typeof InternalError>, ApiKeySecurityMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"contactsBulkImport", "POST", "/v1/contacts/bulk-import", never, never, Schema.toCodecJson<Schema.Struct<{
2071
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
1825
2072
  readonly contacts: Schema.$Array<Schema.Struct<{
1826
2073
  readonly name: Schema.String;
1827
2074
  readonly displayName: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1828
2075
  readonly avatar: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1829
2076
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
1830
- readonly channel: Schema.Literal<"email">;
2077
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
1831
2078
  readonly identifier: Schema.String;
1832
2079
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
1833
2080
  }>>, Schema.Null]>>;
@@ -1940,6 +2187,26 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
1940
2187
  readonly resource: Schema.String;
1941
2188
  readonly currentUsage: Schema.Finite;
1942
2189
  readonly limit: Schema.Finite;
2190
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<ResourceNotFoundError, {
2191
+ readonly _tag: "ResourceNotFoundError";
2192
+ readonly resource: string;
2193
+ readonly id: string;
2194
+ readonly message: string;
2195
+ }, readonly [Schema.Struct<{
2196
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
2197
+ readonly resource: Schema.String;
2198
+ readonly id: Schema.String;
2199
+ readonly message: Schema.String;
2200
+ }>], {
2201
+ readonly _tag: "ResourceNotFoundError";
2202
+ readonly resource: string;
2203
+ readonly id: string;
2204
+ readonly message: string;
2205
+ }>, Schema.Struct<{
2206
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
2207
+ readonly resource: Schema.String;
2208
+ readonly id: Schema.String;
2209
+ readonly message: Schema.String;
1943
2210
  }>, never, never> | Schema.decodeTo<Schema.declareConstructor<UnauthorizedError, {
1944
2211
  readonly _tag: "UnauthorizedError";
1945
2212
  readonly message: string;
@@ -2142,11 +2409,12 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2142
2409
  readonly message: Schema.String;
2143
2410
  readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.$Array<Schema.String>>, Schema.Null]>>;
2144
2411
  }>, never, never> | typeof InternalError>, ApiKeySecurityMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"contactsCreate", "POST", "/v1/contacts", never, never, Schema.toCodecJson<Schema.Struct<{
2412
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
2145
2413
  readonly name: Schema.String;
2146
2414
  readonly displayName: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
2147
2415
  readonly avatar: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
2148
2416
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
2149
- readonly channel: Schema.Literal<"email">;
2417
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
2150
2418
  readonly identifier: Schema.String;
2151
2419
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
2152
2420
  }>>, Schema.Null]>>;
@@ -2183,6 +2451,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2183
2451
  readonly metadata: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>, Schema.Null]>>;
2184
2452
  }>>, never, Schema.toCodecJson<Schema.Struct<{
2185
2453
  readonly id: Schema.brand<Schema.String, "ContactId">;
2454
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
2186
2455
  readonly name: Schema.String;
2187
2456
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
2188
2457
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -2191,9 +2460,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2191
2460
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
2192
2461
  readonly identities: Schema.$Array<Schema.Struct<{
2193
2462
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
2194
- readonly channel: Schema.Literal<"email">;
2463
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
2195
2464
  readonly identifier: Schema.String;
2196
2465
  readonly verified: Schema.Boolean;
2466
+ readonly channels: Schema.$Array<Schema.Struct<{
2467
+ readonly channel: Schema.Literal<"email">;
2468
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
2469
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
2470
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
2471
+ readonly source: Schema.String;
2472
+ readonly capturedAt: Schema.String;
2473
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
2474
+ }>, Schema.Null]>;
2475
+ }>>;
2197
2476
  }>>;
2198
2477
  readonly profile: Schema.Union<readonly [Schema.Struct<{
2199
2478
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -2309,6 +2588,26 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2309
2588
  readonly resource: Schema.String;
2310
2589
  readonly currentUsage: Schema.Finite;
2311
2590
  readonly limit: Schema.Finite;
2591
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<ResourceNotFoundError, {
2592
+ readonly _tag: "ResourceNotFoundError";
2593
+ readonly resource: string;
2594
+ readonly id: string;
2595
+ readonly message: string;
2596
+ }, readonly [Schema.Struct<{
2597
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
2598
+ readonly resource: Schema.String;
2599
+ readonly id: Schema.String;
2600
+ readonly message: Schema.String;
2601
+ }>], {
2602
+ readonly _tag: "ResourceNotFoundError";
2603
+ readonly resource: string;
2604
+ readonly id: string;
2605
+ readonly message: string;
2606
+ }>, Schema.Struct<{
2607
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
2608
+ readonly resource: Schema.String;
2609
+ readonly id: Schema.String;
2610
+ readonly message: Schema.String;
2312
2611
  }>, never, never> | Schema.decodeTo<Schema.declareConstructor<UnauthorizedError, {
2313
2612
  readonly _tag: "UnauthorizedError";
2314
2613
  readonly message: string;
@@ -2414,11 +2713,13 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2414
2713
  readonly message: Schema.String;
2415
2714
  readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.$Array<Schema.String>>, Schema.Null]>>;
2416
2715
  }>, never, never> | typeof InternalError>, ApiKeySecurityMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"contactsFind", "POST", "/v1/contacts/find", never, never, Schema.toCodecJson<Schema.Struct<{
2716
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
2417
2717
  readonly email: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
2418
2718
  readonly phone: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
2419
2719
  readonly externalId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
2420
2720
  }>>, never, Schema.toCodecJson<Schema.Union<readonly [Schema.Struct<{
2421
2721
  readonly id: Schema.brand<Schema.String, "ContactId">;
2722
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
2422
2723
  readonly name: Schema.String;
2423
2724
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
2424
2725
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -2427,9 +2728,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2427
2728
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
2428
2729
  readonly identities: Schema.$Array<Schema.Struct<{
2429
2730
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
2430
- readonly channel: Schema.Literal<"email">;
2731
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
2431
2732
  readonly identifier: Schema.String;
2432
2733
  readonly verified: Schema.Boolean;
2734
+ readonly channels: Schema.$Array<Schema.Struct<{
2735
+ readonly channel: Schema.Literal<"email">;
2736
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
2737
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
2738
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
2739
+ readonly source: Schema.String;
2740
+ readonly capturedAt: Schema.String;
2741
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
2742
+ }>, Schema.Null]>;
2743
+ }>>;
2433
2744
  }>>;
2434
2745
  readonly profile: Schema.Union<readonly [Schema.Struct<{
2435
2746
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -2509,6 +2820,26 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2509
2820
  readonly _tag: Schema.tag<"GatewayTimeoutError">;
2510
2821
  readonly message: Schema.String;
2511
2822
  readonly retryAfterSeconds: Schema.Finite;
2823
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<ResourceNotFoundError, {
2824
+ readonly _tag: "ResourceNotFoundError";
2825
+ readonly resource: string;
2826
+ readonly id: string;
2827
+ readonly message: string;
2828
+ }, readonly [Schema.Struct<{
2829
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
2830
+ readonly resource: Schema.String;
2831
+ readonly id: Schema.String;
2832
+ readonly message: Schema.String;
2833
+ }>], {
2834
+ readonly _tag: "ResourceNotFoundError";
2835
+ readonly resource: string;
2836
+ readonly id: string;
2837
+ readonly message: string;
2838
+ }>, Schema.Struct<{
2839
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
2840
+ readonly resource: Schema.String;
2841
+ readonly id: Schema.String;
2842
+ readonly message: Schema.String;
2512
2843
  }>, never, never> | Schema.decodeTo<Schema.declareConstructor<UnauthorizedError, {
2513
2844
  readonly _tag: "UnauthorizedError";
2514
2845
  readonly message: string;
@@ -2542,6 +2873,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2542
2873
  readonly message: Schema.String;
2543
2874
  readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.$Array<Schema.String>>, Schema.Null]>>;
2544
2875
  }>, never, never> | typeof InternalError>, ApiKeySecurityMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"contactsFindOrCreate", "POST", "/v1/contacts/find-or-create", never, never, Schema.toCodecJson<Schema.Struct<{
2876
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
2545
2877
  readonly lookup: Schema.Union<readonly [Schema.Struct<{
2546
2878
  readonly type: Schema.Literal<"email">;
2547
2879
  readonly value: Schema.String;
@@ -2557,7 +2889,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2557
2889
  readonly displayName: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
2558
2890
  readonly avatar: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
2559
2891
  readonly identities: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Struct<{
2560
- readonly channel: Schema.Literal<"email">;
2892
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
2561
2893
  readonly identifier: Schema.String;
2562
2894
  readonly verified: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
2563
2895
  }>>, Schema.Null]>>;
@@ -2580,6 +2912,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2580
2912
  }>>, never, Schema.toCodecJson<Schema.Struct<{
2581
2913
  readonly contact: Schema.Struct<{
2582
2914
  readonly id: Schema.brand<Schema.String, "ContactId">;
2915
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
2583
2916
  readonly name: Schema.String;
2584
2917
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
2585
2918
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -2588,9 +2921,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2588
2921
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
2589
2922
  readonly identities: Schema.$Array<Schema.Struct<{
2590
2923
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
2591
- readonly channel: Schema.Literal<"email">;
2924
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
2592
2925
  readonly identifier: Schema.String;
2593
2926
  readonly verified: Schema.Boolean;
2927
+ readonly channels: Schema.$Array<Schema.Struct<{
2928
+ readonly channel: Schema.Literal<"email">;
2929
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
2930
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
2931
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
2932
+ readonly source: Schema.String;
2933
+ readonly capturedAt: Schema.String;
2934
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
2935
+ }>, Schema.Null]>;
2936
+ }>>;
2594
2937
  }>>;
2595
2938
  readonly profile: Schema.Union<readonly [Schema.Struct<{
2596
2939
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -2708,6 +3051,26 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2708
3051
  readonly resource: Schema.String;
2709
3052
  readonly currentUsage: Schema.Finite;
2710
3053
  readonly limit: Schema.Finite;
3054
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<ResourceNotFoundError, {
3055
+ readonly _tag: "ResourceNotFoundError";
3056
+ readonly resource: string;
3057
+ readonly id: string;
3058
+ readonly message: string;
3059
+ }, readonly [Schema.Struct<{
3060
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
3061
+ readonly resource: Schema.String;
3062
+ readonly id: Schema.String;
3063
+ readonly message: Schema.String;
3064
+ }>], {
3065
+ readonly _tag: "ResourceNotFoundError";
3066
+ readonly resource: string;
3067
+ readonly id: string;
3068
+ readonly message: string;
3069
+ }>, Schema.Struct<{
3070
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
3071
+ readonly resource: Schema.String;
3072
+ readonly id: Schema.String;
3073
+ readonly message: Schema.String;
2711
3074
  }>, never, never> | Schema.decodeTo<Schema.declareConstructor<UnauthorizedError, {
2712
3075
  readonly _tag: "UnauthorizedError";
2713
3076
  readonly message: string;
@@ -2744,6 +3107,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2744
3107
  readonly id: Schema.brand<Schema.String, "ContactId">;
2745
3108
  }>>, never, never, never, Schema.toCodecJson<Schema.Struct<{
2746
3109
  readonly id: Schema.brand<Schema.String, "ContactId">;
3110
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
2747
3111
  readonly name: Schema.String;
2748
3112
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
2749
3113
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -2752,9 +3116,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
2752
3116
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
2753
3117
  readonly identities: Schema.$Array<Schema.Struct<{
2754
3118
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
2755
- readonly channel: Schema.Literal<"email">;
3119
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
2756
3120
  readonly identifier: Schema.String;
2757
3121
  readonly verified: Schema.Boolean;
3122
+ readonly channels: Schema.$Array<Schema.Struct<{
3123
+ readonly channel: Schema.Literal<"email">;
3124
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
3125
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
3126
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
3127
+ readonly source: Schema.String;
3128
+ readonly capturedAt: Schema.String;
3129
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
3130
+ }>, Schema.Null]>;
3131
+ }>>;
2758
3132
  }>>;
2759
3133
  readonly profile: Schema.Union<readonly [Schema.Struct<{
2760
3134
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -3151,6 +3525,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3151
3525
  }>, never, never> | typeof InternalError>, ApiKeySecurityMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"contactsList", "GET", "/v1/contacts", never, Schema.toCodecStringTree<Schema.Struct<{
3152
3526
  readonly limit: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3153
3527
  readonly cursor: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3528
+ readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>>;
3154
3529
  readonly search: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3155
3530
  readonly status: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>, Schema.Null]>>;
3156
3531
  readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -3161,6 +3536,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3161
3536
  }>>, never, never, Schema.toCodecJson<Schema.Struct<{
3162
3537
  readonly items: Schema.$Array<Schema.Struct<{
3163
3538
  readonly id: Schema.brand<Schema.String, "ContactId">;
3539
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
3164
3540
  readonly name: Schema.String;
3165
3541
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
3166
3542
  readonly status: Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>;
@@ -3338,6 +3714,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3338
3714
  readonly identityId: Schema.brand<Schema.String, "ContactIdentityId">;
3339
3715
  }>>, never, never, never, Schema.toCodecJson<Schema.Struct<{
3340
3716
  readonly id: Schema.brand<Schema.String, "ContactId">;
3717
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
3341
3718
  readonly name: Schema.String;
3342
3719
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
3343
3720
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -3346,9 +3723,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3346
3723
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
3347
3724
  readonly identities: Schema.$Array<Schema.Struct<{
3348
3725
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
3349
- readonly channel: Schema.Literal<"email">;
3726
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
3350
3727
  readonly identifier: Schema.String;
3351
3728
  readonly verified: Schema.Boolean;
3729
+ readonly channels: Schema.$Array<Schema.Struct<{
3730
+ readonly channel: Schema.Literal<"email">;
3731
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
3732
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
3733
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
3734
+ readonly source: Schema.String;
3735
+ readonly capturedAt: Schema.String;
3736
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
3737
+ }>, Schema.Null]>;
3738
+ }>>;
3352
3739
  }>>;
3353
3740
  readonly profile: Schema.Union<readonly [Schema.Struct<{
3354
3741
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -3466,6 +3853,151 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3466
3853
  readonly tags: Schema.TupleWithRest<Schema.Tuple<readonly [Schema.String]>, readonly [Schema.String]>;
3467
3854
  }>>, never, Schema.toCodecJson<Schema.Struct<{
3468
3855
  readonly id: Schema.brand<Schema.String, "ContactId">;
3856
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
3857
+ readonly name: Schema.String;
3858
+ readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
3859
+ readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
3860
+ readonly status: Schema.Union<readonly [Schema.Literal<"active">, Schema.Literal<"paused">, Schema.Literal<"blocked">, Schema.Literal<"archived">]>;
3861
+ readonly statusReason: Schema.Union<readonly [Schema.String, Schema.Null]>;
3862
+ readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
3863
+ readonly identities: Schema.$Array<Schema.Struct<{
3864
+ readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
3865
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
3866
+ readonly identifier: Schema.String;
3867
+ readonly verified: Schema.Boolean;
3868
+ readonly channels: Schema.$Array<Schema.Struct<{
3869
+ readonly channel: Schema.Literal<"email">;
3870
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
3871
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
3872
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
3873
+ readonly source: Schema.String;
3874
+ readonly capturedAt: Schema.String;
3875
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
3876
+ }>, Schema.Null]>;
3877
+ }>>;
3878
+ }>>;
3879
+ readonly profile: Schema.Union<readonly [Schema.Struct<{
3880
+ readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3881
+ readonly lastName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3882
+ readonly company: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3883
+ readonly jobTitle: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3884
+ readonly location: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
3885
+ readonly country: Schema.String;
3886
+ readonly state: Schema.String;
3887
+ readonly city: Schema.String;
3888
+ readonly timezone: Schema.String;
3889
+ }>, Schema.Null]>>;
3890
+ readonly customFields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Finite, Schema.Boolean, Schema.Null]>>, Schema.Null]>>;
3891
+ readonly source: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"api">, Schema.Literal<"import">, Schema.Literal<"manual">, Schema.Literal<"form">]>, Schema.Null]>>;
3892
+ }>, Schema.Null]>;
3893
+ readonly preferences: Schema.Union<readonly [Schema.Struct<{
3894
+ readonly preferredChannels: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.Literal<"email">>, Schema.Null]>>;
3895
+ readonly language: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3896
+ readonly timezone: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3897
+ readonly notifications: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
3898
+ readonly email: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
3899
+ readonly quiet_hours: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
3900
+ readonly start: Schema.String;
3901
+ readonly end: Schema.String;
3902
+ }>, Schema.Null]>>;
3903
+ }>, Schema.Null]>>;
3904
+ }>, Schema.Null]>;
3905
+ readonly tags: Schema.$Array<Schema.String>;
3906
+ readonly metadata: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
3907
+ readonly createdAt: Schema.String;
3908
+ readonly updatedAt: Schema.String;
3909
+ }>>, Schema.toCodecJson<Schema.decodeTo<Schema.declareConstructor<ForbiddenError, {
3910
+ readonly _tag: "ForbiddenError";
3911
+ readonly message: string;
3912
+ }, readonly [Schema.Struct<{
3913
+ readonly _tag: Schema.tag<"ForbiddenError">;
3914
+ readonly message: Schema.String;
3915
+ }>], {
3916
+ readonly _tag: "ForbiddenError";
3917
+ readonly message: string;
3918
+ }>, Schema.Struct<{
3919
+ readonly _tag: Schema.tag<"ForbiddenError">;
3920
+ readonly message: Schema.String;
3921
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<GatewayTimeoutError, {
3922
+ readonly _tag: "GatewayTimeoutError";
3923
+ readonly message: string;
3924
+ readonly retryAfterSeconds: number;
3925
+ }, readonly [Schema.Struct<{
3926
+ readonly _tag: Schema.tag<"GatewayTimeoutError">;
3927
+ readonly message: Schema.String;
3928
+ readonly retryAfterSeconds: Schema.Finite;
3929
+ }>], {
3930
+ readonly _tag: "GatewayTimeoutError";
3931
+ readonly message: string;
3932
+ readonly retryAfterSeconds: number;
3933
+ }>, Schema.Struct<{
3934
+ readonly _tag: Schema.tag<"GatewayTimeoutError">;
3935
+ readonly message: Schema.String;
3936
+ readonly retryAfterSeconds: Schema.Finite;
3937
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<ResourceNotFoundError, {
3938
+ readonly _tag: "ResourceNotFoundError";
3939
+ readonly resource: string;
3940
+ readonly id: string;
3941
+ readonly message: string;
3942
+ }, readonly [Schema.Struct<{
3943
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
3944
+ readonly resource: Schema.String;
3945
+ readonly id: Schema.String;
3946
+ readonly message: Schema.String;
3947
+ }>], {
3948
+ readonly _tag: "ResourceNotFoundError";
3949
+ readonly resource: string;
3950
+ readonly id: string;
3951
+ readonly message: string;
3952
+ }>, Schema.Struct<{
3953
+ readonly _tag: Schema.tag<"ResourceNotFoundError">;
3954
+ readonly resource: Schema.String;
3955
+ readonly id: Schema.String;
3956
+ readonly message: Schema.String;
3957
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<UnauthorizedError, {
3958
+ readonly _tag: "UnauthorizedError";
3959
+ readonly message: string;
3960
+ }, readonly [Schema.Struct<{
3961
+ readonly _tag: Schema.tag<"UnauthorizedError">;
3962
+ readonly message: Schema.String;
3963
+ }>], {
3964
+ readonly _tag: "UnauthorizedError";
3965
+ readonly message: string;
3966
+ }>, Schema.Struct<{
3967
+ readonly _tag: Schema.tag<"UnauthorizedError">;
3968
+ readonly message: Schema.String;
3969
+ }>, never, never> | Schema.decodeTo<Schema.declareConstructor<ValidationError, {
3970
+ readonly _tag: "ValidationError";
3971
+ readonly message: string;
3972
+ readonly fields?: {
3973
+ readonly [x: string]: readonly string[];
3974
+ } | null;
3975
+ }, readonly [Schema.Struct<{
3976
+ readonly _tag: Schema.tag<"ValidationError">;
3977
+ readonly message: Schema.String;
3978
+ readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.$Array<Schema.String>>, Schema.Null]>>;
3979
+ }>], {
3980
+ readonly _tag: "ValidationError";
3981
+ readonly message: string;
3982
+ readonly fields?: {
3983
+ readonly [x: string]: readonly string[];
3984
+ } | null;
3985
+ }>, Schema.Struct<{
3986
+ readonly _tag: Schema.tag<"ValidationError">;
3987
+ readonly message: Schema.String;
3988
+ readonly fields: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.$Array<Schema.String>>, Schema.Null]>>;
3989
+ }>, never, never> | typeof InternalError>, ApiKeySecurityMiddleware, never> | HttpApiEndpoint.HttpApiEndpoint<"contactsSetConsent", "PUT", "/v1/contacts/:id/identities/:identityId/consent/:channel", Schema.toCodecStringTree<Schema.Struct<{
3990
+ readonly id: Schema.brand<Schema.String, "ContactId">;
3991
+ readonly identityId: Schema.brand<Schema.String, "ContactIdentityId">;
3992
+ readonly channel: Schema.Literal<"email">;
3993
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
3994
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
3995
+ readonly source: Schema.String;
3996
+ readonly capturedAt: Schema.String;
3997
+ readonly proof: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>>;
3998
+ }>>, never, Schema.toCodecJson<Schema.Struct<{
3999
+ readonly id: Schema.brand<Schema.String, "ContactId">;
4000
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
3469
4001
  readonly name: Schema.String;
3470
4002
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
3471
4003
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -3474,9 +4006,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3474
4006
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
3475
4007
  readonly identities: Schema.$Array<Schema.Struct<{
3476
4008
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
3477
- readonly channel: Schema.Literal<"email">;
4009
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
3478
4010
  readonly identifier: Schema.String;
3479
4011
  readonly verified: Schema.Boolean;
4012
+ readonly channels: Schema.$Array<Schema.Struct<{
4013
+ readonly channel: Schema.Literal<"email">;
4014
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
4015
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
4016
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
4017
+ readonly source: Schema.String;
4018
+ readonly capturedAt: Schema.String;
4019
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
4020
+ }>, Schema.Null]>;
4021
+ }>>;
3480
4022
  }>>;
3481
4023
  readonly profile: Schema.Union<readonly [Schema.Struct<{
3482
4024
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -3625,6 +4167,7 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3625
4167
  readonly metadata: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>>;
3626
4168
  }>>, never, Schema.toCodecJson<Schema.Struct<{
3627
4169
  readonly id: Schema.brand<Schema.String, "ContactId">;
4170
+ readonly namespaceId: Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>;
3628
4171
  readonly name: Schema.String;
3629
4172
  readonly displayName: Schema.Union<readonly [Schema.String, Schema.Null]>;
3630
4173
  readonly avatar: Schema.Union<readonly [Schema.String, Schema.Null]>;
@@ -3633,9 +4176,19 @@ declare const ContactsGroup_base: HttpApiGroup.HttpApiGroup<"Contacts", HttpApiE
3633
4176
  readonly externalId: Schema.Union<readonly [Schema.String, Schema.Null]>;
3634
4177
  readonly identities: Schema.$Array<Schema.Struct<{
3635
4178
  readonly id: Schema.brand<Schema.String, "ContactIdentityId">;
3636
- readonly channel: Schema.Literal<"email">;
4179
+ readonly type: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"phone">]>;
3637
4180
  readonly identifier: Schema.String;
3638
4181
  readonly verified: Schema.Boolean;
4182
+ readonly channels: Schema.$Array<Schema.Struct<{
4183
+ readonly channel: Schema.Literal<"email">;
4184
+ readonly reachability: Schema.Union<readonly [Schema.Literal<"unknown">, Schema.Literal<"reachable">, Schema.Literal<"unreachable">]>;
4185
+ readonly consent: Schema.Union<readonly [Schema.Struct<{
4186
+ readonly status: Schema.Union<readonly [Schema.Literal<"opted_in">, Schema.Literal<"opted_out">]>;
4187
+ readonly source: Schema.String;
4188
+ readonly capturedAt: Schema.String;
4189
+ readonly proof: Schema.Union<readonly [Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<import("./shared").JsonValue, import("./shared").JsonValue, never, never>>>, Schema.Null]>;
4190
+ }>, Schema.Null]>;
4191
+ }>>;
3639
4192
  }>>;
3640
4193
  readonly profile: Schema.Union<readonly [Schema.Struct<{
3641
4194
  readonly firstName: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;