samva 0.5.0 → 0.7.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 (65) hide show
  1. package/AGENTS.md +3 -2
  2. package/README.md +14 -4
  3. package/dist/{categories-B9Nw2v_F.js → categories-DvsHUJtX.js} +32 -8
  4. package/dist/client/sdk.gen.d.ts +493 -88
  5. package/dist/client/types.gen.d.ts +3136 -416
  6. package/dist/{client-B7gEkvEq.js → client-5O8KsY5Z.js} +2638 -902
  7. package/dist/{client-attribution-B2yJBXdZ.js → client-attribution-27MNycCV.js} +2 -2
  8. package/dist/effect/analytics.d.ts +66 -0
  9. package/dist/effect/analytics.js +21 -0
  10. package/dist/effect/api-keys.d.ts +198 -34
  11. package/dist/effect/api-keys.js +1 -1
  12. package/dist/effect/attachments.d.ts +53 -0
  13. package/dist/effect/attachments.js +17 -0
  14. package/dist/effect/brands.d.ts +212 -0
  15. package/dist/effect/brands.js +24 -0
  16. package/dist/effect/campaigns.d.ts +36 -18
  17. package/dist/effect/campaigns.js +1 -1
  18. package/dist/effect/categories.d.ts +3 -3
  19. package/dist/effect/categories.js +1 -1
  20. package/dist/effect/client.js +1 -1
  21. package/dist/effect/contact-groups.d.ts +375 -0
  22. package/dist/effect/contact-groups.js +29 -0
  23. package/dist/effect/contacts.d.ts +35 -19
  24. package/dist/effect/contacts.js +1 -1
  25. package/dist/effect/conversations.d.ts +188 -47
  26. package/dist/effect/conversations.js +1 -1
  27. package/dist/effect/custom-fields.d.ts +111 -0
  28. package/dist/effect/custom-fields.js +17 -0
  29. package/dist/effect/email.d.ts +268 -121
  30. package/dist/effect/email.js +2 -2
  31. package/dist/effect/generated-metadata.d.ts +20 -4
  32. package/dist/effect/generated.d.ts +13934 -7968
  33. package/dist/effect/index.d.ts +7 -2
  34. package/dist/effect/index.js +9 -4
  35. package/dist/effect/internal/operation.d.ts +121 -27
  36. package/dist/effect/media.d.ts +5 -5
  37. package/dist/effect/media.js +1 -1
  38. package/dist/effect/messages.d.ts +319 -73
  39. package/dist/effect/messages.js +1 -1
  40. package/dist/effect/operations.d.ts +6 -6
  41. package/dist/effect/operations.js +1 -1
  42. package/dist/effect/organizations.d.ts +7 -374
  43. package/dist/effect/organizations.js +2 -4
  44. package/dist/effect/retry.js +1 -1
  45. package/dist/effect/scheduled-messages.d.ts +7 -7
  46. package/dist/effect/scheduled-messages.js +1 -1
  47. package/dist/effect/templates.d.ts +263 -305
  48. package/dist/effect/templates.js +7 -5
  49. package/dist/effect/unsubscribe-groups.d.ts +161 -0
  50. package/dist/effect/unsubscribe-groups.js +25 -0
  51. package/dist/effect/webhooks.d.ts +18 -18
  52. package/dist/effect/webhooks.js +2 -2
  53. package/dist/index.js +2 -2
  54. package/dist/{normalize-BiIJnycv.js → normalize-B79uJIeb.js} +13 -14
  55. package/dist/normalize.d.ts +3 -7
  56. package/dist/{operation-B4FjN6wq.js → operation-Cb5V9FJ7.js} +123 -11
  57. package/dist/promises/errors.gen.d.ts +50 -43
  58. package/dist/promises/index.d.ts +20 -6
  59. package/dist/promises/index.js +2 -2
  60. package/dist/promises/types.gen.d.ts +1 -1
  61. package/dist/{promises-CP_nxUus.js → promises-C2yyw-pf.js} +1582 -368
  62. package/dist/service-map.d.ts +189 -12
  63. package/package.json +32 -12
  64. package/dist/effect/design.d.ts +0 -209
  65. package/dist/effect/design.js +0 -13
@@ -1,5 +1,5 @@
1
1
  import { type Client, type ClientMeta, type Options as Options2, type RequestResult, type TDataShape } from "./client";
2
- import type { ActorTracking, ApiKeyId, ApiKeyPermissions, ApiKeysCreateErrors, ApiKeysCreateResponses, ApiKeysGetActivityErrors, ApiKeysGetActivityResponses, ApiKeysGetErrors, ApiKeysGetResponses, ApiKeysGetStatsErrors, ApiKeysGetStatsResponses, ApiKeysListErrors, ApiKeysListResponses, ApiKeysRemoveErrors, ApiKeysRemoveResponses, ApiKeysRevokeErrors, ApiKeysRevokeResponses, ApiKeysRotateErrors, ApiKeysRotateResponses, ApiKeysUpdateErrors, ApiKeysUpdateResponses, BlockedEmailId, CampaignAudience, CampaignContentInput, CampaignId, CampaignPolicy, CampaignRunId, CampaignsArchiveErrors, CampaignsArchiveResponses, CampaignsCancelRunErrors, CampaignsCancelRunResponses, CampaignsCreateErrors, CampaignsCreateResponses, CampaignsGetErrors, CampaignsGetResponses, CampaignsGetRunErrors, CampaignsGetRunResponses, CampaignsListErrors, CampaignsListRecipientsErrors, CampaignsListRecipientsResponses, CampaignsListResponses, CampaignsListRunsErrors, CampaignsListRunsResponses, CampaignsPauseRunErrors, CampaignsPauseRunResponses, CampaignsResumeRunErrors, CampaignsResumeRunResponses, CampaignsScheduleRunErrors, CampaignsScheduleRunResponses, CampaignsUpdateErrors, CampaignsUpdateResponses, ContactAccessConfig, ContactId, ContactIdentity, ContactPreferences, ContactsBulkDeleteErrors, ContactsBulkDeleteResponses, ContactsBulkImportErrors, ContactsBulkImportResponses, ContactsBulkUpdateStatusErrors, ContactsBulkUpdateStatusResponses, ContactsBulkUpdateTagsErrors, ContactsBulkUpdateTagsResponses, ContactsCreateErrors, ContactsCreateResponses, ContactsExportErrors, ContactsExportResponses, ContactsFindErrors, ContactsFindOrCreateErrors, ContactsFindOrCreateResponses, ContactsFindResponses, ContactsGetActivityTimelineErrors, ContactsGetActivityTimelineResponses, ContactsGetEngagementErrors, ContactsGetEngagementResponses, ContactsGetErrors, ContactsGetGroupMembershipsErrors, ContactsGetGroupMembershipsResponses, ContactsGetResponses, ContactsListErrors, ContactsListResponses, ContactsRemoveErrors, ContactsRemoveResponses, ContactsUpdateErrors, ContactsUpdateResponses, ConversationContext, ConversationId, ConversationMetadata, ConversationMetrics, ConversationsAddContactsErrors, ConversationsAddContactsResponses, ConversationsCreateErrors, ConversationsCreateResponses, ConversationsGetByIdErrors, ConversationsGetByIdResponses, ConversationsListErrors, ConversationsListMessagesErrors, ConversationsListMessagesResponses, ConversationsListResponses, ConversationsRemoveContactsErrors, ConversationsRemoveContactsResponses, ConversationsUpdateErrors, ConversationsUpdateResponses, Design as Design3, DesignGetErrors, DesignGetResponses, DesignUpdateErrors, DesignUpdateResponses, DispatchSendMessagePayload, EmailAddBlockErrors, EmailAddBlockResponses, EmailAddDomainErrors, EmailAddDomainResponses, EmailAddSenderErrors, EmailAddSenderResponses, EmailAdvanceDomainVerificationErrors, EmailAdvanceDomainVerificationResponses, EmailBccRecipients, EmailBuildCustomTrackingDomainConnectApplyUrlErrors, EmailBuildCustomTrackingDomainConnectApplyUrlResponses, EmailBuildDomainConnectApplyUrlErrors, EmailBuildDomainConnectApplyUrlResponses, EmailCancelDomainWarmingBatchErrors, EmailCancelDomainWarmingBatchResponses, EmailCcRecipients, EmailCheckBlockedErrors, EmailCheckBlockedResponses, EmailCheckSenderVerificationErrors, EmailCheckSenderVerificationResponses, EmailClearDomainDefaultSenderErrors, EmailClearDomainDefaultSenderResponses, EmailCompleteCustomTrackingDomainConnectErrors, EmailCompleteCustomTrackingDomainConnectResponses, EmailCompleteDomainConnectErrors, EmailCompleteDomainConnectResponses, EmailCompleteDomainWarmingErrors, EmailCompleteDomainWarmingResponses, EmailContent, EmailCreateDomainWarmingPlanErrors, EmailCreateDomainWarmingPlanResponses, EmailCreateForwardingRuleErrors, EmailCreateForwardingRuleResponses, EmailDeleteForwardingRuleErrors, EmailDeleteForwardingRuleResponses, EmailDetectRegistrarErrors, EmailDetectRegistrarResponses, EmailDisableCatchAllErrors, EmailDisableCatchAllResponses, EmailDisableCustomTrackingErrors, EmailDisableCustomTrackingResponses, EmailDomainId, EmailDomainWarmingBatchId, EmailEnableCatchAllErrors, EmailEnableCatchAllResponses, EmailEnableCustomTrackingErrors, EmailEnableCustomTrackingResponses, EmailEnableReceivingErrors, EmailEnableReceivingResponses, EmailForwardingRuleId, EmailGetBlockLogsErrors, EmailGetBlockLogsResponses, EmailGetCatchAllConfigErrors, EmailGetCatchAllConfigResponses, EmailGetCatchAllStatsErrors, EmailGetCatchAllStatsResponses, EmailGetCustomTrackingDomainConnectErrors, EmailGetCustomTrackingDomainConnectResponses, EmailGetCustomTrackingErrors, EmailGetCustomTrackingResponses, EmailGetDomainByIdErrors, EmailGetDomainByIdResponses, EmailGetDomainConnectErrors, EmailGetDomainConnectResponses, EmailGetDomainVerificationErrors, EmailGetDomainVerificationResponses, EmailGetDomainWarmingErrors, EmailGetDomainWarmingResponses, EmailGetForwardingLogErrors, EmailGetForwardingLogResponses, EmailGetOnboardingReviewErrors, EmailGetOnboardingReviewResponses, EmailGetRecipientTrackingPreferenceErrors, EmailGetRecipientTrackingPreferenceResponses, EmailGetSenderErrors, EmailGetSenderResponses, EmailGetStatsErrors, EmailGetStatsResponses, EmailGetTrackingDefaultsErrors, EmailGetTrackingDefaultsResponses, EmailListBlocksErrors, EmailListBlocksResponses, EmailListDomainsErrors, EmailListDomainsResponses, EmailListForwardingRulesErrors, EmailListForwardingRulesResponses, EmailListSendersErrors, EmailListSendersResponses, EmailListSuppressionsErrors, EmailListSuppressionsResponses, EmailPauseDomainWarmingErrors, EmailPauseDomainWarmingResponses, EmailReapplyOnboardingReviewErrors, EmailReapplyOnboardingReviewResponses, EmailRecipients, EmailRemoveBlockErrors, EmailRemoveBlockResponses, EmailRemoveDomainErrors, EmailRemoveDomainResponses, EmailRemoveSenderErrors, EmailRemoveSenderResponses, EmailRemoveSuppressionErrors, EmailRemoveSuppressionResponses, EmailRespondToOnboardingInformationRequestErrors, EmailRespondToOnboardingInformationRequestResponses, EmailResumeDomainWarmingErrors, EmailResumeDomainWarmingResponses, EmailRotateDomainDkimErrors, EmailRotateDomainDkimResponses, EmailSender, EmailSenderId, EmailSendMessagePayload, EmailSetDefaultDomainErrors, EmailSetDefaultDomainResponses, EmailSetDefaultSenderErrors, EmailSetDefaultSenderResponses, EmailSetDomainDefaultSenderErrors, EmailSetDomainDefaultSenderResponses, EmailUpdateBlockErrors, EmailUpdateBlockResponses, EmailUpdateCatchAllConfigErrors, EmailUpdateCatchAllConfigResponses, EmailUpdateDomainConfigErrors, EmailUpdateDomainConfigResponses, EmailUpdateDomainWarmingPolicyErrors, EmailUpdateDomainWarmingPolicyResponses, EmailUpdateForwardingRuleErrors, EmailUpdateForwardingRuleResponses, EmailUpdateRecipientTrackingPreferenceErrors, EmailUpdateRecipientTrackingPreferenceResponses, EmailUpdateTrackingDefaultsErrors, EmailUpdateTrackingDefaultsResponses, ForwardingConditions, HumanProfile, IanaTimezone, JsonObject, JsonValue, MediaCompleteErrors, MediaCompleteResponses, MediaCreateErrors, MediaCreateResponses, MediaDownloadUrlErrors, MediaDownloadUrlResponses, MediaGetByIdErrors, MediaGetByIdResponses, MediaId, MediaRemoveErrors, MediaRemoveResponses, MessageId, MessageMetadata, MessagesGetEmailErrors, MessagesGetEmailResponses, MessagesGetErrors, MessagesGetEventsErrors, MessagesGetEventsResponses, MessagesGetResponses, MessagesGetStatusErrors, MessagesGetStatusResponses, MessagesListErrors, MessagesListResponses, MessagesRemoveErrors, MessagesRemoveResponses, MessagesSendErrors, MessagesSendResponses, MessagesValidateEmailErrors, MessagesValidateEmailResponses, OperationId, OperationsGetErrors, OperationsGetResponses, OperationsListErrors, OperationsListResponses, OperationsRetryErrors, OperationsRetryResponses, OrganizationsBootstrapErrors, OrganizationsBootstrapResponses, OrganizationsCreateErrors, OrganizationsCreateResponses, OrganizationsDeleteErrors, OrganizationsDeleteResponses, OrganizationsGetErrors, OrganizationsGetResponses, OrganizationsGetUsageErrors, OrganizationsGetUsageResponses, OrganizationsUpdateErrors, OrganizationsUpdateResponses, ScheduledMessageId, ScheduledMessagesCancelErrors, ScheduledMessagesCancelResponses, ScheduledMessagesCreateErrors, ScheduledMessagesCreateResponses, ScheduledMessagesGetErrors, ScheduledMessagesGetResponses, ScheduledMessagesListErrors, ScheduledMessagesListResponses, ScheduledMessagesResumeErrors, ScheduledMessagesResumeResponses, SuppressionId, TemplateFamilyId, TemplateFromDefault, TemplateId, TemplateInputContractId, TemplateProjectId, TemplatePublicationId, TemplatesAttachFamilyMemberErrors, TemplatesAttachFamilyMemberResponses, TemplatesAttachWorkspaceResourceErrors, TemplatesAttachWorkspaceResourceResponses, TemplatesCheckWorkspaceErrors, TemplatesCheckWorkspaceResponses, TemplatesCreateErrors, TemplatesCreateFamilyErrors, TemplatesCreateFamilyFromTemplateErrors, TemplatesCreateFamilyFromTemplateResponses, TemplatesCreateFamilyResponses, TemplatesCreateResponses, TemplatesDeleteFamilyErrors, TemplatesDeleteFamilyResponses, TemplatesDetachFamilyMemberErrors, TemplatesDetachFamilyMemberResponses, TemplatesDiffWorkspaceErrors, TemplatesDiffWorkspaceResponses, TemplatesGetByIdErrors, TemplatesGetByIdResponses, TemplatesGetFamilyErrors, TemplatesGetFamilyResponses, TemplatesGetGitRepositoryErrors, TemplatesGetGitRepositoryResponses, TemplatesGetInputContractErrors, TemplatesGetInputContractResponses, TemplatesGetPublicationErrors, TemplatesGetPublicationResponses, TemplatesIssueGitCredentialErrors, TemplatesIssueGitCredentialResponses, TemplatesListDashboardErrors, TemplatesListDashboardResponses, TemplatesListErrors, TemplatesListFamiliesErrors, TemplatesListFamiliesResponses, TemplatesListInputContractsErrors, TemplatesListInputContractsResponses, TemplatesListResponses, TemplatesOpenWorkspaceErrors, TemplatesOpenWorkspaceResponses, TemplatesPatchWorkspaceErrors, TemplatesPatchWorkspaceResponses, TemplatesPublishErrors, TemplatesPublishResponses, TemplatesReconcileWorkspaceErrors, TemplatesReconcileWorkspaceResponses, TemplatesRemoveErrors, TemplatesRemoveResponses, TemplatesRemoveWorkspaceResourceErrors, TemplatesRemoveWorkspaceResourceResponses, TemplatesRenameFamilyErrors, TemplatesRenameFamilyResponses, TemplatesRenderWorkspaceFixtureErrors, TemplatesRenderWorkspaceFixtureResponses, TemplatesResolveWorkspaceConflictErrors, TemplatesResolveWorkspaceConflictResponses, TemplatesRestoreWorkspaceErrors, TemplatesRestoreWorkspaceResponses, TemplatesSaveWorkspaceErrors, TemplatesSaveWorkspaceResponses, TemplatesUpdateErrors, TemplatesUpdateResponses, TemplatesWorkspaceHistoryErrors, TemplatesWorkspaceHistoryResponses, TrackingRecipientEmail, UnknownRecord, UnsubscribeId, WebhookDeliveryId, WebhookEndpointId, WebhooksCreateErrors, WebhooksCreateResponses, WebhooksGetErrors, WebhooksGetLogsErrors, WebhooksGetLogsResponses, WebhooksGetResponses, WebhooksGetStatsErrors, WebhooksGetStatsResponses, WebhooksListErrors, WebhooksListResponses, WebhooksRegenerateSecretErrors, WebhooksRegenerateSecretResponses, WebhooksRemoveErrors, WebhooksRemoveResponses, WebhooksRetryDeliveryErrors, WebhooksRetryDeliveryResponses, WebhooksTestErrors, WebhooksTestResponses, WebhooksUpdateErrors, WebhooksUpdateResponses } from "./types.gen";
2
+ import type { ActorTracking, AnalyticsExportDataErrors, AnalyticsExportDataResponses, AnalyticsGetChannelStatsErrors, AnalyticsGetChannelStatsResponses, AnalyticsGetDeliveryMetricsErrors, AnalyticsGetDeliveryMetricsResponses, AnalyticsGetHourlyDistributionErrors, AnalyticsGetHourlyDistributionResponses, AnalyticsGetStatsErrors, AnalyticsGetStatsResponses, AnalyticsGetTopContactsErrors, AnalyticsGetTopContactsResponses, ApiKeyAccess, ApiKeyId, ApiKeysCreateErrors, ApiKeysCreateResponses, ApiKeysGetActivityErrors, ApiKeysGetActivityResponses, ApiKeysGetErrors, ApiKeysGetResponses, ApiKeysGetStatsErrors, ApiKeysGetStatsResponses, ApiKeysListErrors, ApiKeysListResponses, ApiKeysRemoveErrors, ApiKeysRemoveResponses, ApiKeysRevokeErrors, ApiKeysRevokeResponses, ApiKeysRotateErrors, ApiKeysRotateResponses, ApiKeysUpdateErrors, ApiKeysUpdateResponses, AttachmentId, AttachmentsDownloadUrlErrors, AttachmentsDownloadUrlResponses, AttachmentsGetByIdErrors, AttachmentsGetByIdResponses, AttachmentsListErrors, AttachmentsListResponses, AttachmentsRemoveErrors, AttachmentsRemoveResponses, BlockedEmailId, BrandAssets, BrandFooter, BrandsCreateErrors, BrandsCreateResponses, BrandsGetErrors, BrandsGetResponses, BrandsListErrors, BrandsListResponses, BrandsRemoveErrors, BrandsRemoveResponses, BrandsSetDefaultErrors, BrandsSetDefaultResponses, BrandsUpdateErrors, BrandsUpdateResponses, CampaignAudience, CampaignContentInput, CampaignId, CampaignPolicy, CampaignRunId, CampaignsArchiveErrors, CampaignsArchiveResponses, CampaignsCancelRunErrors, CampaignsCancelRunResponses, CampaignsCreateErrors, CampaignsCreateResponses, CampaignsGetErrors, CampaignsGetResponses, CampaignsGetRunErrors, CampaignsGetRunResponses, CampaignsListErrors, CampaignsListRecipientsErrors, CampaignsListRecipientsResponses, CampaignsListResponses, CampaignsListRunsErrors, CampaignsListRunsResponses, CampaignsPauseRunErrors, CampaignsPauseRunResponses, CampaignsResumeRunErrors, CampaignsResumeRunResponses, CampaignsScheduleRunErrors, CampaignsScheduleRunResponses, CampaignsUpdateErrors, CampaignsUpdateResponses, ContactAccessConfig, ContactGroupId, ContactGroupsAddMembersErrors, ContactGroupsAddMembersResponses, ContactGroupsCreateErrors, ContactGroupsCreateResponses, ContactGroupsEvaluateDynamicErrors, ContactGroupsEvaluateDynamicResponses, ContactGroupsGetByIdErrors, ContactGroupsGetByIdResponses, ContactGroupsGetMembersErrors, ContactGroupsGetMembersResponses, ContactGroupsListErrors, ContactGroupsListResponses, ContactGroupsPreviewErrors, ContactGroupsPreviewResponses, ContactGroupsRemoveErrors, ContactGroupsRemoveMembersErrors, ContactGroupsRemoveMembersResponses, ContactGroupsRemoveResponses, ContactGroupsUpdateErrors, ContactGroupsUpdateResponses, ContactId, ContactIdentity, ContactPreferences, ContactsBulkDeleteErrors, ContactsBulkDeleteResponses, ContactsBulkImportErrors, ContactsBulkImportResponses, ContactsBulkUpdateStatusErrors, ContactsBulkUpdateStatusResponses, ContactsBulkUpdateTagsErrors, ContactsBulkUpdateTagsResponses, ContactsCreateErrors, ContactsCreateResponses, ContactsExportErrors, ContactsExportResponses, ContactsFindErrors, ContactsFindOrCreateErrors, ContactsFindOrCreateResponses, ContactsFindResponses, ContactsGetActivityTimelineErrors, ContactsGetActivityTimelineResponses, ContactsGetEngagementErrors, ContactsGetEngagementResponses, ContactsGetErrors, ContactsGetGroupMembershipsErrors, ContactsGetGroupMembershipsResponses, ContactsGetResponses, ContactsListErrors, ContactsListResponses, ContactsRemoveErrors, ContactsRemoveResponses, ContactsUpdateErrors, ContactsUpdateResponses, ConversationContext, ConversationId, ConversationMetadata, ConversationMetrics, ConversationsAddContactsErrors, ConversationsAddContactsResponses, ConversationsCreateErrors, ConversationsCreateResponses, ConversationsGetByIdErrors, ConversationsGetByIdResponses, ConversationsListErrors, ConversationsListMessagesErrors, ConversationsListMessagesResponses, ConversationsListResponses, ConversationsRemoveContactsErrors, ConversationsRemoveContactsResponses, ConversationsUpdateErrors, ConversationsUpdateResponses, CustomFieldDefinitionId, CustomFieldsCreateErrors, CustomFieldsCreateResponses, CustomFieldsListErrors, CustomFieldsListResponses, CustomFieldsRemoveErrors, CustomFieldsRemoveResponses, CustomFieldsUpdateErrors, CustomFieldsUpdateResponses, DispatchSendMessagePayload, EmailAddBlockErrors, EmailAddBlockResponses, EmailAddDomainErrors, EmailAddDomainResponses, EmailAddSenderErrors, EmailAddSenderResponses, EmailAdvanceDomainVerificationErrors, EmailAdvanceDomainVerificationResponses, EmailBccRecipients, EmailBuildCustomTrackingDomainConnectApplyUrlErrors, EmailBuildCustomTrackingDomainConnectApplyUrlResponses, EmailBuildDomainConnectApplyUrlErrors, EmailBuildDomainConnectApplyUrlResponses, EmailCancelDomainWarmingBatchErrors, EmailCancelDomainWarmingBatchResponses, EmailCcRecipients, EmailCheckBlockedErrors, EmailCheckBlockedResponses, EmailCheckSenderVerificationErrors, EmailCheckSenderVerificationResponses, EmailClearDomainDefaultSenderErrors, EmailClearDomainDefaultSenderResponses, EmailCompleteCustomTrackingDomainConnectErrors, EmailCompleteCustomTrackingDomainConnectResponses, EmailCompleteDomainConnectErrors, EmailCompleteDomainConnectResponses, EmailCompleteDomainWarmingErrors, EmailCompleteDomainWarmingResponses, EmailContent, EmailCreateDomainWarmingPlanErrors, EmailCreateDomainWarmingPlanResponses, EmailCreateForwardingRuleErrors, EmailCreateForwardingRuleResponses, EmailDeleteForwardingRuleErrors, EmailDeleteForwardingRuleResponses, EmailDetectRegistrarErrors, EmailDetectRegistrarResponses, EmailDisableCatchAllErrors, EmailDisableCatchAllResponses, EmailDisableCustomTrackingErrors, EmailDisableCustomTrackingResponses, EmailDomainId, EmailDomainWarmingBatchId, EmailEnableCatchAllErrors, EmailEnableCatchAllResponses, EmailEnableCustomTrackingErrors, EmailEnableCustomTrackingResponses, EmailEnableReceivingErrors, EmailEnableReceivingResponses, EmailForwardingRuleId, EmailGetBlockLogsErrors, EmailGetBlockLogsResponses, EmailGetCatchAllConfigErrors, EmailGetCatchAllConfigResponses, EmailGetCatchAllStatsErrors, EmailGetCatchAllStatsResponses, EmailGetCustomTrackingDomainConnectErrors, EmailGetCustomTrackingDomainConnectResponses, EmailGetCustomTrackingErrors, EmailGetCustomTrackingResponses, EmailGetDomainByIdErrors, EmailGetDomainByIdResponses, EmailGetDomainConnectErrors, EmailGetDomainConnectResponses, EmailGetDomainVerificationErrors, EmailGetDomainVerificationResponses, EmailGetDomainWarmingErrors, EmailGetDomainWarmingResponses, EmailGetForwardingLogErrors, EmailGetForwardingLogResponses, EmailGetOnboardingReviewErrors, EmailGetOnboardingReviewResponses, EmailGetRecipientTrackingPreferenceErrors, EmailGetRecipientTrackingPreferenceResponses, EmailGetSenderErrors, EmailGetSenderResponses, EmailGetStatsErrors, EmailGetStatsResponses, EmailGetTrackingDefaultsErrors, EmailGetTrackingDefaultsResponses, EmailListBlocksErrors, EmailListBlocksResponses, EmailListDomainsErrors, EmailListDomainsResponses, EmailListForwardingRulesErrors, EmailListForwardingRulesResponses, EmailListSendersErrors, EmailListSendersResponses, EmailListSuppressionsErrors, EmailListSuppressionsResponses, EmailPauseDomainWarmingErrors, EmailPauseDomainWarmingResponses, EmailReapplyOnboardingReviewErrors, EmailReapplyOnboardingReviewResponses, EmailRecipients, EmailRemoveBlockErrors, EmailRemoveBlockResponses, EmailRemoveDomainErrors, EmailRemoveDomainResponses, EmailRemoveSenderErrors, EmailRemoveSenderResponses, EmailRemoveSuppressionErrors, EmailRemoveSuppressionResponses, EmailRespondToOnboardingInformationRequestErrors, EmailRespondToOnboardingInformationRequestResponses, EmailResumeDomainWarmingErrors, EmailResumeDomainWarmingResponses, EmailRotateDomainDkimErrors, EmailRotateDomainDkimResponses, EmailSender, EmailSenderId, EmailSendMessagePayload, EmailSetDefaultDomainErrors, EmailSetDefaultDomainResponses, EmailSetDefaultSenderErrors, EmailSetDefaultSenderResponses, EmailSetDomainDefaultSenderErrors, EmailSetDomainDefaultSenderResponses, EmailUpdateBlockErrors, EmailUpdateBlockResponses, EmailUpdateCatchAllConfigErrors, EmailUpdateCatchAllConfigResponses, EmailUpdateDomainConfigErrors, EmailUpdateDomainConfigResponses, EmailUpdateDomainWarmingPolicyErrors, EmailUpdateDomainWarmingPolicyResponses, EmailUpdateForwardingRuleErrors, EmailUpdateForwardingRuleResponses, EmailUpdateRecipientTrackingPreferenceErrors, EmailUpdateRecipientTrackingPreferenceResponses, EmailUpdateTrackingDefaultsErrors, EmailUpdateTrackingDefaultsResponses, ForwardingConditions, HumanProfile, IanaTimezone, JsonObject, JsonValue, MediaCompleteErrors, MediaCompleteResponses, MediaCreateErrors, MediaCreateResponses, MediaDownloadUrlErrors, MediaDownloadUrlResponses, MediaGetByIdErrors, MediaGetByIdResponses, MediaId, MediaRemoveErrors, MediaRemoveResponses, MessageId, MessageMetadata, MessagesGetEmailErrors, MessagesGetEmailResponses, MessagesGetErrors, MessagesGetEventsErrors, MessagesGetEventsResponses, MessagesGetResponses, MessagesGetStatusErrors, MessagesGetStatusResponses, MessagesListErrors, MessagesListResponses, MessagesRemoveErrors, MessagesRemoveResponses, MessagesSendErrors, MessagesSendResponses, MessagesValidateEmailErrors, MessagesValidateEmailResponses, OperationId, OperationsGetErrors, OperationsGetResponses, OperationsListErrors, OperationsListResponses, OperationsRetryErrors, OperationsRetryResponses, OrganizationsCreateErrors, OrganizationsCreateResponses, OrganizationsDeleteErrors, OrganizationsDeleteResponses, OrganizationsGetErrors, OrganizationsGetResponses, OrganizationsGetUsageErrors, OrganizationsGetUsageResponses, OrganizationsUpdateErrors, OrganizationsUpdateResponses, ScheduledMessageId, ScheduledMessagesCancelErrors, ScheduledMessagesCancelResponses, ScheduledMessagesCreateErrors, ScheduledMessagesCreateResponses, ScheduledMessagesGetErrors, ScheduledMessagesGetResponses, ScheduledMessagesListErrors, ScheduledMessagesListResponses, ScheduledMessagesResumeErrors, ScheduledMessagesResumeResponses, SuppressionId, TemplateFamilyId, TemplateFromDefault, TemplateId, TemplateInputContractId, TemplateProjectId, TemplatePublicationId, TemplatesAddEntryErrors, TemplatesAddEntryResponses, TemplatesAttachFamilyMemberErrors, TemplatesAttachFamilyMemberResponses, TemplatesAttachWorkspaceResourceErrors, TemplatesAttachWorkspaceResourceResponses, TemplatesCheckWorkspaceErrors, TemplatesCheckWorkspaceResponses, TemplatesCreateErrors, TemplatesCreateFamilyErrors, TemplatesCreateFamilyFromTemplateErrors, TemplatesCreateFamilyFromTemplateResponses, TemplatesCreateFamilyResponses, TemplatesCreateResponses, TemplatesDeleteFamilyErrors, TemplatesDeleteFamilyResponses, TemplatesDetachFamilyMemberErrors, TemplatesDetachFamilyMemberResponses, TemplatesDiffWorkspaceErrors, TemplatesDiffWorkspaceResponses, TemplatesGetByIdErrors, TemplatesGetByIdResponses, TemplatesGetFamilyErrors, TemplatesGetFamilyResponses, TemplatesGetGitRepositoryErrors, TemplatesGetGitRepositoryResponses, TemplatesGetInputContractErrors, TemplatesGetInputContractResponses, TemplatesGetPublicationErrors, TemplatesGetPublicationResponses, TemplatesIssueGitCredentialErrors, TemplatesIssueGitCredentialResponses, TemplatesListErrors, TemplatesListFamiliesErrors, TemplatesListFamiliesResponses, TemplatesListInputContractsErrors, TemplatesListInputContractsResponses, TemplatesListResponses, TemplatesOpenWorkspaceErrors, TemplatesOpenWorkspaceResponses, TemplatesPatchWorkspaceErrors, TemplatesPatchWorkspaceResponses, TemplatesPublishErrors, TemplatesPublishResponses, TemplatesPutWorkspaceAssetErrors, TemplatesPutWorkspaceAssetResponses, TemplatesReconcileWorkspaceErrors, TemplatesReconcileWorkspaceResponses, TemplatesRemoveErrors, TemplatesRemoveResponses, TemplatesRemoveWorkspaceResourceErrors, TemplatesRemoveWorkspaceResourceResponses, TemplatesRenameFamilyErrors, TemplatesRenameFamilyResponses, TemplatesRenderWorkspaceFixtureErrors, TemplatesRenderWorkspaceFixtureResponses, TemplatesResolveWorkspaceConflictErrors, TemplatesResolveWorkspaceConflictResponses, TemplatesRestoreWorkspaceErrors, TemplatesRestoreWorkspaceResponses, TemplatesSaveWorkspaceErrors, TemplatesSaveWorkspaceResponses, TemplatesUpdateErrors, TemplatesUpdateResponses, TemplatesWorkspaceHistoryErrors, TemplatesWorkspaceHistoryResponses, TrackingRecipientEmail, UnknownRecord, UnsubscribeAddEmailsErrors, UnsubscribeAddEmailsResponses, UnsubscribeCheckSubscriptionErrors, UnsubscribeCheckSubscriptionResponses, UnsubscribeCreateErrors, UnsubscribeCreateResponses, UnsubscribeId, UnsubscribeListErrors, UnsubscribeListMembersErrors, UnsubscribeListMembersResponses, UnsubscribeListResponses, UnsubscribeRemoveEmailsErrors, UnsubscribeRemoveEmailsResponses, UnsubscribeRemoveErrors, UnsubscribeRemoveResponses, UnsubscribeUpdateErrors, UnsubscribeUpdateResponses, WebhookDeliveryId, WebhookEndpointId, WebhooksCreateErrors, WebhooksCreateResponses, WebhooksGetErrors, WebhooksGetLogsErrors, WebhooksGetLogsResponses, WebhooksGetResponses, WebhooksGetStatsErrors, WebhooksGetStatsResponses, WebhooksListErrors, WebhooksListResponses, WebhooksRegenerateSecretErrors, WebhooksRegenerateSecretResponses, WebhooksRemoveErrors, WebhooksRemoveResponses, WebhooksRetryDeliveryErrors, WebhooksRetryDeliveryResponses, WebhooksTestErrors, WebhooksTestResponses, WebhooksUpdateErrors, WebhooksUpdateResponses } from "./types.gen";
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -17,7 +17,7 @@ export declare class Messages {
17
17
  /**
18
18
  * List messages
19
19
  *
20
- * Returns a paginated list of messages, with optional filters for channel, direction, status, conversation, contact, and date range.
20
+ * Returns a paginated list of messages, with optional filters for channel, direction, status, conversation, contact, sender address, and date range.
21
21
  */
22
22
  static list<ThrowOnError extends boolean = false>(parameters?: {
23
23
  page?: string | null | undefined;
@@ -27,13 +27,14 @@ export declare class Messages {
27
27
  status?: "pending" | "scheduled" | "queued" | "processing" | "sent" | "delivered" | "read" | "failed" | "bounced" | "complained" | null | undefined;
28
28
  conversationId?: ConversationId | null | undefined;
29
29
  contactId?: ContactId | null | undefined;
30
+ from?: string | null | undefined;
30
31
  startDate?: string | null | undefined;
31
32
  endDate?: string | null | undefined;
32
33
  }, options?: Options<never, ThrowOnError>): RequestResult<MessagesListResponses, MessagesListErrors, ThrowOnError>;
33
34
  /**
34
35
  * Send a message
35
36
  *
36
- * Sends a message on the requested channel and returns the created message with a 201 Created status. `channel` selects the payload variant. Repeating an identical request with the same optional `Idempotency-Key` header returns the original message; reusing the key for different content returns a conflict.
37
+ * Sends a message on the requested channel and returns the created message with a 201 Created status. Requires `messages:create` or the send permission of the channel it sends on, such as `email:send`. `channel` selects the payload variant. Repeating an identical request with the same optional `Idempotency-Key` header returns the original message; reusing the key for different content returns a conflict.
37
38
  */
38
39
  static send<ThrowOnError extends boolean = false>(parameters: {
39
40
  "idempotency-key"?: string | null | undefined;
@@ -68,7 +69,7 @@ export declare class Messages {
68
69
  /**
69
70
  * Validate an email message
70
71
  *
71
- * Resolves recipients, sender, and inline or published-template content without creating contacts, messages, billing reservations, quota draws, queue work, or provider calls.
72
+ * Resolves recipients, sender, and inline or published-template content without sending anything, creating contacts or messages, or counting toward your quota.
72
73
  */
73
74
  static validateEmail<ThrowOnError extends boolean = false>(parameters: {
74
75
  conversationId?: ConversationId | null | null | undefined;
@@ -104,7 +105,7 @@ export declare class Operations {
104
105
  /**
105
106
  * List asynchronous operations
106
107
  *
107
- * Lists durable asynchronous operation state for the active organization.
108
+ * Lists asynchronous operations for the active organization.
108
109
  */
109
110
  static list<ThrowOnError extends boolean = false>(parameters?: {
110
111
  page?: string | null | undefined;
@@ -115,7 +116,7 @@ export declare class Operations {
115
116
  /**
116
117
  * Get an asynchronous operation
117
118
  *
118
- * Returns one durable asynchronous operation from the active organization.
119
+ * Returns one asynchronous operation from the active organization.
119
120
  */
120
121
  static get<ThrowOnError extends boolean = false>(parameters: {
121
122
  operationId: OperationId;
@@ -123,7 +124,7 @@ export declare class Operations {
123
124
  /**
124
125
  * Retry an asynchronous operation
125
126
  *
126
- * Retries the same durable execution identity when its failure is explicitly retryable. Retrying a workspace deletion additionally requires `organization:delete`.
127
+ * Retries a failed operation in place when its error is retryable. Retrying an organization deletion additionally requires `organization:delete`.
127
128
  */
128
129
  static retry<ThrowOnError extends boolean = false>(parameters: {
129
130
  operationId: OperationId;
@@ -146,7 +147,7 @@ export declare class ScheduledMessages {
146
147
  /**
147
148
  * Schedule a message
148
149
  *
149
- * Schedules a message for dispatch at the absolute ISO-8601 timestamp supplied in scheduledFor. Optional timezone is validated IANA display metadata only and never changes the execution instant.
150
+ * Schedules a message for dispatch at the absolute ISO-8601 timestamp supplied in scheduledFor. Requires `messages:create` or the send permission of the channel it sends on, such as `email:send`. Optional timezone is validated IANA display metadata only and never changes the execution instant.
150
151
  */
151
152
  static create<ThrowOnError extends boolean = false>(parameters: {
152
153
  send: DispatchSendMessagePayload;
@@ -193,7 +194,7 @@ export declare class Campaigns {
193
194
  /**
194
195
  * List campaigns
195
196
  *
196
- * Returns a paginated list of the organization's campaigns, optionally filtered by status.
197
+ * Returns a paginated list of the organization's campaigns, optionally filtered by status. Each row carries `series`, the last 14 days of daily email sends the campaign produced, oldest first.
197
198
  */
198
199
  static list<ThrowOnError extends boolean = false>(parameters?: {
199
200
  status?: "draft" | "archived" | null | undefined;
@@ -254,7 +255,7 @@ export declare class Campaigns {
254
255
  /**
255
256
  * Schedule a campaign run
256
257
  *
257
- * Schedules an email campaign run at the absolute ISO-8601 instant in scheduledFor, or immediately when omitted. The optional idempotencyKey is scoped to the organization and replays return the original run.
258
+ * Schedules an email campaign run at the absolute ISO-8601 instant in scheduledFor, or immediately when omitted. The optional idempotencyKey is scoped to the organization and replays return the original run. An email campaign must carry the brand footer: it is refused with CampaignFooterRequiredError when its footer is off and its template renders no BrandFooter, and with BrandAddressRequiredError when a brand that signs it off has no postal address.
258
259
  */
259
260
  static scheduleRun<ThrowOnError extends boolean = false>(parameters: {
260
261
  id: CampaignId;
@@ -291,7 +292,7 @@ export declare class Campaigns {
291
292
  /**
292
293
  * Cancel a campaign run
293
294
  *
294
- * Best-effort cancellation: pending recipients are skipped, while already claimed or provider-submitted deliveries may finish. Returns the updated run.
295
+ * Best-effort cancellation: pending recipients are skipped, while deliveries already handed off for sending may finish. Returns the updated run.
295
296
  */
296
297
  static cancelRun<ThrowOnError extends boolean = false>(parameters: {
297
298
  id: CampaignId;
@@ -317,13 +318,13 @@ export declare class Email {
317
318
  /**
318
319
  * Get email onboarding review status
319
320
  *
320
- * Returns the customer-safe workspace review decision, workflow stage, next action, and current sending-identity clearances. A missing authority row is returned as a blocked initial state.
321
+ * Returns the customer-safe organization review decision, workflow stage, next action, and current sending-identity clearances. An organization that has not been reviewed yet is returned in the blocked initial state.
321
322
  */
322
323
  static getOnboardingReview<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<EmailGetOnboardingReviewResponses, EmailGetOnboardingReviewErrors, ThrowOnError>;
323
324
  /**
324
325
  * Reapply for email onboarding review
325
326
  *
326
- * Allows a workspace owner or admin to submit a rejected workspace for review again. The expected generation prevents acting on stale status.
327
+ * Allows an organization owner or admin to submit a rejected organization for review again. The expected generation prevents acting on stale status.
327
328
  */
328
329
  static reapplyOnboardingReview<ThrowOnError extends boolean = false>(parameters: {
329
330
  expectedGeneration: number;
@@ -331,7 +332,7 @@ export declare class Email {
331
332
  /**
332
333
  * Respond to an email onboarding information request
333
334
  *
334
- * Allows workspace owners and admins to submit bounded text and up to three pending-scanned evidence uploads for the current review generation.
335
+ * Allows organization owners and admins to submit a text response and up to three evidence uploads for the current information request.
335
336
  */
336
337
  static respondToOnboardingInformationRequest<ThrowOnError extends boolean = false>(parameters: {
337
338
  expectedGeneration: number;
@@ -341,7 +342,7 @@ export declare class Email {
341
342
  /**
342
343
  * Get email tracking defaults
343
344
  *
344
- * Returns the workspace's independent defaults for open and click tracking, both enabled unless configured otherwise. Recipient opt-out takes precedence over these defaults.
345
+ * Returns the organization's independent defaults for open and click tracking, both enabled unless configured otherwise. Recipient opt-out takes precedence over these defaults.
345
346
  */
346
347
  static getTrackingDefaults<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<EmailGetTrackingDefaultsResponses, EmailGetTrackingDefaultsErrors, ThrowOnError>;
347
348
  /**
@@ -373,16 +374,17 @@ export declare class Email {
373
374
  /**
374
375
  * List sending domains
375
376
  *
376
- * Returns a paginated list of the organization's sending domains.
377
+ * Returns a paginated list of the organization's sending domains. `sendable=true` lists only domains a send can use now: active, and verified, or verified before and degraded since. Each row carries `deliverability` (bounce and complaint rates over the last 24 hours, the window the 5% bounce limit is enforced over) and `series`, the last 14 days of daily email sends attributed to the domain, oldest first.
377
378
  */
378
379
  static listDomains<ThrowOnError extends boolean = false>(parameters?: {
379
380
  page?: string | null | undefined;
380
381
  limit?: string | null | undefined;
382
+ sendable?: "true" | null | undefined;
381
383
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailListDomainsResponses, EmailListDomainsErrors, ThrowOnError>;
382
384
  /**
383
385
  * Add a sending domain
384
386
  *
385
- * Registers a domain for sending and returns it with the DNS records required to verify ownership and configure DKIM. Responds with 201. Supplying a connection attaches the domain to that DNS account; the domain must sit inside the zone given with it.
387
+ * Registers a domain for sending and returns it with the DNS records required to verify ownership and configure DKIM. Responds with 201. Supplying a connection attaches the domain to that DNS account; the domain must sit inside the zone given with it. When Samva cannot register another sending domain right now, this responds with 429 and no domain is created. A banned organization is refused with 403.
386
388
  */
387
389
  static addDomain<ThrowOnError extends boolean = false>(parameters: {
388
390
  domain: string;
@@ -394,7 +396,7 @@ export declare class Email {
394
396
  /**
395
397
  * Get domain verification
396
398
  *
397
- * Returns the stored DNS and provider lifecycle snapshot without calling a provider or mutating state.
399
+ * Returns the domain's last observed DNS and verification state. Reading it does not check DNS again or change anything; use advance to check now.
398
400
  */
399
401
  static getDomainVerification<ThrowOnError extends boolean = false>(parameters: {
400
402
  id: EmailDomainId;
@@ -402,7 +404,7 @@ export declare class Email {
402
404
  /**
403
405
  * Advance domain verification
404
406
  *
405
- * Observes the required DNS records and, once they match, idempotently starts provider provisioning for the staged domain.
407
+ * Checks the required DNS records now and, once they all match, moves the domain toward verified. Safe to call repeatedly.
406
408
  */
407
409
  static advanceDomainVerification<ThrowOnError extends boolean = false>(parameters: {
408
410
  id: EmailDomainId;
@@ -410,7 +412,7 @@ export declare class Email {
410
412
  /**
411
413
  * Stage a DKIM selector rotation
412
414
  *
413
- * Creates encrypted signing custody and returns a new public DKIM record. Publish it, then advance domain verification to cut over. Retain the former record until separately approved retirement.
415
+ * Creates a new DKIM signing key and returns its public DKIM record. Publish it, then advance domain verification to switch signing to the new key. Keep the former record published at least until `minimumRetainUntil`.
414
416
  */
415
417
  static rotateDomainDkim<ThrowOnError extends boolean = false>(parameters: {
416
418
  "idempotency-key": string;
@@ -462,17 +464,18 @@ export declare class Email {
462
464
  /**
463
465
  * Complete a one-click DNS return
464
466
  *
465
- * Consumes the Domain Connect provider's redirect. Validates the signed state and, when the records were applied, kicks verification. Returns applied, cancelled (the customer declined), or invalid (state failed validation).
467
+ * Consumes the Domain Connect provider's redirect. Validates the signed state and, when the DNS provider reports success, starts checking the domain's records. A DNS provider error is reported separately from a customer cancelling setup.
466
468
  */
467
469
  static completeDomainConnect<ThrowOnError extends boolean = false>(parameters: {
468
470
  id: EmailDomainId;
469
471
  state: string;
470
472
  error?: string | null | undefined;
473
+ errorDescription?: string | null | undefined;
471
474
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailCompleteDomainConnectResponses, EmailCompleteDomainConnectErrors, ThrowOnError>;
472
475
  /**
473
476
  * Enable inbound email for a domain
474
477
  *
475
- * Enables inbound receiving for a verified domain by creating a receipt rule, and returns the rule name and its recipient addresses. Set `catchAll` to route every address on the domain; that requires a webhook endpoint, supplied as `endpointId` or already configured on the domain.
478
+ * Enables inbound receiving for a verified domain and returns the recipient addresses it accepts. Set `catchAll` to route every address on the domain; that requires a webhook endpoint, supplied as `endpointId` or already configured on the domain.
476
479
  */
477
480
  static enableReceiving<ThrowOnError extends boolean = false>(parameters: {
478
481
  id: EmailDomainId;
@@ -509,7 +512,7 @@ export declare class Email {
509
512
  /**
510
513
  * Update a domain's send-settings config
511
514
  *
512
- * Overrides the domain's open/click tracking, reply-to, and unsubscribe-group defaults for the settings cascade. An omitted field is left unchanged; null clears it back to the organization default. Returns the saved config.
515
+ * Overrides the domain's open/click tracking, reply-to, unsubscribe-group defaults, and the brand its mail uses for the settings cascade. An omitted field is left unchanged; null clears it back to the organization default. Returns the saved config.
513
516
  */
514
517
  static updateDomainConfig<ThrowOnError extends boolean = false>(parameters: {
515
518
  id: EmailDomainId;
@@ -518,6 +521,7 @@ export declare class Email {
518
521
  replyTo?: Array<string> | null | null | undefined;
519
522
  unsubscribeGroupId?: UnsubscribeId | null | null | undefined;
520
523
  footerEnabled?: boolean | null | null | undefined;
524
+ brandSlug?: string | null | null | undefined;
521
525
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailUpdateDomainConfigResponses, EmailUpdateDomainConfigErrors, ThrowOnError>;
522
526
  /**
523
527
  * Disable a custom tracking domain
@@ -538,7 +542,7 @@ export declare class Email {
538
542
  /**
539
543
  * Enable a custom tracking domain
540
544
  *
541
- * Provisions a custom tracking domain (default label `track`) for a verified sending domain so open/click links redirect through the customer's own subdomain. Requires the custom_tracking_domain entitlement. Returns the resulting state including the two DNS records the customer must create.
545
+ * Provisions a custom tracking domain (default label `track`) for a verified sending domain so open/click links redirect through the customer's own subdomain. Requires a plan that includes custom tracking domains. Returns the resulting state including the two DNS records the customer must create.
542
546
  */
543
547
  static enableCustomTracking<ThrowOnError extends boolean = false>(parameters: {
544
548
  id: EmailDomainId;
@@ -555,7 +559,7 @@ export declare class Email {
555
559
  /**
556
560
  * Build an automatic Custom Tracking Domain apply URL
557
561
  *
558
- * Builds the signed Domain Connect URL for the current customer-selected tracking host. The server derives the host and Cloudflare DCV UUID; exact manual CNAME records remain available.
562
+ * Builds the signed Domain Connect URL for the current customer-selected tracking host. Samva fills in the host and the certificate validation record; the manual CNAME records remain available.
559
563
  */
560
564
  static buildCustomTrackingDomainConnectApplyUrl<ThrowOnError extends boolean = false>(parameters: {
561
565
  id: EmailDomainId;
@@ -563,17 +567,18 @@ export declare class Email {
563
567
  /**
564
568
  * Complete an automatic Custom Tracking Domain return
565
569
  *
566
- * Validates the purpose- and revision-bound registrar state, then re-kicks the existing readiness reconciliation. The callback never declares the host ready or changes email tracking selection.
570
+ * Validates the signed state returned by the DNS provider, then checks the tracking host again. Returning here never marks the host ready or changes which tracking host email uses.
567
571
  */
568
572
  static completeCustomTrackingDomainConnect<ThrowOnError extends boolean = false>(parameters: {
569
573
  id: EmailDomainId;
570
574
  state: string;
571
575
  error?: string | null | undefined;
576
+ errorDescription?: string | null | undefined;
572
577
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailCompleteCustomTrackingDomainConnectResponses, EmailCompleteCustomTrackingDomainConnectErrors, ThrowOnError>;
573
578
  /**
574
579
  * List sender identities
575
580
  *
576
- * Returns a paginated list of sender identities, optionally filtered by verification status, active state, or default flag.
581
+ * Returns a paginated list of sender identities, optionally filtered by verification status, active state, or default flag. Each row carries `deliverability` (bounce and complaint rates over the last 24 hours) and `series`, the last 14 days of daily email sends from the address, oldest first.
577
582
  */
578
583
  static listSenders<ThrowOnError extends boolean = false>(parameters?: {
579
584
  page?: string | null | undefined;
@@ -585,7 +590,7 @@ export declare class Email {
585
590
  /**
586
591
  * Add a sender identity
587
592
  *
588
- * Durably creates a sender identity. The required Idempotency-Key replays the original sender for an identical request and conflicts when reused with different input.
593
+ * Creates a sender identity. The required Idempotency-Key replays the original sender for an identical request and conflicts when reused with different input.
589
594
  */
590
595
  static addSender<ThrowOnError extends boolean = false>(parameters: {
591
596
  "idempotency-key": string;
@@ -605,7 +610,7 @@ export declare class Email {
605
610
  /**
606
611
  * Remove a sender identity
607
612
  *
608
- * Accepts sender removal, marks it inactive, and retains its deleting lifecycle until provider identity and association cleanup is confirmed.
613
+ * Accepts sender removal and marks the sender inactive. It reports the `deleting` lifecycle until removal finishes.
609
614
  */
610
615
  static removeSender<ThrowOnError extends boolean = false>(parameters: {
611
616
  id: EmailSenderId;
@@ -638,7 +643,7 @@ export declare class Email {
638
643
  /**
639
644
  * Enable catch-all receiving
640
645
  *
641
- * Enables catch-all inbound receiving for a domain by creating a receipt rule, and returns the rule name. `endpointId` is one of the organization's webhook endpoints; every address on the domain delivers `message.received` to it. Responds with 201.
646
+ * Enables catch-all inbound receiving for a domain. `endpointId` is one of the organization's webhook endpoints; every address on the domain delivers `message.received` to it. Responds with 201.
642
647
  */
643
648
  static enableCatchAll<ThrowOnError extends boolean = false>(parameters: {
644
649
  domainId: EmailDomainId;
@@ -682,7 +687,7 @@ export declare class Email {
682
687
  /**
683
688
  * List suppressed addresses
684
689
  *
685
- * Returns the addresses this workspace will not send to, newest first, optionally filtered by suppression type, active or expired state, and an address substring, with limit and offset paging.
690
+ * Returns the addresses this organization will not send to, newest first, optionally filtered by suppression type, active or expired state, and an address substring, with limit and offset paging.
686
691
  */
687
692
  static listSuppressions<ThrowOnError extends boolean = false>(parameters?: {
688
693
  type?: "bounce" | "complaint" | "unsubscribe" | "manual" | null | undefined;
@@ -694,7 +699,7 @@ export declare class Email {
694
699
  /**
695
700
  * Remove a suppressed address
696
701
  *
697
- * Deletes a suppression so this workspace can send to the address again. When the engine mirrored the address into the sending provider's suppression list, that entry is lifted first, and the deletion fails rather than reporting success if the provider refuses, so the operation stays retryable. The provider entry is left in place when another workspace still reports the same address as bouncing or complaining, because that list is shared with every workspace; the response does not say which case applied. Deliverability caveat: a bounce or complaint suppression records a real delivery failure, and sending to the address again risks the reputation damage the suppression prevented.
702
+ * Deletes a suppression so this organization can send to the address again. If the deletion cannot complete, it fails rather than reporting success, and it is safe to retry. Deliverability caveat: a bounce or complaint suppression records a real delivery failure, and sending to the address again risks the reputation damage the suppression prevented.
698
703
  */
699
704
  static removeSuppression<ThrowOnError extends boolean = false>(parameters: {
700
705
  id: SuppressionId;
@@ -897,7 +902,7 @@ export declare class Email {
897
902
  /**
898
903
  * Complete domain warming
899
904
  *
900
- * Ends the policy. Campaign runs from the domain are no longer gated by warming windows; the workspace safeguards still apply.
905
+ * Ends the policy. Campaign runs from the domain are no longer gated by warming windows; the organization safeguards still apply.
901
906
  */
902
907
  static completeDomainWarming<ThrowOnError extends boolean = false>(parameters: {
903
908
  id: EmailDomainId;
@@ -956,6 +961,44 @@ export declare class Media {
956
961
  export declare class Media2 {
957
962
  static media: typeof Media;
958
963
  }
964
+ export declare class Attachments {
965
+ /**
966
+ * Delete an attachment
967
+ *
968
+ * Deletes an attachment and returns the deleted attachment's ID.
969
+ */
970
+ static remove<ThrowOnError extends boolean = false>(parameters: {
971
+ id: AttachmentId;
972
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsRemoveResponses, AttachmentsRemoveErrors, ThrowOnError>;
973
+ /**
974
+ * Get an attachment
975
+ *
976
+ * Returns metadata for a single attachment, including filename, content type, and size.
977
+ */
978
+ static getById<ThrowOnError extends boolean = false>(parameters: {
979
+ id: AttachmentId;
980
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsGetByIdResponses, AttachmentsGetByIdErrors, ThrowOnError>;
981
+ /**
982
+ * List message attachments
983
+ *
984
+ * Returns all attachments for the given message, along with a total count.
985
+ */
986
+ static list<ThrowOnError extends boolean = false>(parameters: {
987
+ messageId: MessageId;
988
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsListResponses, AttachmentsListErrors, ThrowOnError>;
989
+ /**
990
+ * Get an attachment download URL
991
+ *
992
+ * Generates a presigned, time-limited download URL for the attachment; expiry is configurable via the expiresIn query parameter.
993
+ */
994
+ static downloadUrl<ThrowOnError extends boolean = false>(parameters: {
995
+ id: AttachmentId;
996
+ expiresIn?: string | null | undefined;
997
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsDownloadUrlResponses, AttachmentsDownloadUrlErrors, ThrowOnError>;
998
+ }
999
+ export declare class Attachments2 {
1000
+ static attachments: typeof Attachments;
1001
+ }
959
1002
  export declare class Conversations {
960
1003
  /**
961
1004
  * List conversations
@@ -1108,7 +1151,7 @@ export declare class Contacts {
1108
1151
  /**
1109
1152
  * Find a contact
1110
1153
  *
1111
- * Samva API operation.
1154
+ * Looks up a single contact by email address or external ID and returns null when no contact matches.
1112
1155
  */
1113
1156
  static find<ThrowOnError extends boolean = false>(parameters?: {
1114
1157
  email?: string | null | undefined;
@@ -1260,6 +1303,323 @@ export declare class Contacts {
1260
1303
  export declare class Contacts2 {
1261
1304
  static contacts: typeof Contacts;
1262
1305
  }
1306
+ export declare class ContactGroups {
1307
+ /**
1308
+ * List contact groups
1309
+ *
1310
+ * Returns a paginated list of contact groups for the organization, filterable by type and active state.
1311
+ */
1312
+ static list<ThrowOnError extends boolean = false>(parameters?: {
1313
+ page?: string | null | undefined;
1314
+ limit?: string | null | undefined;
1315
+ type?: "static" | "dynamic" | "smart" | Array<"static" | "dynamic" | "smart"> | null | undefined;
1316
+ isActive?: string | null | undefined;
1317
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsListResponses, ContactGroupsListErrors, ThrowOnError>;
1318
+ /**
1319
+ * Create a contact group
1320
+ *
1321
+ * Creates a new contact group and returns it with a 201 status.
1322
+ */
1323
+ static create<ThrowOnError extends boolean = false>(parameters: {
1324
+ name: string;
1325
+ description?: string | null | null | undefined;
1326
+ type?: "static" | "dynamic" | "smart" | null | undefined;
1327
+ criteria?: {
1328
+ [key: string]: JsonValue;
1329
+ } | null | null | undefined;
1330
+ color?: "clay" | "sand" | "moss" | "sky" | "plum" | "rose" | null | null | undefined;
1331
+ icon?: string | null | null | undefined;
1332
+ parentGroupId?: ContactGroupId | null | null | undefined;
1333
+ isActive?: boolean | null | undefined;
1334
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsCreateResponses, ContactGroupsCreateErrors, ThrowOnError>;
1335
+ /**
1336
+ * Delete a contact group
1337
+ *
1338
+ * Permanently deletes a contact group by its ID.
1339
+ */
1340
+ static remove<ThrowOnError extends boolean = false>(parameters: {
1341
+ id: ContactGroupId;
1342
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsRemoveResponses, ContactGroupsRemoveErrors, ThrowOnError>;
1343
+ /**
1344
+ * Get a contact group
1345
+ *
1346
+ * Returns a single contact group by its ID.
1347
+ */
1348
+ static getById<ThrowOnError extends boolean = false>(parameters: {
1349
+ id: ContactGroupId;
1350
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsGetByIdResponses, ContactGroupsGetByIdErrors, ThrowOnError>;
1351
+ /**
1352
+ * Update a contact group
1353
+ *
1354
+ * Updates an existing contact group's fields and returns the updated group.
1355
+ */
1356
+ static update<ThrowOnError extends boolean = false>(parameters: {
1357
+ id: ContactGroupId;
1358
+ name?: string | null | undefined;
1359
+ description?: string | null | null | undefined;
1360
+ type?: "static" | "dynamic" | "smart" | null | undefined;
1361
+ criteria?: {
1362
+ [key: string]: JsonValue;
1363
+ } | null | null | undefined;
1364
+ color?: "clay" | "sand" | "moss" | "sky" | "plum" | "rose" | null | null | undefined;
1365
+ icon?: string | null | null | undefined;
1366
+ parentGroupId?: ContactGroupId | null | null | undefined;
1367
+ isActive?: boolean | null | undefined;
1368
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsUpdateResponses, ContactGroupsUpdateErrors, ThrowOnError>;
1369
+ /**
1370
+ * Remove members from a contact group
1371
+ *
1372
+ * Removes one or more contacts from a contact group, returning the count of removed members.
1373
+ */
1374
+ static removeMembers<ThrowOnError extends boolean = false>(parameters: {
1375
+ groupId: ContactGroupId;
1376
+ contactIds: [ContactId, ContactId];
1377
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsRemoveMembersResponses, ContactGroupsRemoveMembersErrors, ThrowOnError>;
1378
+ /**
1379
+ * List members of a contact group
1380
+ *
1381
+ * Returns a paginated list of contacts belonging to a contact group.
1382
+ */
1383
+ static getMembers<ThrowOnError extends boolean = false>(parameters: {
1384
+ groupId: ContactGroupId;
1385
+ page?: string | null | undefined;
1386
+ limit?: string | null | undefined;
1387
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsGetMembersResponses, ContactGroupsGetMembersErrors, ThrowOnError>;
1388
+ /**
1389
+ * Add members to a contact group
1390
+ *
1391
+ * Adds one or more contacts to a contact group, returning counts of added and skipped members.
1392
+ */
1393
+ static addMembers<ThrowOnError extends boolean = false>(parameters: {
1394
+ groupId: ContactGroupId;
1395
+ contactIds: [ContactId, ContactId];
1396
+ role?: "member" | "moderator" | "admin" | null | undefined;
1397
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsAddMembersResponses, ContactGroupsAddMembersErrors, ThrowOnError>;
1398
+ /**
1399
+ * Evaluate a dynamic contact group
1400
+ *
1401
+ * Recomputes a dynamic contact group's membership from its criteria, returning counts of added, removed, and total members.
1402
+ */
1403
+ static evaluateDynamic<ThrowOnError extends boolean = false>(parameters: {
1404
+ groupId: ContactGroupId;
1405
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsEvaluateDynamicResponses, ContactGroupsEvaluateDynamicErrors, ThrowOnError>;
1406
+ /**
1407
+ * Preview contact group criteria
1408
+ *
1409
+ * Evaluates group criteria without persisting, returning the matching contact count and a sample of matches.
1410
+ */
1411
+ static preview<ThrowOnError extends boolean = false>(parameters: {
1412
+ criteria: {
1413
+ contactTypes?: Array<string> | null | undefined;
1414
+ capabilities?: Array<string> | null | undefined;
1415
+ tags?: Array<string> | null | undefined;
1416
+ channels?: Array<string> | null | undefined;
1417
+ match?: "all" | "any" | null | undefined;
1418
+ conditions?: Array<{
1419
+ field: string;
1420
+ operator: string;
1421
+ value: JsonValue;
1422
+ }> | null | undefined;
1423
+ };
1424
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsPreviewResponses, ContactGroupsPreviewErrors, ThrowOnError>;
1425
+ }
1426
+ export declare class ContactGroups2 {
1427
+ static contactGroups: typeof ContactGroups;
1428
+ }
1429
+ export declare class CustomFields {
1430
+ /**
1431
+ * List custom fields
1432
+ *
1433
+ * Returns a paginated list of custom field definitions for the organization.
1434
+ */
1435
+ static list<ThrowOnError extends boolean = false>(parameters?: {
1436
+ page?: string | null | undefined;
1437
+ limit?: string | null | undefined;
1438
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsListResponses, CustomFieldsListErrors, ThrowOnError>;
1439
+ /**
1440
+ * Create a custom field
1441
+ *
1442
+ * Creates a new custom field definition and returns it with a 201 status; the field key must be unique.
1443
+ */
1444
+ static create<ThrowOnError extends boolean = false>(parameters: {
1445
+ key: string;
1446
+ label: string;
1447
+ type: "text" | "number" | "boolean" | "date" | "select";
1448
+ options?: Array<string> | null | undefined;
1449
+ defaultValue?: string | null | null | undefined;
1450
+ isRequired?: boolean | null | undefined;
1451
+ sortOrder?: number | null | undefined;
1452
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsCreateResponses, CustomFieldsCreateErrors, ThrowOnError>;
1453
+ /**
1454
+ * Delete a custom field
1455
+ *
1456
+ * Permanently deletes a custom field definition by its ID.
1457
+ */
1458
+ static remove<ThrowOnError extends boolean = false>(parameters: {
1459
+ id: CustomFieldDefinitionId;
1460
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsRemoveResponses, CustomFieldsRemoveErrors, ThrowOnError>;
1461
+ /**
1462
+ * Update a custom field
1463
+ *
1464
+ * Updates an existing custom field definition and returns the updated field.
1465
+ */
1466
+ static update<ThrowOnError extends boolean = false>(parameters: {
1467
+ id: CustomFieldDefinitionId;
1468
+ label?: string | null | undefined;
1469
+ options?: Array<string> | null | undefined;
1470
+ defaultValue?: string | null | null | undefined;
1471
+ isRequired?: boolean | null | undefined;
1472
+ sortOrder?: number | null | undefined;
1473
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsUpdateResponses, CustomFieldsUpdateErrors, ThrowOnError>;
1474
+ }
1475
+ export declare class CustomFields2 {
1476
+ static customFields: typeof CustomFields;
1477
+ }
1478
+ export declare class Unsubscribe {
1479
+ /**
1480
+ * List unsubscribe groups
1481
+ *
1482
+ * Returns a paginated list of the organization's unsubscribe groups.
1483
+ */
1484
+ static list<ThrowOnError extends boolean = false>(parameters?: {
1485
+ page?: string | null | undefined;
1486
+ limit?: string | null | undefined;
1487
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeListResponses, UnsubscribeListErrors, ThrowOnError>;
1488
+ /**
1489
+ * Create an unsubscribe group
1490
+ *
1491
+ * Creates a new unsubscribe group and returns it with a 201 Created status.
1492
+ */
1493
+ static create<ThrowOnError extends boolean = false>(parameters: {
1494
+ name: string;
1495
+ description?: string | null | null | undefined;
1496
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeCreateResponses, UnsubscribeCreateErrors, ThrowOnError>;
1497
+ /**
1498
+ * Delete an unsubscribe group
1499
+ *
1500
+ * Permanently deletes an unsubscribe group by its ID.
1501
+ */
1502
+ static remove<ThrowOnError extends boolean = false>(parameters: {
1503
+ id: UnsubscribeId;
1504
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeRemoveResponses, UnsubscribeRemoveErrors, ThrowOnError>;
1505
+ /**
1506
+ * Update an unsubscribe group
1507
+ *
1508
+ * Updates the name or description of an unsubscribe group.
1509
+ */
1510
+ static update<ThrowOnError extends boolean = false>(parameters: {
1511
+ id: UnsubscribeId;
1512
+ name?: string | null | undefined;
1513
+ description?: string | null | null | undefined;
1514
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeUpdateResponses, UnsubscribeUpdateErrors, ThrowOnError>;
1515
+ /**
1516
+ * Remove contacts from an unsubscribe group
1517
+ *
1518
+ * Removes one or more email addresses from an unsubscribe group and returns the number removed.
1519
+ */
1520
+ static removeEmails<ThrowOnError extends boolean = false>(parameters: {
1521
+ groupId: UnsubscribeId;
1522
+ emails: Array<string>;
1523
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeRemoveEmailsResponses, UnsubscribeRemoveEmailsErrors, ThrowOnError>;
1524
+ /**
1525
+ * List unsubscribe group members
1526
+ *
1527
+ * Returns a paginated list of the email addresses in an unsubscribe group.
1528
+ */
1529
+ static listMembers<ThrowOnError extends boolean = false>(parameters: {
1530
+ groupId: UnsubscribeId;
1531
+ page?: string | null | undefined;
1532
+ limit?: string | null | undefined;
1533
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeListMembersResponses, UnsubscribeListMembersErrors, ThrowOnError>;
1534
+ /**
1535
+ * Add contacts to an unsubscribe group
1536
+ *
1537
+ * Adds one or more email addresses to an unsubscribe group and returns the number added and the number skipped.
1538
+ */
1539
+ static addEmails<ThrowOnError extends boolean = false>(parameters: {
1540
+ groupId: UnsubscribeId;
1541
+ emails: Array<string>;
1542
+ source?: "link" | "api" | "manual" | "complaint" | null | undefined;
1543
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeAddEmailsResponses, UnsubscribeAddEmailsErrors, ThrowOnError>;
1544
+ /**
1545
+ * Check unsubscribe group membership
1546
+ *
1547
+ * Returns the unsubscribe groups that an email address has unsubscribed from, optionally limited to a specified set of groups.
1548
+ */
1549
+ static checkSubscription<ThrowOnError extends boolean = false>(parameters: {
1550
+ email: string;
1551
+ groupIds?: string | null | undefined;
1552
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeCheckSubscriptionResponses, UnsubscribeCheckSubscriptionErrors, ThrowOnError>;
1553
+ }
1554
+ export declare class UnsubscribeGroups {
1555
+ static unsubscribe: typeof Unsubscribe;
1556
+ }
1557
+ export declare class Analytics {
1558
+ /**
1559
+ * Get message volume analytics
1560
+ *
1561
+ * Returns outbound message counts over the half-open selected instant range, grouped by organization-local calendar day, week, or month. A range with traffic returns every bucket in it, including the ones that saw none; a range with no outbound traffic at all returns no buckets. A range with no `endDate` runs through the current instant, so its quiet trailing buckets are reported as zero.
1562
+ */
1563
+ static getStats<ThrowOnError extends boolean = false>(parameters?: {
1564
+ startDate?: string | null | undefined;
1565
+ endDate?: string | null | undefined;
1566
+ groupBy?: "day" | "week" | "month" | null | undefined;
1567
+ channel?: "email" | null | undefined;
1568
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetStatsResponses, AnalyticsGetStatsErrors, ThrowOnError>;
1569
+ /**
1570
+ * Get channel performance analytics
1571
+ *
1572
+ * Returns aggregate delivery metrics plus unique-message email Open and Click rates over the selected date range. `sent` counts every outbound message accepted in the range; each rate is taken over the messages the channel actually attempted, so one still waiting to be sent neither helps nor hurts it. Each engagement rate uses the corresponding tracking-eligible delivered-message cohort; repeated provider observations do not inflate the numerator.
1573
+ */
1574
+ static getChannelStats<ThrowOnError extends boolean = false>(parameters?: {
1575
+ startDate?: string | null | undefined;
1576
+ endDate?: string | null | undefined;
1577
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetChannelStatsResponses, AnalyticsGetChannelStatsErrors, ThrowOnError>;
1578
+ /**
1579
+ * List top contacts by message volume
1580
+ *
1581
+ * Returns the contacts your organization exchanged the most messages with over the selected date range. `sortBy` chooses the traffic `messageCount` reports and ranks by: `sent` counts outbound messages addressed to the contact, `received` counts inbound messages the contact sent you, and `total` (the default) counts both. Contacts with no traffic in the range are omitted, and at most 100 are returned.
1582
+ */
1583
+ static getTopContacts<ThrowOnError extends boolean = false>(parameters?: {
1584
+ startDate?: string | null | undefined;
1585
+ endDate?: string | null | undefined;
1586
+ limit?: string | null | undefined;
1587
+ sortBy?: "sent" | "received" | "total" | null | undefined;
1588
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetTopContactsResponses, AnalyticsGetTopContactsErrors, ThrowOnError>;
1589
+ /**
1590
+ * Get hourly message distribution
1591
+ *
1592
+ * Returns outbound message counts over the half-open selected instant range, bucketed by organization-local hour. Empty ranges return no rows; non-empty ranges include all 24 hours.
1593
+ */
1594
+ static getHourlyDistribution<ThrowOnError extends boolean = false>(parameters?: {
1595
+ startDate?: string | null | undefined;
1596
+ endDate?: string | null | undefined;
1597
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetHourlyDistributionResponses, AnalyticsGetHourlyDistributionErrors, ThrowOnError>;
1598
+ /**
1599
+ * Get message delivery metrics
1600
+ *
1601
+ * Returns delivered, failed, and pending rates plus average delivery time for the outbound messages accepted in the selected date range, optionally filtered by channel. Every accepted message falls into exactly one of the three, so they always sum to 100%: a complaint counts as delivered because the message arrived, a bounce counts as failed, and anything the provider has not resolved yet counts as pending. Mail your organization received is not rated here.
1602
+ */
1603
+ static getDeliveryMetrics<ThrowOnError extends boolean = false>(parameters?: {
1604
+ startDate?: string | null | undefined;
1605
+ endDate?: string | null | undefined;
1606
+ channel?: "email" | null | undefined;
1607
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetDeliveryMetricsResponses, AnalyticsGetDeliveryMetricsErrors, ThrowOnError>;
1608
+ /**
1609
+ * Export messaging analytics data
1610
+ *
1611
+ * Exports one record per outbound message accepted in the given date range as CSV or JSON and returns the file content inline. CSV follows RFC 4180: fields containing a quote, comma, or line break are quoted with embedded quotes doubled, and records are separated by CRLF. At most 10,000 records are returned, newest first.
1612
+ */
1613
+ static exportData<ThrowOnError extends boolean = false>(parameters: {
1614
+ startDate: string;
1615
+ endDate: string;
1616
+ format?: "csv" | "json" | null | undefined;
1617
+ includeChannels?: Array<"email"> | null | undefined;
1618
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsExportDataResponses, AnalyticsExportDataErrors, ThrowOnError>;
1619
+ }
1620
+ export declare class Analytics2 {
1621
+ static analytics: typeof Analytics;
1622
+ }
1263
1623
  export declare class Templates {
1264
1624
  /**
1265
1625
  * List templates
@@ -1273,6 +1633,7 @@ export declare class Templates {
1273
1633
  channel?: "email" | null | undefined;
1274
1634
  status?: "draft" | "pending" | "approved" | "published" | "rejected" | "archived" | null | undefined;
1275
1635
  search?: string | null | undefined;
1636
+ projectId?: TemplateProjectId | null | undefined;
1276
1637
  sortBy?: "name" | "createdAt" | "updatedAt" | "usageCount" | "lastUsedAt" | null | undefined;
1277
1638
  sortOrder?: "asc" | "desc" | null | undefined;
1278
1639
  }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesListResponses, TemplatesListErrors, ThrowOnError>;
@@ -1286,27 +1647,12 @@ export declare class Templates {
1286
1647
  projectName?: string | null | undefined;
1287
1648
  slug?: string | null | undefined;
1288
1649
  galleryTemplateId?: string | null | undefined;
1650
+ useBrand?: boolean | null | undefined;
1289
1651
  description?: string | null | null | undefined;
1290
1652
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
1291
1653
  isActive?: boolean | null | undefined;
1292
1654
  idempotencyKey: string;
1293
1655
  }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesCreateResponses, TemplatesCreateErrors, ThrowOnError>;
1294
- /**
1295
- * List templates for the dashboard
1296
- *
1297
- * Returns a paginated dashboard view that groups related channel templates into families and leaves standalone templates ungrouped.
1298
- */
1299
- static listDashboard<ThrowOnError extends boolean = false>(parameters: {
1300
- page?: string | null | undefined;
1301
- limit?: string | null | undefined;
1302
- allowedChannels: "email" | Array<"email">;
1303
- category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | undefined;
1304
- channel?: "email" | null | undefined;
1305
- status?: "draft" | "pending" | "approved" | "published" | "rejected" | "archived" | null | undefined;
1306
- search?: string | null | undefined;
1307
- sortBy?: "name" | "createdAt" | "updatedAt" | "usageCount" | "lastUsedAt" | null | undefined;
1308
- sortOrder?: "asc" | "desc" | null | undefined;
1309
- }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesListDashboardResponses, TemplatesListDashboardErrors, ThrowOnError>;
1310
1656
  /**
1311
1657
  * List template families
1312
1658
  *
@@ -1395,13 +1741,14 @@ export declare class Templates {
1395
1741
  /**
1396
1742
  * Update a template
1397
1743
  *
1398
- * Updates template metadata. Source changes use the project workspace API.
1744
+ * Updates template metadata. Setting `entryPath` points the template at another file in its project and keeps its id, slug, and publications; move the file in Git separately. Source changes use the project workspace API.
1399
1745
  */
1400
1746
  static update<ThrowOnError extends boolean = false>(parameters: {
1401
1747
  id: TemplateId;
1402
1748
  data: {
1403
1749
  name?: string | null | undefined;
1404
1750
  slug?: string | null | undefined;
1751
+ entryPath?: string | null | undefined;
1405
1752
  description?: string | null | null | undefined;
1406
1753
  category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
1407
1754
  fromDefault?: TemplateFromDefault | null | null | undefined;
@@ -1409,6 +1756,19 @@ export declare class Templates {
1409
1756
  isActive?: boolean | null | undefined;
1410
1757
  };
1411
1758
  }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesUpdateResponses, TemplatesUpdateErrors, ThrowOnError>;
1759
+ /**
1760
+ * Add a template entry
1761
+ *
1762
+ * Registers an `emails*.tsx` file in an existing template project as its own template and returns it with status 201. The file does not need to exist yet; publishing fails until a commit contains it. Repeating the call with the same entry path, name, and slug returns the existing template.
1763
+ */
1764
+ static addEntry<ThrowOnError extends boolean = false>(parameters: {
1765
+ projectId: TemplateProjectId;
1766
+ entryPath: string;
1767
+ name: string;
1768
+ slug: string;
1769
+ description?: string | null | null | undefined;
1770
+ category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | null | undefined;
1771
+ }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesAddEntryResponses, TemplatesAddEntryErrors, ThrowOnError>;
1412
1772
  /**
1413
1773
  * Patch template project files
1414
1774
  *
@@ -1426,7 +1786,7 @@ export declare class Templates {
1426
1786
  /**
1427
1787
  * Open a template project workspace
1428
1788
  *
1429
- * Creates or opens the shared project workspace at the current Artifact branch head and returns its effective files.
1789
+ * Creates or opens the shared project workspace at the latest saved version and returns its effective files.
1430
1790
  */
1431
1791
  static openWorkspace<ThrowOnError extends boolean = false>(parameters: {
1432
1792
  id: TemplateId;
@@ -1440,10 +1800,23 @@ export declare class Templates {
1440
1800
  id: TemplateId;
1441
1801
  expectedRevision: string;
1442
1802
  }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesDiffWorkspaceResponses, TemplatesDiffWorkspaceErrors, ThrowOnError>;
1803
+ /**
1804
+ * Put a template project asset
1805
+ *
1806
+ * Writes one image or font (png, jpg, jpeg, gif, webp, or woff2) into the shared project workspace as an unsaved file; Save commits it. The JSON body carries the file as canonical base64 in `contentBase64`, at most 1 MiB decoded, and the bytes must match the extension in `path`. `replace` must be `false` to add a new file and `true` to change an existing one.
1807
+ */
1808
+ static putWorkspaceAsset<ThrowOnError extends boolean = false>(parameters: {
1809
+ id: TemplateId;
1810
+ expectedRevision: string;
1811
+ path: string;
1812
+ contentBase64: string;
1813
+ replace: boolean;
1814
+ idempotencyKey: string;
1815
+ }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesPutWorkspaceAssetResponses, TemplatesPutWorkspaceAssetErrors, ThrowOnError>;
1443
1816
  /**
1444
1817
  * Reconcile a template project workspace
1445
1818
  *
1446
- * Fast-forwards or rebases the workspace onto the current Artifact branch head, retaining file conflicts for explicit resolution.
1819
+ * Fast-forwards or rebases the workspace onto the latest saved version, retaining file conflicts for explicit resolution.
1447
1820
  */
1448
1821
  static reconcileWorkspace<ThrowOnError extends boolean = false>(parameters: {
1449
1822
  id: TemplateId;
@@ -1469,7 +1842,7 @@ export declare class Templates {
1469
1842
  /**
1470
1843
  * Save a template project workspace
1471
1844
  *
1472
- * Validates the effective project tree and creates one normal Git commit on the Artifact default branch.
1845
+ * Validates the effective project tree and saves it as one Git commit on the template repository's default branch.
1473
1846
  */
1474
1847
  static saveWorkspace<ThrowOnError extends boolean = false>(parameters: {
1475
1848
  id: TemplateId;
@@ -1492,7 +1865,7 @@ export declare class Templates {
1492
1865
  /**
1493
1866
  * List template project commit history
1494
1867
  *
1495
- * Returns bounded history from the Artifact repository default branch.
1868
+ * Returns recent history from the template repository's default branch.
1496
1869
  */
1497
1870
  static workspaceHistory<ThrowOnError extends boolean = false>(parameters: {
1498
1871
  id: TemplateId;
@@ -1528,6 +1901,7 @@ export declare class Templates {
1528
1901
  commitSha: string;
1529
1902
  entryPath: string;
1530
1903
  expectedWorkspaceRevision: string;
1904
+ ifCurrentPublicationId?: TemplatePublicationId | null | undefined;
1531
1905
  }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesPublishResponses, TemplatesPublishErrors, ThrowOnError>;
1532
1906
  /**
1533
1907
  * Get a template publication
@@ -1566,7 +1940,7 @@ export declare class Templates {
1566
1940
  /**
1567
1941
  * Issue a template project Git credential
1568
1942
  *
1569
- * Exchanges the caller's Samva authorization for a one-hour, repository-scoped Artifact Git credential.
1943
+ * Exchanges the caller's Samva authorization for a one-hour Git credential scoped to the template repository.
1570
1944
  */
1571
1945
  static issueGitCredential<ThrowOnError extends boolean = false>(parameters: {
1572
1946
  id: TemplateId;
@@ -1606,24 +1980,66 @@ export declare class Templates {
1606
1980
  export declare class Templates2 {
1607
1981
  static templates: typeof Templates;
1608
1982
  }
1609
- export declare class Design {
1983
+ export declare class Brands {
1984
+ /**
1985
+ * List brands
1986
+ *
1987
+ * Returns the organization's brands, the default brand first.
1988
+ */
1989
+ static list<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<BrandsListResponses, BrandsListErrors, ThrowOnError>;
1990
+ /**
1991
+ * Create a brand
1992
+ *
1993
+ * Creates a brand. The CSS must parse as a brand theme; a rejected theme answers 422 with located findings under `fields.css`. With `isDefault`, the new brand becomes the default. An organization holds at most 12 brands; creating one more answers 409 with a `ConflictError`.
1994
+ */
1995
+ static create<ThrowOnError extends boolean = false>(parameters: {
1996
+ slug: string;
1997
+ name: string;
1998
+ css?: string | null | undefined;
1999
+ assets?: BrandAssets | null | undefined;
2000
+ footer?: BrandFooter | null | undefined;
2001
+ isDefault?: boolean | null | undefined;
2002
+ }, options?: Options<never, ThrowOnError>): RequestResult<BrandsCreateResponses, BrandsCreateErrors, ThrowOnError>;
1610
2003
  /**
1611
- * Get the organization design
2004
+ * Delete a brand
1612
2005
  *
1613
- * Returns the organization's configured email design kit (theme, assets, footer), or null when none is set.
2006
+ * Deletes a brand. The default brand cannot be deleted; domains that used the deleted brand fall back to the default.
1614
2007
  */
1615
- static get<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<DesignGetResponses, DesignGetErrors, ThrowOnError>;
2008
+ static remove<ThrowOnError extends boolean = false>(parameters: {
2009
+ slug: string;
2010
+ }, options?: Options<never, ThrowOnError>): RequestResult<BrandsRemoveResponses, BrandsRemoveErrors, ThrowOnError>;
1616
2011
  /**
1617
- * Update the organization design
2012
+ * Get a brand
1618
2013
  *
1619
- * Validates and saves the organization's email design kit; a null body clears the design back to the base design floor.
2014
+ * Returns one brand by its slug.
2015
+ */
2016
+ static get<ThrowOnError extends boolean = false>(parameters: {
2017
+ slug: string;
2018
+ }, options?: Options<never, ThrowOnError>): RequestResult<BrandsGetResponses, BrandsGetErrors, ThrowOnError>;
2019
+ /**
2020
+ * Update a brand
2021
+ *
2022
+ * Updates a brand. Each section given replaces that section whole. Published templates keep the brand they were built against until they are republished.
1620
2023
  */
1621
2024
  static update<ThrowOnError extends boolean = false>(parameters: {
1622
- design: Design3 | null;
1623
- }, options?: Options<never, ThrowOnError>): RequestResult<DesignUpdateResponses, DesignUpdateErrors, ThrowOnError>;
2025
+ slug: string;
2026
+ newSlug?: string | null | undefined;
2027
+ name?: string | null | undefined;
2028
+ css?: string | null | undefined;
2029
+ assets?: BrandAssets | null | undefined;
2030
+ footer?: BrandFooter | null | undefined;
2031
+ }, options?: Options<never, ThrowOnError>): RequestResult<BrandsUpdateResponses, BrandsUpdateErrors, ThrowOnError>;
2032
+ /**
2033
+ * Make a brand the default
2034
+ *
2035
+ * Makes this brand the organization's default: bare `samva:brand` and domains without a brand resolve to it at their next build or send.
2036
+ */
2037
+ static setDefault<ThrowOnError extends boolean = false>(parameters: {
2038
+ slug: string;
2039
+ }, options?: Options<never, ThrowOnError>): RequestResult<BrandsSetDefaultResponses, BrandsSetDefaultErrors, ThrowOnError>;
1624
2040
  }
1625
- export declare class Design2 {
1626
- static design: typeof Design;
2041
+ export declare class Brands2 {
2042
+ static brands: typeof Brands;
1627
2043
  }
1628
2044
  export declare class Webhooks {
1629
2045
  /**
@@ -1645,7 +2061,7 @@ export declare class Webhooks {
1645
2061
  static create<ThrowOnError extends boolean = false>(parameters: {
1646
2062
  name: string;
1647
2063
  url: string;
1648
- eventTypes: Array<"message.sent" | "message.delivered" | "message.read" | "message.failed" | "message.bounced" | "message.complained" | "message.received" | "contact.created" | "contact.updated" | "contact.deleted" | "conversation.started" | "conversation.ended" | "conversation.created" | "conversation.updated" | "conversation.archived" | "template.created" | "template.updated" | "template.deleted" | "template.approved" | "template.rejected" | "webhook.created" | "webhook.updated" | "webhook.deleted" | "webhook.test" | "domain.updated" | "domain.warming.updated">;
2064
+ eventTypes: Array<"message.sent" | "message.delivered" | "message.read" | "message.failed" | "message.bounced" | "message.complained" | "message.received" | "contact.created" | "contact.updated" | "contact.deleted" | "conversation.created" | "conversation.updated" | "conversation.archived" | "webhook.created" | "webhook.updated" | "webhook.deleted" | "webhook.test" | "domain.updated" | "domain.warming.updated">;
1649
2065
  channels?: Array<"email"> | null | undefined;
1650
2066
  headers?: {
1651
2067
  [key: string]: string;
@@ -1677,7 +2093,7 @@ export declare class Webhooks {
1677
2093
  id: WebhookEndpointId;
1678
2094
  name?: string | null | undefined;
1679
2095
  url?: string | null | undefined;
1680
- eventTypes?: Array<"message.sent" | "message.delivered" | "message.read" | "message.failed" | "message.bounced" | "message.complained" | "message.received" | "contact.created" | "contact.updated" | "contact.deleted" | "conversation.started" | "conversation.ended" | "conversation.created" | "conversation.updated" | "conversation.archived" | "template.created" | "template.updated" | "template.deleted" | "template.approved" | "template.rejected" | "webhook.created" | "webhook.updated" | "webhook.deleted" | "webhook.test" | "domain.updated" | "domain.warming.updated"> | null | undefined;
2096
+ eventTypes?: Array<"message.sent" | "message.delivered" | "message.read" | "message.failed" | "message.bounced" | "message.complained" | "message.received" | "contact.created" | "contact.updated" | "contact.deleted" | "conversation.created" | "conversation.updated" | "conversation.archived" | "webhook.created" | "webhook.updated" | "webhook.deleted" | "webhook.test" | "domain.updated" | "domain.warming.updated"> | null | undefined;
1681
2097
  channels?: Array<"email"> | null | null | undefined;
1682
2098
  headers?: {
1683
2099
  [key: string]: string;
@@ -1707,7 +2123,7 @@ export declare class Webhooks {
1707
2123
  /**
1708
2124
  * Get webhook delivery statistics
1709
2125
  *
1710
- * Returns aggregate pending, delivered, exhausted, and cancelled delivery counts for a webhook endpoint, plus the same counts per workspace-local calendar day over the selected period of 7, 30, or 90 days. Deliveries are retained for 90 days, so 90d is the whole history.
2126
+ * Returns aggregate pending, delivered, exhausted, and cancelled delivery counts for a webhook endpoint, plus the same counts per organization-local calendar day over the selected period of 7, 30, or 90 days. Deliveries are retained for 90 days, so 90d is the whole history.
1711
2127
  */
1712
2128
  static getStats<ThrowOnError extends boolean = false>(parameters: {
1713
2129
  webhookId: WebhookEndpointId;
@@ -1736,9 +2152,9 @@ export declare class Webhooks2 {
1736
2152
  }
1737
2153
  export declare class Organizations {
1738
2154
  /**
1739
- * Create a workspace
2155
+ * Create an organization
1740
2156
  *
1741
- * Creates a new workspace organization under the current billing account and returns it.
2157
+ * Creates a new organization under the current billing account and returns it.
1742
2158
  */
1743
2159
  static create<ThrowOnError extends boolean = false>(parameters: {
1744
2160
  name: string;
@@ -1752,20 +2168,17 @@ export declare class Organizations {
1752
2168
  /**
1753
2169
  * Update the current organization
1754
2170
  *
1755
- * Updates the current organization's profile, billing, locale, design, default reply-to, and default unsubscribe-group fields and returns the saved organization.
2171
+ * Updates the current organization's profile, regional defaults, reply-to, and unsubscribe-group defaults and returns the saved organization. `metadata` is merged into the stored value; every other field is replaced.
1756
2172
  */
1757
2173
  static update<ThrowOnError extends boolean = false>(parameters?: {
1758
2174
  name?: string | null | undefined;
1759
2175
  slug?: string | null | undefined;
1760
- billingEmail?: string | null | undefined;
1761
2176
  countryCode?: string | null | undefined;
1762
- currency?: string | null | undefined;
1763
2177
  timezone?: IanaTimezone | null | undefined;
1764
2178
  isActive?: boolean | null | undefined;
1765
2179
  metadata?: {
1766
2180
  [key: string]: JsonValue;
1767
2181
  } | null | undefined;
1768
- design?: Design3 | null | null | undefined;
1769
2182
  replyToDefault?: Array<string> | null | null | undefined;
1770
2183
  defaultUnsubscribeGroupId?: UnsubscribeId | null | null | undefined;
1771
2184
  emailFooterEnabledDefault?: boolean | null | null | undefined;
@@ -1779,22 +2192,14 @@ export declare class Organizations {
1779
2192
  period?: "current" | "last_30_days" | "last_90_days" | "last_year" | null | undefined;
1780
2193
  }, options?: Options<never, ThrowOnError>): RequestResult<OrganizationsGetUsageResponses, OrganizationsGetUsageErrors, ThrowOnError>;
1781
2194
  /**
1782
- * Delete the current workspace
2195
+ * Delete the current organization
1783
2196
  *
1784
- * Starts an owner-authorized durable workspace deletion operation, confirming the workspace name in the request. Repeating the same request with the same Idempotency-Key returns the existing organization-scoped operation.
2197
+ * Starts an owner-authorized organization deletion operation, confirming the organization name in the request. Repeating the same request with the same Idempotency-Key returns the existing organization-scoped operation.
1785
2198
  */
1786
2199
  static delete<ThrowOnError extends boolean = false>(parameters: {
1787
2200
  "idempotency-key": string;
1788
2201
  confirmationName: string;
1789
2202
  }, options?: Options<never, ThrowOnError>): RequestResult<OrganizationsDeleteResponses, OrganizationsDeleteErrors, ThrowOnError>;
1790
- /**
1791
- * Create the first workspace
1792
- *
1793
- * Creates a replacement first workspace under the signed-in user's billing account when no workspace membership remains.
1794
- */
1795
- static bootstrap<ThrowOnError extends boolean = false>(parameters: {
1796
- name: string;
1797
- }, options?: Options<never, ThrowOnError>): RequestResult<OrganizationsBootstrapResponses, OrganizationsBootstrapErrors, ThrowOnError>;
1798
2203
  }
1799
2204
  export declare class Organizations2 {
1800
2205
  static organizations: typeof Organizations;
@@ -1820,7 +2225,7 @@ export declare class ApiKeys {
1820
2225
  name: string;
1821
2226
  description?: string | null | undefined;
1822
2227
  expiresAt?: string | null | undefined;
1823
- permissions?: ApiKeyPermissions | undefined;
2228
+ access?: ApiKeyAccess | null | undefined;
1824
2229
  }, options?: Options<never, ThrowOnError>): RequestResult<ApiKeysCreateResponses, ApiKeysCreateErrors, ThrowOnError>;
1825
2230
  /**
1826
2231
  * Revoke an API key
@@ -1833,7 +2238,7 @@ export declare class ApiKeys {
1833
2238
  /**
1834
2239
  * Get an API key
1835
2240
  *
1836
- * Returns the API key with the given ID, including its metadata and permissions.
2241
+ * Returns the API key with the given ID, including its metadata and access.
1837
2242
  */
1838
2243
  static get<ThrowOnError extends boolean = false>(parameters: {
1839
2244
  id: ApiKeyId;
@@ -1851,7 +2256,7 @@ export declare class ApiKeys {
1851
2256
  /**
1852
2257
  * Rotate an API key
1853
2258
  *
1854
- * Issues a replacement with the same owner, name, and permissions, then deactivates the existing key. Returns the new key, including the plaintext secret.
2259
+ * Issues a replacement with the same owner, name, and access, then deactivates the existing key. Returns the new key, including the plaintext secret.
1855
2260
  */
1856
2261
  static rotate<ThrowOnError extends boolean = false>(parameters: {
1857
2262
  id: ApiKeyId;