samva 0.19.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 (44) hide show
  1. package/dist/client/sdk.gen.d.ts +56 -14
  2. package/dist/client/sdk.gen.js +186 -34
  3. package/dist/client/types.gen.d.ts +325 -65
  4. package/dist/effect/campaigns.d.ts +35 -3
  5. package/dist/effect/contacts.d.ts +24 -4
  6. package/dist/effect/email.d.ts +22 -6
  7. package/dist/effect/errors.d.ts +1 -1
  8. package/dist/effect/errors.js +2 -2
  9. package/dist/effect/generated/campaigns.d.ts +73 -4
  10. package/dist/effect/generated/campaigns.js +18 -1
  11. package/dist/effect/generated/contacts.d.ts +131 -1
  12. package/dist/effect/generated/contacts.js +17 -2
  13. package/dist/effect/generated/email.d.ts +162 -1
  14. package/dist/effect/generated/email.js +31 -11
  15. package/dist/effect/generated/journeys.d.ts +13 -61
  16. package/dist/effect/generated/journeys.js +5 -5
  17. package/dist/effect/generated/mailboxes.d.ts +274 -78
  18. package/dist/effect/generated/mailboxes.js +28 -20
  19. package/dist/effect/generated/messages.d.ts +4 -1
  20. package/dist/effect/generated/messages.js +2 -1
  21. package/dist/effect/generated/namespaces.d.ts +432 -2
  22. package/dist/effect/generated/namespaces.js +91 -4
  23. package/dist/effect/generated/shared.d.ts +34 -29
  24. package/dist/effect/generated/shared.js +25 -22
  25. package/dist/effect/generated/templates.d.ts +44 -1
  26. package/dist/effect/generated/templates.js +9 -3
  27. package/dist/effect/generated-metadata.d.ts +15 -4
  28. package/dist/effect/generated-metadata.js +3 -4
  29. package/dist/effect/index.js +2 -2
  30. package/dist/effect/journeys.d.ts +4 -4
  31. package/dist/effect/mailboxes.d.ts +11 -11
  32. package/dist/effect/messages.d.ts +3 -0
  33. package/dist/effect/namespaces.d.ts +29 -0
  34. package/dist/effect/namespaces.js +7 -1
  35. package/dist/effect/templates.d.ts +12 -1
  36. package/dist/index.js +2 -2
  37. package/dist/package.js +1 -1
  38. package/dist/promises/errors.gen.d.ts +2 -12
  39. package/dist/promises/errors.gen.js +1 -26
  40. package/dist/promises/index.js +2 -2
  41. package/dist/promises/types.gen.d.ts +1 -1
  42. package/dist/service-map.d.ts +15 -0
  43. package/dist/service-map.js +16 -0
  44. package/package.json +2 -2
@@ -219,6 +219,26 @@ export type ExtensionPage = {
219
219
  items: Array<Extension>;
220
220
  nextCursor: string | null;
221
221
  };
222
+ export type NamespaceUsage = {
223
+ namespaceId: NamespaceId;
224
+ periodStart: string;
225
+ periodEnd: string;
226
+ emailCount: number;
227
+ totalMessages: number;
228
+ };
229
+ export type NamespaceResource = {
230
+ type: NamespaceResourceType;
231
+ id: string;
232
+ namespaceId: NamespaceId | null;
233
+ };
234
+ export type NamespaceResourceType = "domain" | "sender" | "contact" | "template";
235
+ export type AssignNamespaceResourcePayload = {
236
+ type: NamespaceResourceType;
237
+ /**
238
+ * The resource's id, such as `dom_...` for a domain.
239
+ */
240
+ resourceId: string;
241
+ };
222
242
  export type Namespace = {
223
243
  id: NamespaceId;
224
244
  name: string;
@@ -438,6 +458,11 @@ export type MailboxSendSnapshot = {
438
458
  inReplyToMessageId: MessageId | null;
439
459
  };
440
460
  export type ConversationId = string;
461
+ export type JsonObject = {
462
+ [key: string]: JsonValue;
463
+ };
464
+ export type TemplateId = string;
465
+ export type MailboxEndpointId = string;
441
466
  export type EmailAttachment = {
442
467
  filename: string;
443
468
  content?: string | null | undefined;
@@ -485,10 +510,10 @@ export type MailboxSendRefusedError = {
485
510
  message: string;
486
511
  receipt: MailboxSendReceipt;
487
512
  };
488
- export type MailboxChannelUnsupportedError = {
489
- _tag: "MailboxChannelUnsupportedError";
513
+ export type FlagDisabledError = {
514
+ _tag: "FlagDisabledError";
515
+ flag: string;
490
516
  message: string;
491
- channel: string;
492
517
  };
493
518
  export type MailboxPendingAction = MailboxSendAction | MailboxNonSendAction;
494
519
  export type MailboxPendingSendReceipt = {
@@ -533,7 +558,6 @@ export type MailboxDraft = {
533
558
  attachments: Array<EmailAttachment>;
534
559
  };
535
560
  export type MailboxDraftState = "saved" | "locked" | "sent";
536
- export type MailboxEndpointId = string;
537
561
  export type UpdateMailboxDraftPayload = {
538
562
  to?: Array<string> | null | undefined;
539
563
  cc?: Array<string> | null | null | undefined;
@@ -1010,7 +1034,7 @@ export type ApiKeyAccess = {
1010
1034
  resources: ApiKeyResourceAccess;
1011
1035
  mailboxes?: ApiKeyMailboxAccess | null | undefined;
1012
1036
  /**
1013
- * Confines the key to one namespace: it reaches only that namespace's mailboxes. A key scoped to a namespace or to listed mailboxes holds mailbox access only.
1037
+ * Confines the key to one namespace: it reaches only that namespace's domains, senders, numbers, mailboxes, contacts, templates, and messages, never organization-level ones, and only endpoints that confine to a namespace (others answer 403). It holds grants only on `mailboxes`, `messages`, `email`, `domains`, `contacts`, and `templates`. A key scoped to listed mailboxes holds mailbox access only.
1014
1038
  */
1015
1039
  namespaceId?: NamespaceId | null | undefined;
1016
1040
  };
@@ -1370,7 +1394,6 @@ export type BrandList = {
1370
1394
  items: Array<Brand>;
1371
1395
  };
1372
1396
  export type TemplateProjectId = string;
1373
- export type TemplateId = string;
1374
1397
  export type TemplateInputContractId = string;
1375
1398
  export type TemplateInputContractPage = {
1376
1399
  items: Array<{
@@ -1420,6 +1443,10 @@ export type Template = {
1420
1443
  name: string;
1421
1444
  channel: "email";
1422
1445
  projectId: TemplateProjectId;
1446
+ /**
1447
+ * The namespace the template's project belongs to; every entry in a project shares it. Null at organization level. A namespace-scoped key reaches only its own namespace's templates.
1448
+ */
1449
+ namespaceId: NamespaceId | null;
1423
1450
  entryPath: string;
1424
1451
  status: "draft" | "pending" | "approved" | "published" | "rejected" | "archived";
1425
1452
  isActive: boolean;
@@ -1498,6 +1525,10 @@ export type CreateTemplatePayload = {
1498
1525
  description?: string | null | null | undefined;
1499
1526
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
1500
1527
  isActive?: boolean | null | undefined;
1528
+ /**
1529
+ * The namespace the new template project belongs to; the project and every entry added to it share it. Omit for organization level. A namespace-scoped key always creates in its own namespace.
1530
+ */
1531
+ namespaceId?: NamespaceId | null | undefined;
1501
1532
  idempotencyKey: string;
1502
1533
  };
1503
1534
  export type TemplateFamily = {
@@ -1534,6 +1565,10 @@ export type TemplateSummary = {
1534
1565
  name: string;
1535
1566
  channel: "email";
1536
1567
  projectId: TemplateProjectId;
1568
+ /**
1569
+ * The namespace the template's project belongs to; every entry in a project shares it. Null at organization level. A namespace-scoped key reaches only its own namespace's templates.
1570
+ */
1571
+ namespaceId: NamespaceId | null;
1537
1572
  entryPath: string;
1538
1573
  status: "draft" | "pending" | "approved" | "published" | "rejected" | "archived";
1539
1574
  isActive: boolean;
@@ -1638,9 +1673,6 @@ export type ContactConsent = {
1638
1673
  capturedAt: string;
1639
1674
  proof: JsonObject | null;
1640
1675
  };
1641
- export type JsonObject = {
1642
- [key: string]: JsonValue;
1643
- };
1644
1676
  export type ContactIdentityId = string;
1645
1677
  export type ContactGroupPage = {
1646
1678
  items: Array<{
@@ -1671,11 +1703,6 @@ export type DeliveryUnavailableError = {
1671
1703
  message: string;
1672
1704
  retryAfterSeconds: number;
1673
1705
  };
1674
- export type FlagDisabledError = {
1675
- _tag: "FlagDisabledError";
1676
- flag: string;
1677
- message: string;
1678
- };
1679
1706
  export type CampaignFooterRequiredError = {
1680
1707
  _tag: "CampaignFooterRequiredError";
1681
1708
  message: string;
@@ -2087,6 +2114,7 @@ export type ContactIdentityInput = {
2087
2114
  };
2088
2115
  export type Contact = {
2089
2116
  id: ContactId;
2117
+ namespaceId: NamespaceId | null;
2090
2118
  name: string;
2091
2119
  displayName: string | null;
2092
2120
  avatar: string | null;
@@ -2137,6 +2165,7 @@ export type ContactPage = {
2137
2165
  };
2138
2166
  export type ContactSummary = {
2139
2167
  id: ContactId;
2168
+ namespaceId: NamespaceId | null;
2140
2169
  name: string;
2141
2170
  displayName: string | null;
2142
2171
  status: "active" | "paused" | "blocked" | "archived";
@@ -2525,6 +2554,10 @@ export type EmailSenderPage = {
2525
2554
  email: string;
2526
2555
  name: string | null;
2527
2556
  domainId: EmailDomainId | null;
2557
+ /**
2558
+ * The namespace the sender belongs to, or null at organization level. A sender on a domain takes the domain's namespace.
2559
+ */
2560
+ namespaceId: NamespaceId | null;
2528
2561
  verificationStatus: "pending" | "verified" | "failed";
2529
2562
  verifiedAt: string | null;
2530
2563
  verificationToken: string | null;
@@ -2646,6 +2679,10 @@ export type EmailDomainDetailed = {
2646
2679
  priority?: number | null | undefined;
2647
2680
  }>;
2648
2681
  verifiedAt: string | null;
2682
+ /**
2683
+ * The namespace the domain belongs to, or null at organization level. Only that namespace's keys and organization-wide callers reach it.
2684
+ */
2685
+ namespaceId: NamespaceId | null;
2649
2686
  isDefault: boolean;
2650
2687
  deliverability: DeliverabilityFacts;
2651
2688
  createdAt: string;
@@ -2779,6 +2816,10 @@ export type EmailDomainPage = {
2779
2816
  phase: "dns-setup" | "provisioning" | "verifying" | "ready" | "degraded" | "failed";
2780
2817
  dkimSelector?: string | null | undefined;
2781
2818
  dkimPublicKey?: string | null | undefined;
2819
+ /**
2820
+ * The namespace the domain belongs to, or null at organization level. Only that namespace's keys and organization-wide callers reach it.
2821
+ */
2822
+ namespaceId: NamespaceId | null;
2782
2823
  isDefault: boolean;
2783
2824
  deliverability: DeliverabilityFacts;
2784
2825
  series: SendsSeries;
@@ -2842,7 +2883,7 @@ export type CampaignRecipientPage = {
2842
2883
  status: "pending" | "dispatching" | "dispatched" | "failed" | "skipped";
2843
2884
  messageId: string | null;
2844
2885
  failureReason: string | null;
2845
- skippedReason: "unsubscribed" | "blocked" | "suppressed" | "no_identity" | "inactive" | "run_cancelled" | "run_failed" | null;
2886
+ skippedReason: "unsubscribed" | "blocked" | "suppressed" | "opted_out" | "unreachable" | "no_identity" | "inactive" | "run_cancelled" | "run_failed" | null;
2846
2887
  createdAt: string;
2847
2888
  updatedAt: string;
2848
2889
  }>;
@@ -2870,6 +2911,7 @@ export type CampaignRun = {
2870
2911
  dispatchedCount: number;
2871
2912
  failedCount: number;
2872
2913
  skippedCount: number;
2914
+ skippedReasons: Array<CampaignRunSkippedReason>;
2873
2915
  estimatedCompletionAt: string | null;
2874
2916
  failureReason: string | null;
2875
2917
  holdReason: string | null;
@@ -2881,6 +2923,10 @@ export type CampaignRun = {
2881
2923
  createdAt: string;
2882
2924
  updatedAt: string;
2883
2925
  };
2926
+ export type CampaignRunSkippedReason = {
2927
+ reason: "unsubscribed" | "blocked" | "suppressed" | "opted_out" | "unreachable" | "no_identity" | "inactive" | "run_cancelled" | "run_failed";
2928
+ count: number;
2929
+ };
2884
2930
  export type CampaignPolicy = {
2885
2931
  unsubscribeGroupId?: UnsubscribeId | null | undefined;
2886
2932
  pageSize?: number | null | undefined;
@@ -3269,6 +3315,10 @@ export type MessagesListData = {
3269
3315
  conversationId?: ConversationId | null | undefined;
3270
3316
  contactId?: ContactId | null | undefined;
3271
3317
  from?: string | null | undefined;
3318
+ /**
3319
+ * Only this namespace's messages. A key scoped to a namespace always lists its own.
3320
+ */
3321
+ namespaceId?: NamespaceId | null | undefined;
3272
3322
  after?: string | null | undefined;
3273
3323
  before?: string | null | undefined;
3274
3324
  };
@@ -5050,6 +5100,7 @@ export type EmailListDomainsData = {
5050
5100
  limit?: string | null | undefined;
5051
5101
  cursor?: Cursor | null | undefined;
5052
5102
  sendable?: "true" | null | undefined;
5103
+ namespaceId?: NamespaceId | null | undefined;
5053
5104
  };
5054
5105
  url: "/v1/email/domains";
5055
5106
  };
@@ -5090,6 +5141,7 @@ export type EmailAddDomainData = {
5090
5141
  connectionId: string;
5091
5142
  zone: string;
5092
5143
  } | null | undefined;
5144
+ namespaceId?: NamespaceId | null | undefined;
5093
5145
  };
5094
5146
  path?: never;
5095
5147
  query?: never;
@@ -5108,6 +5160,10 @@ export type EmailAddDomainErrors = {
5108
5160
  * ForbiddenError
5109
5161
  */
5110
5162
  403: ForbiddenError;
5163
+ /**
5164
+ * ResourceNotFoundError
5165
+ */
5166
+ 404: ResourceNotFoundError;
5111
5167
  /**
5112
5168
  * ConflictError
5113
5169
  */
@@ -5397,6 +5453,10 @@ export type EmailDetectRegistrarErrors = {
5397
5453
  * ForbiddenError
5398
5454
  */
5399
5455
  403: ForbiddenError;
5456
+ /**
5457
+ * ResourceNotFoundError
5458
+ */
5459
+ 404: ResourceNotFoundError;
5400
5460
  /**
5401
5461
  * ValidationError
5402
5462
  */
@@ -5777,6 +5837,10 @@ export type EmailDisableCustomTrackingErrors = {
5777
5837
  * ForbiddenError
5778
5838
  */
5779
5839
  403: ForbiddenError;
5840
+ /**
5841
+ * ResourceNotFoundError
5842
+ */
5843
+ 404: ResourceNotFoundError;
5780
5844
  /**
5781
5845
  * ConflictError
5782
5846
  */
@@ -5823,6 +5887,10 @@ export type EmailGetCustomTrackingErrors = {
5823
5887
  * ForbiddenError
5824
5888
  */
5825
5889
  403: ForbiddenError;
5890
+ /**
5891
+ * ResourceNotFoundError
5892
+ */
5893
+ 404: ResourceNotFoundError;
5826
5894
  /**
5827
5895
  * ValidationError
5828
5896
  */
@@ -5863,6 +5931,10 @@ export type EmailEnableCustomTrackingErrors = {
5863
5931
  * ForbiddenError
5864
5932
  */
5865
5933
  403: ForbiddenError;
5934
+ /**
5935
+ * ResourceNotFoundError
5936
+ */
5937
+ 404: ResourceNotFoundError;
5866
5938
  /**
5867
5939
  * ConflictError
5868
5940
  */
@@ -6055,6 +6127,10 @@ export type EmailCompleteCustomTrackingDomainConnectErrors = {
6055
6127
  * ForbiddenError
6056
6128
  */
6057
6129
  403: ForbiddenError;
6130
+ /**
6131
+ * ResourceNotFoundError
6132
+ */
6133
+ 404: ResourceNotFoundError;
6058
6134
  /**
6059
6135
  * ValidationError
6060
6136
  */
@@ -6085,6 +6161,7 @@ export type EmailListSendersData = {
6085
6161
  verificationStatus?: "pending" | "verified" | "failed" | null | undefined;
6086
6162
  isActive?: string | null | undefined;
6087
6163
  isDefault?: string | null | undefined;
6164
+ namespaceId?: NamespaceId | null | undefined;
6088
6165
  };
6089
6166
  url: "/v1/email/senders";
6090
6167
  };
@@ -6124,6 +6201,7 @@ export type EmailAddSenderData = {
6124
6201
  domainId?: EmailDomainId | null | undefined;
6125
6202
  name?: string | null | null | undefined;
6126
6203
  replyToEmails?: Array<string> | null | null | undefined;
6204
+ namespaceId?: NamespaceId | null | undefined;
6127
6205
  };
6128
6206
  headers: {
6129
6207
  "idempotency-key": string;
@@ -6319,6 +6397,10 @@ export type EmailGetSenderResponses = {
6319
6397
  email: string;
6320
6398
  name: string | null;
6321
6399
  domainId: EmailDomainId | null;
6400
+ /**
6401
+ * The namespace the sender belongs to, or null at organization level. A sender on a domain takes the domain's namespace.
6402
+ */
6403
+ namespaceId: NamespaceId | null;
6322
6404
  verificationStatus: "pending" | "verified" | "failed";
6323
6405
  verifiedAt: string | null;
6324
6406
  verificationToken: string | null;
@@ -8674,6 +8756,7 @@ export type ContactsListData = {
8674
8756
  query?: {
8675
8757
  limit?: string | null | undefined;
8676
8758
  cursor?: Cursor | null | undefined;
8759
+ namespaceId?: NamespaceId | null | undefined;
8677
8760
  search?: string | null | undefined;
8678
8761
  status?: "active" | "paused" | "blocked" | "archived" | null | undefined;
8679
8762
  fields?: string | null | undefined;
@@ -8716,6 +8799,7 @@ export type ContactsListResponses = {
8716
8799
  export type ContactsListResponse = ContactsListResponses[keyof ContactsListResponses];
8717
8800
  export type ContactsCreateData = {
8718
8801
  body: {
8802
+ namespaceId?: NamespaceId | null | undefined;
8719
8803
  name: string;
8720
8804
  displayName?: string | null | null | undefined;
8721
8805
  avatar?: string | null | null | undefined;
@@ -8745,6 +8829,10 @@ export type ContactsCreateErrors = {
8745
8829
  * ForbiddenError
8746
8830
  */
8747
8831
  403: ForbiddenError;
8832
+ /**
8833
+ * ResourceNotFoundError
8834
+ */
8835
+ 404: ResourceNotFoundError;
8748
8836
  /**
8749
8837
  * ConflictError
8750
8838
  */
@@ -8776,6 +8864,7 @@ export type ContactsCreateResponses = {
8776
8864
  export type ContactsCreateResponse = ContactsCreateResponses[keyof ContactsCreateResponses];
8777
8865
  export type ContactsFindData = {
8778
8866
  body: {
8867
+ namespaceId?: NamespaceId | null | undefined;
8779
8868
  email?: string | null | undefined;
8780
8869
  phone?: string | null | undefined;
8781
8870
  externalId?: string | null | undefined;
@@ -8793,6 +8882,10 @@ export type ContactsFindErrors = {
8793
8882
  * ForbiddenError
8794
8883
  */
8795
8884
  403: ForbiddenError;
8885
+ /**
8886
+ * ResourceNotFoundError
8887
+ */
8888
+ 404: ResourceNotFoundError;
8796
8889
  /**
8797
8890
  * ConflictError
8798
8891
  */
@@ -8820,6 +8913,7 @@ export type ContactsFindResponses = {
8820
8913
  export type ContactsFindResponse = ContactsFindResponses[keyof ContactsFindResponses];
8821
8914
  export type ContactsFindOrCreateData = {
8822
8915
  body: {
8916
+ namespaceId?: NamespaceId | null | undefined;
8823
8917
  lookup: ContactLookup;
8824
8918
  create?: {
8825
8919
  name?: string | null | undefined;
@@ -8847,6 +8941,10 @@ export type ContactsFindOrCreateErrors = {
8847
8941
  * ForbiddenError
8848
8942
  */
8849
8943
  403: ForbiddenError;
8944
+ /**
8945
+ * ResourceNotFoundError
8946
+ */
8947
+ 404: ResourceNotFoundError;
8850
8948
  /**
8851
8949
  * ConflictError
8852
8950
  */
@@ -9315,6 +9413,7 @@ export type ContactsGetEngagementResponses = {
9315
9413
  export type ContactsGetEngagementResponse = ContactsGetEngagementResponses[keyof ContactsGetEngagementResponses];
9316
9414
  export type ContactsBulkImportData = {
9317
9415
  body: {
9416
+ namespaceId?: NamespaceId | null | undefined;
9318
9417
  contacts: Array<{
9319
9418
  name: string;
9320
9419
  displayName?: string | null | null | undefined;
@@ -9347,6 +9446,10 @@ export type ContactsBulkImportErrors = {
9347
9446
  * ForbiddenError
9348
9447
  */
9349
9448
  403: ForbiddenError;
9449
+ /**
9450
+ * ResourceNotFoundError
9451
+ */
9452
+ 404: ResourceNotFoundError;
9350
9453
  /**
9351
9454
  * ValidationError
9352
9455
  */
@@ -9859,9 +9962,9 @@ export type JourneysCreateErrors = {
9859
9962
  */
9860
9963
  402: PaymentRequiredError;
9861
9964
  /**
9862
- * ForbiddenError
9965
+ * FlagDisabledError | ForbiddenError
9863
9966
  */
9864
- 403: ForbiddenError;
9967
+ 403: FlagDisabledError | ForbiddenError;
9865
9968
  /**
9866
9969
  * ResourceNotFoundError
9867
9970
  */
@@ -10048,9 +10151,9 @@ export type JourneysReplaceDraftErrors = {
10048
10151
  */
10049
10152
  402: PaymentRequiredError;
10050
10153
  /**
10051
- * ForbiddenError
10154
+ * FlagDisabledError | ForbiddenError
10052
10155
  */
10053
- 403: ForbiddenError;
10156
+ 403: FlagDisabledError | ForbiddenError;
10054
10157
  /**
10055
10158
  * ResourceNotFoundError
10056
10159
  */
@@ -10104,9 +10207,9 @@ export type JourneysPublishErrors = {
10104
10207
  */
10105
10208
  402: PaymentRequiredError;
10106
10209
  /**
10107
- * ForbiddenError
10210
+ * FlagDisabledError | ForbiddenError
10108
10211
  */
10109
- 403: ForbiddenError;
10212
+ 403: FlagDisabledError | ForbiddenError;
10110
10213
  /**
10111
10214
  * ResourceNotFoundError
10112
10215
  */
@@ -10204,9 +10307,9 @@ export type JourneysResumeErrors = {
10204
10307
  */
10205
10308
  402: PaymentRequiredError;
10206
10309
  /**
10207
- * ForbiddenError
10310
+ * FlagDisabledError | ForbiddenError
10208
10311
  */
10209
- 403: ForbiddenError;
10312
+ 403: FlagDisabledError | ForbiddenError;
10210
10313
  /**
10211
10314
  * ResourceNotFoundError
10212
10315
  */
@@ -12016,6 +12119,10 @@ export type TemplatesListData = {
12016
12119
  status?: "draft" | "pending" | "approved" | "published" | "rejected" | "archived" | null | undefined;
12017
12120
  search?: string | null | undefined;
12018
12121
  projectId?: TemplateProjectId | null | undefined;
12122
+ /**
12123
+ * Only templates in this namespace. A namespace-scoped key lists its own namespace's templates only.
12124
+ */
12125
+ namespaceId?: NamespaceId | null | undefined;
12019
12126
  };
12020
12127
  url: "/v1/templates";
12021
12128
  };
@@ -12059,6 +12166,10 @@ export type TemplatesCreateData = {
12059
12166
  description?: string | null | null | undefined;
12060
12167
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
12061
12168
  isActive?: boolean | null | undefined;
12169
+ /**
12170
+ * The namespace the new template project belongs to; the project and every entry added to it share it. Omit for organization level. A namespace-scoped key always creates in its own namespace.
12171
+ */
12172
+ namespaceId?: NamespaceId | null | undefined;
12062
12173
  idempotencyKey: string;
12063
12174
  };
12064
12175
  path?: never;
@@ -12074,6 +12185,10 @@ export type TemplatesCreateErrors = {
12074
12185
  * ForbiddenError
12075
12186
  */
12076
12187
  403: ForbiddenError;
12188
+ /**
12189
+ * ResourceNotFoundError
12190
+ */
12191
+ 404: ResourceNotFoundError;
12077
12192
  /**
12078
12193
  * ConflictError
12079
12194
  */
@@ -16233,9 +16348,9 @@ export type MailboxesCreateErrors = {
16233
16348
  */
16234
16349
  402: PaymentRequiredError;
16235
16350
  /**
16236
- * ForbiddenError
16351
+ * FlagDisabledError | ForbiddenError
16237
16352
  */
16238
- 403: ForbiddenError;
16353
+ 403: FlagDisabledError | ForbiddenError;
16239
16354
  /**
16240
16355
  * ResourceNotFoundError
16241
16356
  */
@@ -16245,9 +16360,9 @@ export type MailboxesCreateErrors = {
16245
16360
  */
16246
16361
  409: ConflictError;
16247
16362
  /**
16248
- * ValidationError | MailboxChannelUnsupportedError
16363
+ * ValidationError
16249
16364
  */
16250
- 422: ValidationError | MailboxChannelUnsupportedError;
16365
+ 422: ValidationError;
16251
16366
  /**
16252
16367
  * InternalError
16253
16368
  */
@@ -16420,9 +16535,9 @@ export type MailboxesCreateEndpointErrors = {
16420
16535
  */
16421
16536
  401: UnauthorizedError;
16422
16537
  /**
16423
- * ForbiddenError
16538
+ * FlagDisabledError | ForbiddenError
16424
16539
  */
16425
- 403: ForbiddenError;
16540
+ 403: FlagDisabledError | ForbiddenError;
16426
16541
  /**
16427
16542
  * ResourceNotFoundError
16428
16543
  */
@@ -16432,9 +16547,9 @@ export type MailboxesCreateEndpointErrors = {
16432
16547
  */
16433
16548
  409: ConflictError;
16434
16549
  /**
16435
- * ValidationError | MailboxChannelUnsupportedError
16550
+ * ValidationError
16436
16551
  */
16437
- 422: ValidationError | MailboxChannelUnsupportedError;
16552
+ 422: ValidationError;
16438
16553
  /**
16439
16554
  * InternalError
16440
16555
  */
@@ -17855,9 +17970,9 @@ export type MailboxesSendMessageErrors = {
17855
17970
  */
17856
17971
  402: PaymentRequiredError;
17857
17972
  /**
17858
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
17973
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
17859
17974
  */
17860
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
17975
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
17861
17976
  /**
17862
17977
  * ResourceNotFoundError
17863
17978
  */
@@ -17867,9 +17982,9 @@ export type MailboxesSendMessageErrors = {
17867
17982
  */
17868
17983
  409: MailboxSendConflictError | ConflictError;
17869
17984
  /**
17870
- * MailboxChannelUnsupportedError | ValidationError
17985
+ * Samva API operation.
17871
17986
  */
17872
- 422: MailboxChannelUnsupportedError | ValidationError;
17987
+ 422: ValidationError;
17873
17988
  /**
17874
17989
  * RateLimitedError
17875
17990
  */
@@ -18110,9 +18225,9 @@ export type MailboxesReplyErrors = {
18110
18225
  */
18111
18226
  402: PaymentRequiredError;
18112
18227
  /**
18113
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18228
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18114
18229
  */
18115
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18230
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18116
18231
  /**
18117
18232
  * ResourceNotFoundError
18118
18233
  */
@@ -18122,9 +18237,9 @@ export type MailboxesReplyErrors = {
18122
18237
  */
18123
18238
  409: MailboxSendConflictError | ConflictError;
18124
18239
  /**
18125
- * MailboxChannelUnsupportedError | ValidationError
18240
+ * Samva API operation.
18126
18241
  */
18127
- 422: MailboxChannelUnsupportedError | ValidationError;
18242
+ 422: ValidationError;
18128
18243
  /**
18129
18244
  * RateLimitedError
18130
18245
  */
@@ -18187,9 +18302,9 @@ export type MailboxesReplyAllErrors = {
18187
18302
  */
18188
18303
  402: PaymentRequiredError;
18189
18304
  /**
18190
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18305
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18191
18306
  */
18192
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18307
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18193
18308
  /**
18194
18309
  * ResourceNotFoundError
18195
18310
  */
@@ -18199,9 +18314,9 @@ export type MailboxesReplyAllErrors = {
18199
18314
  */
18200
18315
  409: MailboxSendConflictError | ConflictError;
18201
18316
  /**
18202
- * MailboxChannelUnsupportedError | ValidationError
18317
+ * Samva API operation.
18203
18318
  */
18204
- 422: MailboxChannelUnsupportedError | ValidationError;
18319
+ 422: ValidationError;
18205
18320
  /**
18206
18321
  * RateLimitedError
18207
18322
  */
@@ -18264,9 +18379,9 @@ export type MailboxesForwardErrors = {
18264
18379
  */
18265
18380
  402: PaymentRequiredError;
18266
18381
  /**
18267
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18382
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18268
18383
  */
18269
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18384
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18270
18385
  /**
18271
18386
  * ResourceNotFoundError
18272
18387
  */
@@ -18276,9 +18391,9 @@ export type MailboxesForwardErrors = {
18276
18391
  */
18277
18392
  409: MailboxSendConflictError | ConflictError;
18278
18393
  /**
18279
- * MailboxChannelUnsupportedError | ValidationError
18394
+ * Samva API operation.
18280
18395
  */
18281
- 422: MailboxChannelUnsupportedError | ValidationError;
18396
+ 422: ValidationError;
18282
18397
  /**
18283
18398
  * RateLimitedError
18284
18399
  */
@@ -18537,9 +18652,9 @@ export type MailboxesCreateDraftErrors = {
18537
18652
  */
18538
18653
  404: ResourceNotFoundError;
18539
18654
  /**
18540
- * MailboxChannelUnsupportedError | ValidationError
18655
+ * ValidationError
18541
18656
  */
18542
- 422: MailboxChannelUnsupportedError | ValidationError;
18657
+ 422: ValidationError;
18543
18658
  /**
18544
18659
  * InternalError
18545
18660
  */
@@ -18721,9 +18836,9 @@ export type MailboxesSendDraftErrors = {
18721
18836
  */
18722
18837
  402: PaymentRequiredError;
18723
18838
  /**
18724
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18839
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18725
18840
  */
18726
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18841
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18727
18842
  /**
18728
18843
  * ResourceNotFoundError
18729
18844
  */
@@ -18733,9 +18848,9 @@ export type MailboxesSendDraftErrors = {
18733
18848
  */
18734
18849
  409: MailboxSendConflictError | ConflictError;
18735
18850
  /**
18736
- * MailboxChannelUnsupportedError | ValidationError
18851
+ * Samva API operation.
18737
18852
  */
18738
- 422: MailboxChannelUnsupportedError | ValidationError;
18853
+ 422: ValidationError;
18739
18854
  /**
18740
18855
  * RateLimitedError
18741
18856
  */
@@ -18880,9 +18995,9 @@ export type MailboxesCancelActionErrors = {
18880
18995
  */
18881
18996
  402: PaymentRequiredError;
18882
18997
  /**
18883
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18998
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18884
18999
  */
18885
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
19000
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18886
19001
  /**
18887
19002
  * ResourceNotFoundError
18888
19003
  */
@@ -18892,9 +19007,9 @@ export type MailboxesCancelActionErrors = {
18892
19007
  */
18893
19008
  409: MailboxSendConflictError | ConflictError;
18894
19009
  /**
18895
- * MailboxChannelUnsupportedError | ValidationError
19010
+ * Samva API operation.
18896
19011
  */
18897
- 422: MailboxChannelUnsupportedError | ValidationError;
19012
+ 422: ValidationError;
18898
19013
  /**
18899
19014
  * RateLimitedError
18900
19015
  */
@@ -18947,9 +19062,9 @@ export type MailboxesRetryActionErrors = {
18947
19062
  */
18948
19063
  402: PaymentRequiredError;
18949
19064
  /**
18950
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
19065
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
18951
19066
  */
18952
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
19067
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
18953
19068
  /**
18954
19069
  * ResourceNotFoundError
18955
19070
  */
@@ -18959,9 +19074,9 @@ export type MailboxesRetryActionErrors = {
18959
19074
  */
18960
19075
  409: MailboxSendConflictError | ConflictError;
18961
19076
  /**
18962
- * MailboxChannelUnsupportedError | ValidationError
19077
+ * Samva API operation.
18963
19078
  */
18964
- 422: MailboxChannelUnsupportedError | ValidationError;
19079
+ 422: ValidationError;
18965
19080
  /**
18966
19081
  * RateLimitedError
18967
19082
  */
@@ -19014,9 +19129,9 @@ export type MailboxesApproveActionErrors = {
19014
19129
  */
19015
19130
  402: PaymentRequiredError;
19016
19131
  /**
19017
- * MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
19132
+ * FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError
19018
19133
  */
19019
- 403: MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
19134
+ 403: FlagDisabledError | MailboxSendRefusedError | OnboardingReviewRequiredError | ForbiddenError;
19020
19135
  /**
19021
19136
  * ResourceNotFoundError
19022
19137
  */
@@ -19026,9 +19141,9 @@ export type MailboxesApproveActionErrors = {
19026
19141
  */
19027
19142
  409: MailboxSendConflictError | ConflictError;
19028
19143
  /**
19029
- * MailboxChannelUnsupportedError | ValidationError
19144
+ * Samva API operation.
19030
19145
  */
19031
- 422: MailboxChannelUnsupportedError | ValidationError;
19146
+ 422: ValidationError;
19032
19147
  /**
19033
19148
  * RateLimitedError
19034
19149
  */
@@ -19381,6 +19496,151 @@ export type NamespacesUpdateResponses = {
19381
19496
  200: Namespace;
19382
19497
  };
19383
19498
  export type NamespacesUpdateResponse = NamespacesUpdateResponses[keyof NamespacesUpdateResponses];
19499
+ export type NamespacesAssignResourceData = {
19500
+ body: {
19501
+ type: NamespaceResourceType;
19502
+ /**
19503
+ * The resource's id, such as `dom_...` for a domain.
19504
+ */
19505
+ resourceId: string;
19506
+ };
19507
+ path: {
19508
+ id: NamespaceId;
19509
+ };
19510
+ query?: never;
19511
+ url: "/v1/namespaces/{id}/resources";
19512
+ };
19513
+ export type NamespacesAssignResourceErrors = {
19514
+ /**
19515
+ * UnauthorizedError
19516
+ */
19517
+ 401: UnauthorizedError;
19518
+ /**
19519
+ * ForbiddenError
19520
+ */
19521
+ 403: ForbiddenError;
19522
+ /**
19523
+ * ResourceNotFoundError
19524
+ */
19525
+ 404: ResourceNotFoundError;
19526
+ /**
19527
+ * ConflictError
19528
+ */
19529
+ 409: ConflictError;
19530
+ /**
19531
+ * ValidationError
19532
+ */
19533
+ 422: ValidationError;
19534
+ /**
19535
+ * InternalError
19536
+ */
19537
+ 500: InternalError;
19538
+ /**
19539
+ * GatewayTimeoutError
19540
+ */
19541
+ 504: GatewayTimeoutError;
19542
+ };
19543
+ export type NamespacesAssignResourceError = NamespacesAssignResourceErrors[keyof NamespacesAssignResourceErrors];
19544
+ export type NamespacesAssignResourceResponses = {
19545
+ /**
19546
+ * NamespaceResource
19547
+ */
19548
+ 200: NamespaceResource;
19549
+ };
19550
+ export type NamespacesAssignResourceResponse = NamespacesAssignResourceResponses[keyof NamespacesAssignResourceResponses];
19551
+ export type NamespacesRemoveResourceData = {
19552
+ body?: never;
19553
+ path: {
19554
+ id: NamespaceId;
19555
+ type: NamespaceResourceType;
19556
+ resourceId: string;
19557
+ };
19558
+ query?: never;
19559
+ url: "/v1/namespaces/{id}/resources/{type}/{resourceId}";
19560
+ };
19561
+ export type NamespacesRemoveResourceErrors = {
19562
+ /**
19563
+ * UnauthorizedError
19564
+ */
19565
+ 401: UnauthorizedError;
19566
+ /**
19567
+ * ForbiddenError
19568
+ */
19569
+ 403: ForbiddenError;
19570
+ /**
19571
+ * ResourceNotFoundError
19572
+ */
19573
+ 404: ResourceNotFoundError;
19574
+ /**
19575
+ * ConflictError
19576
+ */
19577
+ 409: ConflictError;
19578
+ /**
19579
+ * ValidationError
19580
+ */
19581
+ 422: ValidationError;
19582
+ /**
19583
+ * InternalError
19584
+ */
19585
+ 500: InternalError;
19586
+ /**
19587
+ * GatewayTimeoutError
19588
+ */
19589
+ 504: GatewayTimeoutError;
19590
+ };
19591
+ export type NamespacesRemoveResourceError = NamespacesRemoveResourceErrors[keyof NamespacesRemoveResourceErrors];
19592
+ export type NamespacesRemoveResourceResponses = {
19593
+ /**
19594
+ * NamespaceResource
19595
+ */
19596
+ 200: NamespaceResource;
19597
+ };
19598
+ export type NamespacesRemoveResourceResponse = NamespacesRemoveResourceResponses[keyof NamespacesRemoveResourceResponses];
19599
+ export type NamespacesGetUsageData = {
19600
+ body?: never;
19601
+ path: {
19602
+ id: NamespaceId;
19603
+ };
19604
+ query?: {
19605
+ after?: string | null | undefined;
19606
+ before?: string | null | undefined;
19607
+ };
19608
+ url: "/v1/namespaces/{id}/usage";
19609
+ };
19610
+ export type NamespacesGetUsageErrors = {
19611
+ /**
19612
+ * UnauthorizedError
19613
+ */
19614
+ 401: UnauthorizedError;
19615
+ /**
19616
+ * ForbiddenError
19617
+ */
19618
+ 403: ForbiddenError;
19619
+ /**
19620
+ * ResourceNotFoundError
19621
+ */
19622
+ 404: ResourceNotFoundError;
19623
+ /**
19624
+ * ValidationError
19625
+ */
19626
+ 422: ValidationError;
19627
+ /**
19628
+ * InternalError
19629
+ */
19630
+ 500: InternalError;
19631
+ /**
19632
+ * GatewayTimeoutError
19633
+ */
19634
+ 504: GatewayTimeoutError;
19635
+ };
19636
+ export type NamespacesGetUsageError = NamespacesGetUsageErrors[keyof NamespacesGetUsageErrors];
19637
+ export type NamespacesGetUsageResponses = {
19638
+ /**
19639
+ * NamespaceUsage
19640
+ */
19641
+ 200: NamespaceUsage;
19642
+ };
19643
+ export type NamespacesGetUsageResponse = NamespacesGetUsageResponses[keyof NamespacesGetUsageResponses];
19384
19644
  export type ExtensionsListData = {
19385
19645
  body?: never;
19386
19646
  path?: never;