samva 0.4.0 → 0.6.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 (63) hide show
  1. package/AGENTS.md +3 -2
  2. package/README.md +12 -2
  3. package/dist/{categories-CsUa8ojo.js → categories-4u9Az4No.js} +28 -8
  4. package/dist/client/sdk.gen.d.ts +545 -74
  5. package/dist/client/types.gen.d.ts +3907 -747
  6. package/dist/{client-BmZK_uCt.js → client-DCM6U0-I.js} +3061 -808
  7. package/dist/{client-attribution-BslSOa_8.js → client-attribution-DYUSAa76.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/campaigns.d.ts +52 -18
  15. package/dist/effect/campaigns.js +1 -1
  16. package/dist/effect/categories.d.ts +3 -3
  17. package/dist/effect/categories.js +1 -1
  18. package/dist/effect/client.js +1 -1
  19. package/dist/effect/contact-groups.d.ts +375 -0
  20. package/dist/effect/contact-groups.js +29 -0
  21. package/dist/effect/contacts.d.ts +35 -19
  22. package/dist/effect/contacts.js +1 -1
  23. package/dist/effect/conversations.d.ts +191 -44
  24. package/dist/effect/conversations.js +1 -1
  25. package/dist/effect/custom-fields.d.ts +111 -0
  26. package/dist/effect/custom-fields.js +17 -0
  27. package/dist/effect/design.d.ts +2 -2
  28. package/dist/effect/design.js +1 -1
  29. package/dist/effect/email.d.ts +931 -97
  30. package/dist/effect/email.js +27 -3
  31. package/dist/effect/generated-metadata.d.ts +16 -4
  32. package/dist/effect/generated.d.ts +19596 -10819
  33. package/dist/effect/index.d.ts +6 -1
  34. package/dist/effect/index.js +8 -3
  35. package/dist/effect/internal/operation.d.ts +124 -26
  36. package/dist/effect/media.d.ts +8 -8
  37. package/dist/effect/media.js +1 -1
  38. package/dist/effect/messages.d.ts +473 -64
  39. package/dist/effect/messages.js +5 -3
  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 -110
  43. package/dist/effect/organizations.js +2 -4
  44. package/dist/effect/retry.js +1 -1
  45. package/dist/effect/scheduled-messages.d.ts +96 -12
  46. package/dist/effect/scheduled-messages.js +5 -3
  47. package/dist/effect/templates.d.ts +35 -295
  48. package/dist/effect/templates.js +3 -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 +52 -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-B1knNlxk.js → operation-02YX3hY9.js} +144 -8
  57. package/dist/promises/errors.gen.d.ts +47 -39
  58. package/dist/promises/index.d.ts +19 -4
  59. package/dist/promises/index.js +2 -2
  60. package/dist/promises/types.gen.d.ts +1 -1
  61. package/dist/{promises-n1opem5V.js → promises-8MaPNAam.js} +1679 -267
  62. package/dist/service-map.d.ts +221 -8
  63. package/package.json +29 -9
@@ -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, EmailBuildCustomTrackingDomainConnectApplyUrlErrors, EmailBuildCustomTrackingDomainConnectApplyUrlResponses, EmailBuildDomainConnectApplyUrlErrors, EmailBuildDomainConnectApplyUrlResponses, EmailCheckBlockedErrors, EmailCheckBlockedResponses, EmailCheckSenderVerificationErrors, EmailCheckSenderVerificationResponses, EmailClearDomainDefaultSenderErrors, EmailClearDomainDefaultSenderResponses, EmailCompleteCustomTrackingDomainConnectErrors, EmailCompleteCustomTrackingDomainConnectResponses, EmailCompleteDomainConnectErrors, EmailCompleteDomainConnectResponses, EmailCreateForwardingRuleErrors, EmailCreateForwardingRuleResponses, EmailDeleteForwardingRuleErrors, EmailDeleteForwardingRuleResponses, EmailDetectRegistrarErrors, EmailDetectRegistrarResponses, EmailDisableCatchAllErrors, EmailDisableCatchAllResponses, EmailDisableCustomTrackingErrors, EmailDisableCustomTrackingResponses, EmailDomainId, EmailEnableCatchAllErrors, EmailEnableCatchAllResponses, EmailEnableCustomTrackingErrors, EmailEnableCustomTrackingResponses, EmailEnableReceivingErrors, EmailEnableReceivingResponses, EmailForwardingRuleId, EmailGetBlockLogsErrors, EmailGetBlockLogsResponses, EmailGetCatchAllConfigErrors, EmailGetCatchAllConfigResponses, EmailGetCatchAllStatsErrors, EmailGetCatchAllStatsResponses, EmailGetCustomTrackingDomainConnectErrors, EmailGetCustomTrackingDomainConnectResponses, EmailGetCustomTrackingErrors, EmailGetCustomTrackingResponses, EmailGetDomainByIdErrors, EmailGetDomainByIdResponses, EmailGetDomainConnectErrors, EmailGetDomainConnectResponses, EmailGetDomainVerificationErrors, EmailGetDomainVerificationResponses, EmailGetForwardingLogErrors, EmailGetForwardingLogResponses, EmailGetRecipientTrackingPreferenceErrors, EmailGetRecipientTrackingPreferenceResponses, EmailGetStatsErrors, EmailGetStatsResponses, EmailGetTrackingDefaultsErrors, EmailGetTrackingDefaultsResponses, EmailListBlocksErrors, EmailListBlocksResponses, EmailListDomainsErrors, EmailListDomainsResponses, EmailListForwardingRulesErrors, EmailListForwardingRulesResponses, EmailListSendersErrors, EmailListSendersResponses, EmailListSuppressionsErrors, EmailListSuppressionsResponses, EmailRemoveBlockErrors, EmailRemoveBlockResponses, EmailRemoveDomainErrors, EmailRemoveDomainResponses, EmailRemoveSenderErrors, EmailRemoveSenderResponses, EmailRemoveSuppressionErrors, EmailRemoveSuppressionResponses, EmailSenderId, EmailSendMessagePayload, EmailSetDefaultDomainErrors, EmailSetDefaultDomainResponses, EmailSetDefaultSenderErrors, EmailSetDefaultSenderResponses, EmailSetDomainDefaultSenderErrors, EmailSetDomainDefaultSenderResponses, EmailUpdateBlockErrors, EmailUpdateBlockResponses, EmailUpdateCatchAllConfigErrors, EmailUpdateCatchAllConfigResponses, EmailUpdateDomainConfigErrors, EmailUpdateDomainConfigResponses, EmailUpdateForwardingRuleErrors, EmailUpdateForwardingRuleResponses, EmailUpdateRecipientTrackingPreferenceErrors, EmailUpdateRecipientTrackingPreferenceResponses, EmailUpdateTrackingDefaultsErrors, EmailUpdateTrackingDefaultsResponses, ForwardingConditions, HumanProfile, JsonObject, JsonValue, MediaCompleteErrors, MediaCompleteResponses, MediaCreateErrors, MediaCreateResponses, MediaDownloadUrlErrors, MediaDownloadUrlResponses, MediaGetByIdErrors, MediaGetByIdResponses, MediaId, MediaRemoveErrors, MediaRemoveResponses, MessageId, MessagesGetEmailErrors, MessagesGetEmailResponses, MessagesGetErrors, MessagesGetEventsErrors, MessagesGetEventsResponses, MessagesGetResponses, MessagesGetStatusErrors, MessagesGetStatusResponses, MessagesListErrors, MessagesListResponses, MessagesRemoveErrors, MessagesRemoveResponses, MessagesSendErrors, MessagesSendResponses, 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, 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, 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, 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, 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, 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, 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 across all channels, 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;
@@ -65,6 +66,21 @@ export declare class Messages {
65
66
  includeS3Urls?: string | null | undefined;
66
67
  urlExpiresIn?: string | null | undefined;
67
68
  }, options?: Options<never, ThrowOnError>): RequestResult<MessagesGetEmailResponses, MessagesGetEmailErrors, ThrowOnError>;
69
+ /**
70
+ * Validate an email message
71
+ *
72
+ * Resolves recipients, sender, and inline or published-template content without sending anything, creating contacts or messages, or counting toward your quota.
73
+ */
74
+ static validateEmail<ThrowOnError extends boolean = false>(parameters: {
75
+ conversationId?: ConversationId | null | null | undefined;
76
+ metadata?: MessageMetadata | undefined;
77
+ channel: "email";
78
+ to: EmailRecipients;
79
+ cc?: EmailCcRecipients | undefined;
80
+ bcc?: EmailBccRecipients | undefined;
81
+ from?: EmailSender | undefined;
82
+ email: EmailContent;
83
+ }, options?: Options<never, ThrowOnError>): RequestResult<MessagesValidateEmailResponses, MessagesValidateEmailErrors, ThrowOnError>;
68
84
  /**
69
85
  * Get message delivery status
70
86
  *
@@ -89,7 +105,7 @@ export declare class Operations {
89
105
  /**
90
106
  * List asynchronous operations
91
107
  *
92
- * Lists durable asynchronous operation state for the active organization.
108
+ * Lists asynchronous operations for the active organization.
93
109
  */
94
110
  static list<ThrowOnError extends boolean = false>(parameters?: {
95
111
  page?: string | null | undefined;
@@ -100,7 +116,7 @@ export declare class Operations {
100
116
  /**
101
117
  * Get an asynchronous operation
102
118
  *
103
- * Returns one durable asynchronous operation from the active organization.
119
+ * Returns one asynchronous operation from the active organization.
104
120
  */
105
121
  static get<ThrowOnError extends boolean = false>(parameters: {
106
122
  operationId: OperationId;
@@ -108,7 +124,7 @@ export declare class Operations {
108
124
  /**
109
125
  * Retry an asynchronous operation
110
126
  *
111
- * 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`.
112
128
  */
113
129
  static retry<ThrowOnError extends boolean = false>(parameters: {
114
130
  operationId: OperationId;
@@ -124,19 +140,19 @@ export declare class ScheduledMessages {
124
140
  * Returns a paginated list of scheduled messages, optionally filtered by status.
125
141
  */
126
142
  static list<ThrowOnError extends boolean = false>(parameters?: {
127
- status?: "pending" | "dispatching" | "dispatched" | "cancelled" | "failed" | null | undefined;
143
+ status?: "pending" | "dispatching" | "paused" | "dispatched" | "cancelled" | "failed" | null | undefined;
128
144
  page?: string | null | undefined;
129
145
  limit?: string | null | undefined;
130
146
  }, options?: Options<never, ThrowOnError>): RequestResult<ScheduledMessagesListResponses, ScheduledMessagesListErrors, ThrowOnError>;
131
147
  /**
132
148
  * Schedule a message
133
149
  *
134
- * 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.
135
151
  */
136
152
  static create<ThrowOnError extends boolean = false>(parameters: {
137
153
  send: DispatchSendMessagePayload;
138
154
  scheduledFor: string;
139
- timezone?: string | null | undefined;
155
+ timezone?: IanaTimezone | null | undefined;
140
156
  idempotencyKey?: string | null | undefined;
141
157
  referenceId?: string | null | undefined;
142
158
  }, options?: Options<never, ThrowOnError>): RequestResult<ScheduledMessagesCreateResponses, ScheduledMessagesCreateErrors, ThrowOnError>;
@@ -156,6 +172,20 @@ export declare class ScheduledMessages {
156
172
  static cancel<ThrowOnError extends boolean = false>(parameters: {
157
173
  id: ScheduledMessageId;
158
174
  }, options?: Options<never, ThrowOnError>): RequestResult<ScheduledMessagesCancelResponses, ScheduledMessagesCancelErrors, ThrowOnError>;
175
+ /**
176
+ * Resume a review-paused scheduled message
177
+ *
178
+ * Explicitly resumes a scheduled message after onboarding review clearance. An overdue message requires either send_now or a new future scheduledFor value.
179
+ */
180
+ static resume<ThrowOnError extends boolean = false>(parameters: {
181
+ id: ScheduledMessageId;
182
+ body: {
183
+ choice: "send_now";
184
+ } | {
185
+ choice: "new_time";
186
+ scheduledFor: string;
187
+ };
188
+ }, options?: Options<never, ThrowOnError>): RequestResult<ScheduledMessagesResumeResponses, ScheduledMessagesResumeErrors, ThrowOnError>;
159
189
  }
160
190
  export declare class ScheduledMessages2 {
161
191
  static scheduledMessages: typeof ScheduledMessages;
@@ -164,7 +194,7 @@ export declare class Campaigns {
164
194
  /**
165
195
  * List campaigns
166
196
  *
167
- * 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.
168
198
  */
169
199
  static list<ThrowOnError extends boolean = false>(parameters?: {
170
200
  status?: "draft" | "archived" | null | undefined;
@@ -262,7 +292,7 @@ export declare class Campaigns {
262
292
  /**
263
293
  * Cancel a campaign run
264
294
  *
265
- * 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.
266
296
  */
267
297
  static cancelRun<ThrowOnError extends boolean = false>(parameters: {
268
298
  id: CampaignId;
@@ -285,10 +315,34 @@ export declare class Campaigns2 {
285
315
  static campaigns: typeof Campaigns;
286
316
  }
287
317
  export declare class Email {
318
+ /**
319
+ * Get email onboarding review status
320
+ *
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.
322
+ */
323
+ static getOnboardingReview<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<EmailGetOnboardingReviewResponses, EmailGetOnboardingReviewErrors, ThrowOnError>;
324
+ /**
325
+ * Reapply for email onboarding review
326
+ *
327
+ * Allows an organization owner or admin to submit a rejected organization for review again. The expected generation prevents acting on stale status.
328
+ */
329
+ static reapplyOnboardingReview<ThrowOnError extends boolean = false>(parameters: {
330
+ expectedGeneration: number;
331
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailReapplyOnboardingReviewResponses, EmailReapplyOnboardingReviewErrors, ThrowOnError>;
332
+ /**
333
+ * Respond to an email onboarding information request
334
+ *
335
+ * Allows organization owners and admins to submit a text response and up to three evidence uploads for the current information request.
336
+ */
337
+ static respondToOnboardingInformationRequest<ThrowOnError extends boolean = false>(parameters: {
338
+ expectedGeneration: number;
339
+ responseText: string;
340
+ evidenceMediaIds: Array<MediaId>;
341
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailRespondToOnboardingInformationRequestResponses, EmailRespondToOnboardingInformationRequestErrors, ThrowOnError>;
288
342
  /**
289
343
  * Get email tracking defaults
290
344
  *
291
- * 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.
292
346
  */
293
347
  static getTrackingDefaults<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>): RequestResult<EmailGetTrackingDefaultsResponses, EmailGetTrackingDefaultsErrors, ThrowOnError>;
294
348
  /**
@@ -320,7 +374,7 @@ export declare class Email {
320
374
  /**
321
375
  * List sending domains
322
376
  *
323
- * Returns a paginated list of the organization's sending domains.
377
+ * Returns a paginated list of the organization's sending domains. 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.
324
378
  */
325
379
  static listDomains<ThrowOnError extends boolean = false>(parameters?: {
326
380
  page?: string | null | undefined;
@@ -329,7 +383,7 @@ export declare class Email {
329
383
  /**
330
384
  * Add a sending domain
331
385
  *
332
- * 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.
386
+ * 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.
333
387
  */
334
388
  static addDomain<ThrowOnError extends boolean = false>(parameters: {
335
389
  domain: string;
@@ -341,7 +395,7 @@ export declare class Email {
341
395
  /**
342
396
  * Get domain verification
343
397
  *
344
- * Returns the stored DNS and provider lifecycle snapshot without calling a provider or mutating state.
398
+ * 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.
345
399
  */
346
400
  static getDomainVerification<ThrowOnError extends boolean = false>(parameters: {
347
401
  id: EmailDomainId;
@@ -349,11 +403,20 @@ export declare class Email {
349
403
  /**
350
404
  * Advance domain verification
351
405
  *
352
- * Observes the required DNS records and, once they match, idempotently starts provider provisioning for the staged domain.
406
+ * Checks the required DNS records now and, once they all match, moves the domain toward verified. Safe to call repeatedly.
353
407
  */
354
408
  static advanceDomainVerification<ThrowOnError extends boolean = false>(parameters: {
355
409
  id: EmailDomainId;
356
410
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailAdvanceDomainVerificationResponses, EmailAdvanceDomainVerificationErrors, ThrowOnError>;
411
+ /**
412
+ * Stage a DKIM selector rotation
413
+ *
414
+ * 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`.
415
+ */
416
+ static rotateDomainDkim<ThrowOnError extends boolean = false>(parameters: {
417
+ "idempotency-key": string;
418
+ id: EmailDomainId;
419
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailRotateDomainDkimResponses, EmailRotateDomainDkimErrors, ThrowOnError>;
357
420
  /**
358
421
  * Remove a sending domain
359
422
  *
@@ -400,17 +463,18 @@ export declare class Email {
400
463
  /**
401
464
  * Complete a one-click DNS return
402
465
  *
403
- * 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).
466
+ * 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.
404
467
  */
405
468
  static completeDomainConnect<ThrowOnError extends boolean = false>(parameters: {
406
469
  id: EmailDomainId;
407
470
  state: string;
408
471
  error?: string | null | undefined;
472
+ errorDescription?: string | null | undefined;
409
473
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailCompleteDomainConnectResponses, EmailCompleteDomainConnectErrors, ThrowOnError>;
410
474
  /**
411
475
  * Enable inbound email for a domain
412
476
  *
413
- * 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.
477
+ * 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.
414
478
  */
415
479
  static enableReceiving<ThrowOnError extends boolean = false>(parameters: {
416
480
  id: EmailDomainId;
@@ -476,7 +540,7 @@ export declare class Email {
476
540
  /**
477
541
  * Enable a custom tracking domain
478
542
  *
479
- * 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.
543
+ * 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.
480
544
  */
481
545
  static enableCustomTracking<ThrowOnError extends boolean = false>(parameters: {
482
546
  id: EmailDomainId;
@@ -493,7 +557,7 @@ export declare class Email {
493
557
  /**
494
558
  * Build an automatic Custom Tracking Domain apply URL
495
559
  *
496
- * 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.
560
+ * 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.
497
561
  */
498
562
  static buildCustomTrackingDomainConnectApplyUrl<ThrowOnError extends boolean = false>(parameters: {
499
563
  id: EmailDomainId;
@@ -501,17 +565,18 @@ export declare class Email {
501
565
  /**
502
566
  * Complete an automatic Custom Tracking Domain return
503
567
  *
504
- * 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.
568
+ * 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.
505
569
  */
506
570
  static completeCustomTrackingDomainConnect<ThrowOnError extends boolean = false>(parameters: {
507
571
  id: EmailDomainId;
508
572
  state: string;
509
573
  error?: string | null | undefined;
574
+ errorDescription?: string | null | undefined;
510
575
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailCompleteCustomTrackingDomainConnectResponses, EmailCompleteCustomTrackingDomainConnectErrors, ThrowOnError>;
511
576
  /**
512
577
  * List sender identities
513
578
  *
514
- * Returns a paginated list of sender identities, optionally filtered by verification status, active state, or default flag.
579
+ * 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.
515
580
  */
516
581
  static listSenders<ThrowOnError extends boolean = false>(parameters?: {
517
582
  page?: string | null | undefined;
@@ -523,7 +588,7 @@ export declare class Email {
523
588
  /**
524
589
  * Add a sender identity
525
590
  *
526
- * Durably creates a sender identity. The required Idempotency-Key replays the original sender for an identical request and conflicts when reused with different input.
591
+ * Creates a sender identity. The required Idempotency-Key replays the original sender for an identical request and conflicts when reused with different input.
527
592
  */
528
593
  static addSender<ThrowOnError extends boolean = false>(parameters: {
529
594
  "idempotency-key": string;
@@ -543,11 +608,19 @@ export declare class Email {
543
608
  /**
544
609
  * Remove a sender identity
545
610
  *
546
- * Accepts sender removal, marks it inactive, and retains its deleting lifecycle until provider identity and association cleanup is confirmed.
611
+ * Accepts sender removal and marks the sender inactive. It reports the `deleting` lifecycle until removal finishes.
547
612
  */
548
613
  static removeSender<ThrowOnError extends boolean = false>(parameters: {
549
614
  id: EmailSenderId;
550
615
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailRemoveSenderResponses, EmailRemoveSenderErrors, ThrowOnError>;
616
+ /**
617
+ * Get a sender identity
618
+ *
619
+ * Returns one sender identity owned by the authenticated organization. Other organizations' ids are reported as not found.
620
+ */
621
+ static getSender<ThrowOnError extends boolean = false>(parameters: {
622
+ id: EmailSenderId;
623
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailGetSenderResponses, EmailGetSenderErrors, ThrowOnError>;
551
624
  /**
552
625
  * Set the organization default sender
553
626
  *
@@ -568,7 +641,7 @@ export declare class Email {
568
641
  /**
569
642
  * Enable catch-all receiving
570
643
  *
571
- * 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.
644
+ * 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.
572
645
  */
573
646
  static enableCatchAll<ThrowOnError extends boolean = false>(parameters: {
574
647
  domainId: EmailDomainId;
@@ -612,7 +685,7 @@ export declare class Email {
612
685
  /**
613
686
  * List suppressed addresses
614
687
  *
615
- * 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.
688
+ * 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.
616
689
  */
617
690
  static listSuppressions<ThrowOnError extends boolean = false>(parameters?: {
618
691
  type?: "bounce" | "complaint" | "unsubscribe" | "manual" | null | undefined;
@@ -624,7 +697,7 @@ export declare class Email {
624
697
  /**
625
698
  * Remove a suppressed address
626
699
  *
627
- * 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.
700
+ * 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.
628
701
  */
629
702
  static removeSuppression<ThrowOnError extends boolean = false>(parameters: {
630
703
  id: SuppressionId;
@@ -766,6 +839,73 @@ export declare class Email {
766
839
  limit?: string | null | undefined;
767
840
  offset?: string | null | undefined;
768
841
  }, options?: Options<never, ThrowOnError>): RequestResult<EmailGetForwardingLogResponses, EmailGetForwardingLogErrors, ThrowOnError>;
842
+ /**
843
+ * Get domain warming
844
+ *
845
+ * Returns the domain's automated warming policy, its system-created 24-hour windows and policy snapshots, the rolling bounce and complaint window the safety rule reads, every pause above the plan, and the decision history. A domain without a plan returns the evidence and a null plan.
846
+ */
847
+ static getDomainWarming<ThrowOnError extends boolean = false>(parameters: {
848
+ id: EmailDomainId;
849
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailGetDomainWarmingResponses, EmailGetDomainWarmingErrors, ThrowOnError>;
850
+ /**
851
+ * Start domain warming
852
+ *
853
+ * Starts an automated warming policy on a verified sending domain. Samva opens the first 24-hour campaign window immediately, then opens later windows from the saved growth policy after safe windows close. Direct sends are counted in the domain's window but never delayed. Responds with 201.
854
+ */
855
+ static createDomainWarmingPlan<ThrowOnError extends boolean = false>(parameters: {
856
+ id: EmailDomainId;
857
+ identity: "new" | "migrating" | "returning";
858
+ initialDailyRecipients: number;
859
+ dailyGrowthPercent: number;
860
+ targetDailyRecipients: number;
861
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailCreateDomainWarmingPlanResponses, EmailCreateDomainWarmingPlanErrors, ThrowOnError>;
862
+ /**
863
+ * Update domain warming policy
864
+ *
865
+ * Updates the growth percentage and daily target Samva uses for future 24-hour warming windows. Existing windows keep their policy snapshot, including a scheduled window, so prior authorization remains auditable.
866
+ */
867
+ static updateDomainWarmingPolicy<ThrowOnError extends boolean = false>(parameters: {
868
+ id: EmailDomainId;
869
+ dailyGrowthPercent: number;
870
+ targetDailyRecipients: number;
871
+ note?: string | null | undefined;
872
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailUpdateDomainWarmingPolicyResponses, EmailUpdateDomainWarmingPolicyErrors, ThrowOnError>;
873
+ /**
874
+ * Cancel a warming window
875
+ *
876
+ * Cancels a scheduled or open system-created warming window. Recipients a campaign run already reserved from it stay reserved; no further runs draw from it.
877
+ */
878
+ static cancelDomainWarmingBatch<ThrowOnError extends boolean = false>(parameters: {
879
+ id: EmailDomainId;
880
+ batchId: EmailDomainWarmingBatchId;
881
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailCancelDomainWarmingBatchResponses, EmailCancelDomainWarmingBatchErrors, ThrowOnError>;
882
+ /**
883
+ * Pause domain warming
884
+ *
885
+ * Pauses the plan. Campaign runs from the domain stop at their next page and queued campaign email waits until it expires; direct sends are unaffected.
886
+ */
887
+ static pauseDomainWarming<ThrowOnError extends boolean = false>(parameters: {
888
+ id: EmailDomainId;
889
+ note?: string | null | undefined;
890
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailPauseDomainWarmingResponses, EmailPauseDomainWarmingErrors, ThrowOnError>;
891
+ /**
892
+ * Resume domain warming
893
+ *
894
+ * Resumes a paused or held plan and the campaign runs it was holding. A plan the domain rule held resumes only once the domain's rolling window is under both limits again; until then the request is refused with the observed rate.
895
+ */
896
+ static resumeDomainWarming<ThrowOnError extends boolean = false>(parameters: {
897
+ id: EmailDomainId;
898
+ note?: string | null | undefined;
899
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailResumeDomainWarmingResponses, EmailResumeDomainWarmingErrors, ThrowOnError>;
900
+ /**
901
+ * Complete domain warming
902
+ *
903
+ * Ends the policy. Campaign runs from the domain are no longer gated by warming windows; the organization safeguards still apply.
904
+ */
905
+ static completeDomainWarming<ThrowOnError extends boolean = false>(parameters: {
906
+ id: EmailDomainId;
907
+ note?: string | null | undefined;
908
+ }, options?: Options<never, ThrowOnError>): RequestResult<EmailCompleteDomainWarmingResponses, EmailCompleteDomainWarmingErrors, ThrowOnError>;
769
909
  }
770
910
  export declare class Email2 {
771
911
  static email: typeof Email;
@@ -780,7 +920,7 @@ export declare class Media {
780
920
  filename: string;
781
921
  contentType: string;
782
922
  sizeBytes: number;
783
- purpose: "attachment" | "avatar";
923
+ purpose: "attachment" | "avatar" | "review_evidence";
784
924
  checksumSha256?: string | null | undefined;
785
925
  }, options?: Options<never, ThrowOnError>): RequestResult<MediaCreateResponses, MediaCreateErrors, ThrowOnError>;
786
926
  /**
@@ -819,6 +959,44 @@ export declare class Media {
819
959
  export declare class Media2 {
820
960
  static media: typeof Media;
821
961
  }
962
+ export declare class Attachments {
963
+ /**
964
+ * Delete an attachment
965
+ *
966
+ * Deletes an attachment and returns the deleted attachment's ID.
967
+ */
968
+ static remove<ThrowOnError extends boolean = false>(parameters: {
969
+ id: AttachmentId;
970
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsRemoveResponses, AttachmentsRemoveErrors, ThrowOnError>;
971
+ /**
972
+ * Get an attachment
973
+ *
974
+ * Returns metadata for a single attachment, including filename, content type, and size.
975
+ */
976
+ static getById<ThrowOnError extends boolean = false>(parameters: {
977
+ id: AttachmentId;
978
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsGetByIdResponses, AttachmentsGetByIdErrors, ThrowOnError>;
979
+ /**
980
+ * List message attachments
981
+ *
982
+ * Returns all attachments for the given message, along with a total count.
983
+ */
984
+ static list<ThrowOnError extends boolean = false>(parameters: {
985
+ messageId: MessageId;
986
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsListResponses, AttachmentsListErrors, ThrowOnError>;
987
+ /**
988
+ * Get an attachment download URL
989
+ *
990
+ * Generates a presigned, time-limited download URL for the attachment; expiry is configurable via the expiresIn query parameter.
991
+ */
992
+ static downloadUrl<ThrowOnError extends boolean = false>(parameters: {
993
+ id: AttachmentId;
994
+ expiresIn?: string | null | undefined;
995
+ }, options?: Options<never, ThrowOnError>): RequestResult<AttachmentsDownloadUrlResponses, AttachmentsDownloadUrlErrors, ThrowOnError>;
996
+ }
997
+ export declare class Attachments2 {
998
+ static attachments: typeof Attachments;
999
+ }
822
1000
  export declare class Conversations {
823
1001
  /**
824
1002
  * List conversations
@@ -971,7 +1149,7 @@ export declare class Contacts {
971
1149
  /**
972
1150
  * Find a contact
973
1151
  *
974
- * Samva API operation.
1152
+ * Looks up a single contact by email address or external ID and returns null when no contact matches.
975
1153
  */
976
1154
  static find<ThrowOnError extends boolean = false>(parameters?: {
977
1155
  email?: string | null | undefined;
@@ -1123,6 +1301,323 @@ export declare class Contacts {
1123
1301
  export declare class Contacts2 {
1124
1302
  static contacts: typeof Contacts;
1125
1303
  }
1304
+ export declare class ContactGroups {
1305
+ /**
1306
+ * List contact groups
1307
+ *
1308
+ * Returns a paginated list of contact groups for the organization, filterable by type and active state.
1309
+ */
1310
+ static list<ThrowOnError extends boolean = false>(parameters?: {
1311
+ page?: string | null | undefined;
1312
+ limit?: string | null | undefined;
1313
+ type?: "static" | "dynamic" | "smart" | Array<"static" | "dynamic" | "smart"> | null | undefined;
1314
+ isActive?: string | null | undefined;
1315
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsListResponses, ContactGroupsListErrors, ThrowOnError>;
1316
+ /**
1317
+ * Create a contact group
1318
+ *
1319
+ * Creates a new contact group and returns it with a 201 status.
1320
+ */
1321
+ static create<ThrowOnError extends boolean = false>(parameters: {
1322
+ name: string;
1323
+ description?: string | null | null | undefined;
1324
+ type?: "static" | "dynamic" | "smart" | null | undefined;
1325
+ criteria?: {
1326
+ [key: string]: JsonValue;
1327
+ } | null | null | undefined;
1328
+ color?: "clay" | "sand" | "moss" | "sky" | "plum" | "rose" | null | null | undefined;
1329
+ icon?: string | null | null | undefined;
1330
+ parentGroupId?: ContactGroupId | null | null | undefined;
1331
+ isActive?: boolean | null | undefined;
1332
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsCreateResponses, ContactGroupsCreateErrors, ThrowOnError>;
1333
+ /**
1334
+ * Delete a contact group
1335
+ *
1336
+ * Permanently deletes a contact group by its ID.
1337
+ */
1338
+ static remove<ThrowOnError extends boolean = false>(parameters: {
1339
+ id: ContactGroupId;
1340
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsRemoveResponses, ContactGroupsRemoveErrors, ThrowOnError>;
1341
+ /**
1342
+ * Get a contact group
1343
+ *
1344
+ * Returns a single contact group by its ID.
1345
+ */
1346
+ static getById<ThrowOnError extends boolean = false>(parameters: {
1347
+ id: ContactGroupId;
1348
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsGetByIdResponses, ContactGroupsGetByIdErrors, ThrowOnError>;
1349
+ /**
1350
+ * Update a contact group
1351
+ *
1352
+ * Updates an existing contact group's fields and returns the updated group.
1353
+ */
1354
+ static update<ThrowOnError extends boolean = false>(parameters: {
1355
+ id: ContactGroupId;
1356
+ name?: string | null | undefined;
1357
+ description?: string | null | null | undefined;
1358
+ type?: "static" | "dynamic" | "smart" | null | undefined;
1359
+ criteria?: {
1360
+ [key: string]: JsonValue;
1361
+ } | null | null | undefined;
1362
+ color?: "clay" | "sand" | "moss" | "sky" | "plum" | "rose" | null | null | undefined;
1363
+ icon?: string | null | null | undefined;
1364
+ parentGroupId?: ContactGroupId | null | null | undefined;
1365
+ isActive?: boolean | null | undefined;
1366
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsUpdateResponses, ContactGroupsUpdateErrors, ThrowOnError>;
1367
+ /**
1368
+ * Remove members from a contact group
1369
+ *
1370
+ * Removes one or more contacts from a contact group, returning the count of removed members.
1371
+ */
1372
+ static removeMembers<ThrowOnError extends boolean = false>(parameters: {
1373
+ groupId: ContactGroupId;
1374
+ contactIds: [ContactId, ContactId];
1375
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsRemoveMembersResponses, ContactGroupsRemoveMembersErrors, ThrowOnError>;
1376
+ /**
1377
+ * List members of a contact group
1378
+ *
1379
+ * Returns a paginated list of contacts belonging to a contact group.
1380
+ */
1381
+ static getMembers<ThrowOnError extends boolean = false>(parameters: {
1382
+ groupId: ContactGroupId;
1383
+ page?: string | null | undefined;
1384
+ limit?: string | null | undefined;
1385
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsGetMembersResponses, ContactGroupsGetMembersErrors, ThrowOnError>;
1386
+ /**
1387
+ * Add members to a contact group
1388
+ *
1389
+ * Adds one or more contacts to a contact group, returning counts of added and skipped members.
1390
+ */
1391
+ static addMembers<ThrowOnError extends boolean = false>(parameters: {
1392
+ groupId: ContactGroupId;
1393
+ contactIds: [ContactId, ContactId];
1394
+ role?: "member" | "moderator" | "admin" | null | undefined;
1395
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsAddMembersResponses, ContactGroupsAddMembersErrors, ThrowOnError>;
1396
+ /**
1397
+ * Evaluate a dynamic contact group
1398
+ *
1399
+ * Recomputes a dynamic contact group's membership from its criteria, returning counts of added, removed, and total members.
1400
+ */
1401
+ static evaluateDynamic<ThrowOnError extends boolean = false>(parameters: {
1402
+ groupId: ContactGroupId;
1403
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsEvaluateDynamicResponses, ContactGroupsEvaluateDynamicErrors, ThrowOnError>;
1404
+ /**
1405
+ * Preview contact group criteria
1406
+ *
1407
+ * Evaluates group criteria without persisting, returning the matching contact count and a sample of matches.
1408
+ */
1409
+ static preview<ThrowOnError extends boolean = false>(parameters: {
1410
+ criteria: {
1411
+ contactTypes?: Array<string> | null | undefined;
1412
+ capabilities?: Array<string> | null | undefined;
1413
+ tags?: Array<string> | null | undefined;
1414
+ channels?: Array<string> | null | undefined;
1415
+ match?: "all" | "any" | null | undefined;
1416
+ conditions?: Array<{
1417
+ field: string;
1418
+ operator: string;
1419
+ value: JsonValue;
1420
+ }> | null | undefined;
1421
+ };
1422
+ }, options?: Options<never, ThrowOnError>): RequestResult<ContactGroupsPreviewResponses, ContactGroupsPreviewErrors, ThrowOnError>;
1423
+ }
1424
+ export declare class ContactGroups2 {
1425
+ static contactGroups: typeof ContactGroups;
1426
+ }
1427
+ export declare class CustomFields {
1428
+ /**
1429
+ * List custom fields
1430
+ *
1431
+ * Returns a paginated list of custom field definitions for the organization.
1432
+ */
1433
+ static list<ThrowOnError extends boolean = false>(parameters?: {
1434
+ page?: string | null | undefined;
1435
+ limit?: string | null | undefined;
1436
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsListResponses, CustomFieldsListErrors, ThrowOnError>;
1437
+ /**
1438
+ * Create a custom field
1439
+ *
1440
+ * Creates a new custom field definition and returns it with a 201 status; the field key must be unique.
1441
+ */
1442
+ static create<ThrowOnError extends boolean = false>(parameters: {
1443
+ key: string;
1444
+ label: string;
1445
+ type: "text" | "number" | "boolean" | "date" | "select";
1446
+ options?: Array<string> | null | undefined;
1447
+ defaultValue?: string | null | null | undefined;
1448
+ isRequired?: boolean | null | undefined;
1449
+ sortOrder?: number | null | undefined;
1450
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsCreateResponses, CustomFieldsCreateErrors, ThrowOnError>;
1451
+ /**
1452
+ * Delete a custom field
1453
+ *
1454
+ * Permanently deletes a custom field definition by its ID.
1455
+ */
1456
+ static remove<ThrowOnError extends boolean = false>(parameters: {
1457
+ id: CustomFieldDefinitionId;
1458
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsRemoveResponses, CustomFieldsRemoveErrors, ThrowOnError>;
1459
+ /**
1460
+ * Update a custom field
1461
+ *
1462
+ * Updates an existing custom field definition and returns the updated field.
1463
+ */
1464
+ static update<ThrowOnError extends boolean = false>(parameters: {
1465
+ id: CustomFieldDefinitionId;
1466
+ label?: string | null | undefined;
1467
+ options?: Array<string> | null | undefined;
1468
+ defaultValue?: string | null | null | undefined;
1469
+ isRequired?: boolean | null | undefined;
1470
+ sortOrder?: number | null | undefined;
1471
+ }, options?: Options<never, ThrowOnError>): RequestResult<CustomFieldsUpdateResponses, CustomFieldsUpdateErrors, ThrowOnError>;
1472
+ }
1473
+ export declare class CustomFields2 {
1474
+ static customFields: typeof CustomFields;
1475
+ }
1476
+ export declare class Unsubscribe {
1477
+ /**
1478
+ * List unsubscribe groups
1479
+ *
1480
+ * Returns a paginated list of the organization's unsubscribe groups.
1481
+ */
1482
+ static list<ThrowOnError extends boolean = false>(parameters?: {
1483
+ page?: string | null | undefined;
1484
+ limit?: string | null | undefined;
1485
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeListResponses, UnsubscribeListErrors, ThrowOnError>;
1486
+ /**
1487
+ * Create an unsubscribe group
1488
+ *
1489
+ * Creates a new unsubscribe group and returns it with a 201 Created status.
1490
+ */
1491
+ static create<ThrowOnError extends boolean = false>(parameters: {
1492
+ name: string;
1493
+ description?: string | null | null | undefined;
1494
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeCreateResponses, UnsubscribeCreateErrors, ThrowOnError>;
1495
+ /**
1496
+ * Delete an unsubscribe group
1497
+ *
1498
+ * Permanently deletes an unsubscribe group by its ID.
1499
+ */
1500
+ static remove<ThrowOnError extends boolean = false>(parameters: {
1501
+ id: UnsubscribeId;
1502
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeRemoveResponses, UnsubscribeRemoveErrors, ThrowOnError>;
1503
+ /**
1504
+ * Update an unsubscribe group
1505
+ *
1506
+ * Updates the name or description of an unsubscribe group.
1507
+ */
1508
+ static update<ThrowOnError extends boolean = false>(parameters: {
1509
+ id: UnsubscribeId;
1510
+ name?: string | null | undefined;
1511
+ description?: string | null | null | undefined;
1512
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeUpdateResponses, UnsubscribeUpdateErrors, ThrowOnError>;
1513
+ /**
1514
+ * Remove contacts from an unsubscribe group
1515
+ *
1516
+ * Removes one or more email addresses from an unsubscribe group and returns the number removed.
1517
+ */
1518
+ static removeEmails<ThrowOnError extends boolean = false>(parameters: {
1519
+ groupId: UnsubscribeId;
1520
+ emails: Array<string>;
1521
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeRemoveEmailsResponses, UnsubscribeRemoveEmailsErrors, ThrowOnError>;
1522
+ /**
1523
+ * List unsubscribe group members
1524
+ *
1525
+ * Returns a paginated list of the email addresses in an unsubscribe group.
1526
+ */
1527
+ static listMembers<ThrowOnError extends boolean = false>(parameters: {
1528
+ groupId: UnsubscribeId;
1529
+ page?: string | null | undefined;
1530
+ limit?: string | null | undefined;
1531
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeListMembersResponses, UnsubscribeListMembersErrors, ThrowOnError>;
1532
+ /**
1533
+ * Add contacts to an unsubscribe group
1534
+ *
1535
+ * Adds one or more email addresses to an unsubscribe group and returns the number added and the number skipped.
1536
+ */
1537
+ static addEmails<ThrowOnError extends boolean = false>(parameters: {
1538
+ groupId: UnsubscribeId;
1539
+ emails: Array<string>;
1540
+ source?: "link" | "api" | "manual" | "complaint" | null | undefined;
1541
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeAddEmailsResponses, UnsubscribeAddEmailsErrors, ThrowOnError>;
1542
+ /**
1543
+ * Check unsubscribe group membership
1544
+ *
1545
+ * Returns the unsubscribe groups that an email address has unsubscribed from, optionally limited to a specified set of groups.
1546
+ */
1547
+ static checkSubscription<ThrowOnError extends boolean = false>(parameters: {
1548
+ email: string;
1549
+ groupIds?: string | null | undefined;
1550
+ }, options?: Options<never, ThrowOnError>): RequestResult<UnsubscribeCheckSubscriptionResponses, UnsubscribeCheckSubscriptionErrors, ThrowOnError>;
1551
+ }
1552
+ export declare class UnsubscribeGroups {
1553
+ static unsubscribe: typeof Unsubscribe;
1554
+ }
1555
+ export declare class Analytics {
1556
+ /**
1557
+ * Get message volume analytics
1558
+ *
1559
+ * 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.
1560
+ */
1561
+ static getStats<ThrowOnError extends boolean = false>(parameters?: {
1562
+ startDate?: string | null | undefined;
1563
+ endDate?: string | null | undefined;
1564
+ groupBy?: "day" | "week" | "month" | null | undefined;
1565
+ channel?: "email" | null | undefined;
1566
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetStatsResponses, AnalyticsGetStatsErrors, ThrowOnError>;
1567
+ /**
1568
+ * Get channel performance analytics
1569
+ *
1570
+ * 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.
1571
+ */
1572
+ static getChannelStats<ThrowOnError extends boolean = false>(parameters?: {
1573
+ startDate?: string | null | undefined;
1574
+ endDate?: string | null | undefined;
1575
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetChannelStatsResponses, AnalyticsGetChannelStatsErrors, ThrowOnError>;
1576
+ /**
1577
+ * List top contacts by message volume
1578
+ *
1579
+ * 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.
1580
+ */
1581
+ static getTopContacts<ThrowOnError extends boolean = false>(parameters?: {
1582
+ startDate?: string | null | undefined;
1583
+ endDate?: string | null | undefined;
1584
+ limit?: string | null | undefined;
1585
+ sortBy?: "sent" | "received" | "total" | null | undefined;
1586
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetTopContactsResponses, AnalyticsGetTopContactsErrors, ThrowOnError>;
1587
+ /**
1588
+ * Get hourly message distribution
1589
+ *
1590
+ * 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.
1591
+ */
1592
+ static getHourlyDistribution<ThrowOnError extends boolean = false>(parameters?: {
1593
+ startDate?: string | null | undefined;
1594
+ endDate?: string | null | undefined;
1595
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetHourlyDistributionResponses, AnalyticsGetHourlyDistributionErrors, ThrowOnError>;
1596
+ /**
1597
+ * Get message delivery metrics
1598
+ *
1599
+ * 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.
1600
+ */
1601
+ static getDeliveryMetrics<ThrowOnError extends boolean = false>(parameters?: {
1602
+ startDate?: string | null | undefined;
1603
+ endDate?: string | null | undefined;
1604
+ channel?: "email" | null | undefined;
1605
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsGetDeliveryMetricsResponses, AnalyticsGetDeliveryMetricsErrors, ThrowOnError>;
1606
+ /**
1607
+ * Export messaging analytics data
1608
+ *
1609
+ * 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.
1610
+ */
1611
+ static exportData<ThrowOnError extends boolean = false>(parameters: {
1612
+ startDate: string;
1613
+ endDate: string;
1614
+ format?: "csv" | "json" | null | undefined;
1615
+ includeChannels?: Array<"email"> | null | undefined;
1616
+ }, options?: Options<never, ThrowOnError>): RequestResult<AnalyticsExportDataResponses, AnalyticsExportDataErrors, ThrowOnError>;
1617
+ }
1618
+ export declare class Analytics2 {
1619
+ static analytics: typeof Analytics;
1620
+ }
1126
1621
  export declare class Templates {
1127
1622
  /**
1128
1623
  * List templates
@@ -1154,22 +1649,6 @@ export declare class Templates {
1154
1649
  isActive?: boolean | null | undefined;
1155
1650
  idempotencyKey: string;
1156
1651
  }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesCreateResponses, TemplatesCreateErrors, ThrowOnError>;
1157
- /**
1158
- * List templates for the dashboard
1159
- *
1160
- * Returns a paginated dashboard view that groups related channel templates into families and leaves standalone templates ungrouped.
1161
- */
1162
- static listDashboard<ThrowOnError extends boolean = false>(parameters: {
1163
- page?: string | null | undefined;
1164
- limit?: string | null | undefined;
1165
- allowedChannels: "email" | Array<"email">;
1166
- category?: "transactional" | "marketing" | "support" | "notification" | "verification" | "reminder" | "alert" | null | undefined;
1167
- channel?: "email" | null | undefined;
1168
- status?: "draft" | "pending" | "approved" | "published" | "rejected" | "archived" | null | undefined;
1169
- search?: string | null | undefined;
1170
- sortBy?: "name" | "createdAt" | "updatedAt" | "usageCount" | "lastUsedAt" | null | undefined;
1171
- sortOrder?: "asc" | "desc" | null | undefined;
1172
- }, options?: Options<never, ThrowOnError>): RequestResult<TemplatesListDashboardResponses, TemplatesListDashboardErrors, ThrowOnError>;
1173
1652
  /**
1174
1653
  * List template families
1175
1654
  *
@@ -1289,7 +1768,7 @@ export declare class Templates {
1289
1768
  /**
1290
1769
  * Open a template project workspace
1291
1770
  *
1292
- * Creates or opens the shared project workspace at the current Artifact branch head and returns its effective files.
1771
+ * Creates or opens the shared project workspace at the latest saved version and returns its effective files.
1293
1772
  */
1294
1773
  static openWorkspace<ThrowOnError extends boolean = false>(parameters: {
1295
1774
  id: TemplateId;
@@ -1306,7 +1785,7 @@ export declare class Templates {
1306
1785
  /**
1307
1786
  * Reconcile a template project workspace
1308
1787
  *
1309
- * Fast-forwards or rebases the workspace onto the current Artifact branch head, retaining file conflicts for explicit resolution.
1788
+ * Fast-forwards or rebases the workspace onto the latest saved version, retaining file conflicts for explicit resolution.
1310
1789
  */
1311
1790
  static reconcileWorkspace<ThrowOnError extends boolean = false>(parameters: {
1312
1791
  id: TemplateId;
@@ -1332,7 +1811,7 @@ export declare class Templates {
1332
1811
  /**
1333
1812
  * Save a template project workspace
1334
1813
  *
1335
- * Validates the effective project tree and creates one normal Git commit on the Artifact default branch.
1814
+ * Validates the effective project tree and saves it as one Git commit on the template repository's default branch.
1336
1815
  */
1337
1816
  static saveWorkspace<ThrowOnError extends boolean = false>(parameters: {
1338
1817
  id: TemplateId;
@@ -1355,7 +1834,7 @@ export declare class Templates {
1355
1834
  /**
1356
1835
  * List template project commit history
1357
1836
  *
1358
- * Returns bounded history from the Artifact repository default branch.
1837
+ * Returns recent history from the template repository's default branch.
1359
1838
  */
1360
1839
  static workspaceHistory<ThrowOnError extends boolean = false>(parameters: {
1361
1840
  id: TemplateId;
@@ -1429,7 +1908,7 @@ export declare class Templates {
1429
1908
  /**
1430
1909
  * Issue a template project Git credential
1431
1910
  *
1432
- * Exchanges the caller's Samva authorization for a one-hour, repository-scoped Artifact Git credential.
1911
+ * Exchanges the caller's Samva authorization for a one-hour Git credential scoped to the template repository.
1433
1912
  */
1434
1913
  static issueGitCredential<ThrowOnError extends boolean = false>(parameters: {
1435
1914
  id: TemplateId;
@@ -1492,12 +1971,13 @@ export declare class Webhooks {
1492
1971
  /**
1493
1972
  * List webhooks
1494
1973
  *
1495
- * Returns a paginated list of the organization's webhook endpoints, optionally filtered by a name search.
1974
+ * Returns a paginated list of the organization's webhook endpoints with each endpoint's delivery counts, optionally filtered by name search and status.
1496
1975
  */
1497
1976
  static list<ThrowOnError extends boolean = false>(parameters?: {
1498
1977
  page?: string | null | undefined;
1499
1978
  limit?: string | null | undefined;
1500
1979
  search?: string | null | undefined;
1980
+ status?: "active" | "disabled" | null | undefined;
1501
1981
  }, options?: Options<never, ThrowOnError>): RequestResult<WebhooksListResponses, WebhooksListErrors, ThrowOnError>;
1502
1982
  /**
1503
1983
  * Create a webhook
@@ -1507,7 +1987,7 @@ export declare class Webhooks {
1507
1987
  static create<ThrowOnError extends boolean = false>(parameters: {
1508
1988
  name: string;
1509
1989
  url: string;
1510
- 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">;
1990
+ 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">;
1511
1991
  channels?: Array<"email"> | null | undefined;
1512
1992
  headers?: {
1513
1993
  [key: string]: string;
@@ -1539,7 +2019,7 @@ export declare class Webhooks {
1539
2019
  id: WebhookEndpointId;
1540
2020
  name?: string | null | undefined;
1541
2021
  url?: string | null | undefined;
1542
- 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"> | null | undefined;
2022
+ 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;
1543
2023
  channels?: Array<"email"> | null | null | undefined;
1544
2024
  headers?: {
1545
2025
  [key: string]: string;
@@ -1560,7 +2040,7 @@ export declare class Webhooks {
1560
2040
  /**
1561
2041
  * List webhook delivery logs
1562
2042
  *
1563
- * Returns recent deliveries and their nested attempt diagnostics for a webhook endpoint.
2043
+ * Returns recent deliveries for a webhook endpoint, each naming the event type and time it was made for, with its nested attempt diagnostics.
1564
2044
  */
1565
2045
  static getLogs<ThrowOnError extends boolean = false>(parameters: {
1566
2046
  webhookId: WebhookEndpointId;
@@ -1569,10 +2049,11 @@ export declare class Webhooks {
1569
2049
  /**
1570
2050
  * Get webhook delivery statistics
1571
2051
  *
1572
- * Returns aggregate pending, delivered, exhausted, and cancelled delivery counts for a webhook endpoint.
2052
+ * 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.
1573
2053
  */
1574
2054
  static getStats<ThrowOnError extends boolean = false>(parameters: {
1575
2055
  webhookId: WebhookEndpointId;
2056
+ period?: "7d" | "30d" | "90d" | null | undefined;
1576
2057
  }, options?: Options<never, ThrowOnError>): RequestResult<WebhooksGetStatsResponses, WebhooksGetStatsErrors, ThrowOnError>;
1577
2058
  /**
1578
2059
  * Retry a webhook delivery
@@ -1597,9 +2078,9 @@ export declare class Webhooks2 {
1597
2078
  }
1598
2079
  export declare class Organizations {
1599
2080
  /**
1600
- * Create a workspace
2081
+ * Create an organization
1601
2082
  *
1602
- * Creates a new workspace organization under the current billing account and returns it.
2083
+ * Creates a new organization under the current billing account and returns it.
1603
2084
  */
1604
2085
  static create<ThrowOnError extends boolean = false>(parameters: {
1605
2086
  name: string;
@@ -1613,15 +2094,13 @@ export declare class Organizations {
1613
2094
  /**
1614
2095
  * Update the current organization
1615
2096
  *
1616
- * Updates the current organization's profile, billing, locale, design, default reply-to, and default unsubscribe-group fields and returns the saved organization.
2097
+ * Updates the current organization's profile, regional defaults, design, reply-to, and unsubscribe-group defaults and returns the saved organization. `metadata` and `design` are merged into the stored values; every other field is replaced.
1617
2098
  */
1618
2099
  static update<ThrowOnError extends boolean = false>(parameters?: {
1619
2100
  name?: string | null | undefined;
1620
2101
  slug?: string | null | undefined;
1621
- billingEmail?: string | null | undefined;
1622
2102
  countryCode?: string | null | undefined;
1623
- currency?: string | null | undefined;
1624
- timezone?: string | null | undefined;
2103
+ timezone?: IanaTimezone | null | undefined;
1625
2104
  isActive?: boolean | null | undefined;
1626
2105
  metadata?: {
1627
2106
  [key: string]: JsonValue;
@@ -1640,22 +2119,14 @@ export declare class Organizations {
1640
2119
  period?: "current" | "last_30_days" | "last_90_days" | "last_year" | null | undefined;
1641
2120
  }, options?: Options<never, ThrowOnError>): RequestResult<OrganizationsGetUsageResponses, OrganizationsGetUsageErrors, ThrowOnError>;
1642
2121
  /**
1643
- * Delete the current workspace
2122
+ * Delete the current organization
1644
2123
  *
1645
- * 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.
2124
+ * 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.
1646
2125
  */
1647
2126
  static delete<ThrowOnError extends boolean = false>(parameters: {
1648
2127
  "idempotency-key": string;
1649
2128
  confirmationName: string;
1650
2129
  }, options?: Options<never, ThrowOnError>): RequestResult<OrganizationsDeleteResponses, OrganizationsDeleteErrors, ThrowOnError>;
1651
- /**
1652
- * Create the first workspace
1653
- *
1654
- * Creates a replacement first workspace under the signed-in user's billing account when no workspace membership remains.
1655
- */
1656
- static bootstrap<ThrowOnError extends boolean = false>(parameters: {
1657
- name: string;
1658
- }, options?: Options<never, ThrowOnError>): RequestResult<OrganizationsBootstrapResponses, OrganizationsBootstrapErrors, ThrowOnError>;
1659
2130
  }
1660
2131
  export declare class Organizations2 {
1661
2132
  static organizations: typeof Organizations;
@@ -1681,7 +2152,7 @@ export declare class ApiKeys {
1681
2152
  name: string;
1682
2153
  description?: string | null | undefined;
1683
2154
  expiresAt?: string | null | undefined;
1684
- permissions?: ApiKeyPermissions | undefined;
2155
+ access?: ApiKeyAccess | null | undefined;
1685
2156
  }, options?: Options<never, ThrowOnError>): RequestResult<ApiKeysCreateResponses, ApiKeysCreateErrors, ThrowOnError>;
1686
2157
  /**
1687
2158
  * Revoke an API key
@@ -1694,7 +2165,7 @@ export declare class ApiKeys {
1694
2165
  /**
1695
2166
  * Get an API key
1696
2167
  *
1697
- * Returns the API key with the given ID, including its metadata and permissions.
2168
+ * Returns the API key with the given ID, including its metadata and access.
1698
2169
  */
1699
2170
  static get<ThrowOnError extends boolean = false>(parameters: {
1700
2171
  id: ApiKeyId;
@@ -1712,7 +2183,7 @@ export declare class ApiKeys {
1712
2183
  /**
1713
2184
  * Rotate an API key
1714
2185
  *
1715
- * Issues a replacement with the same owner, name, and permissions, then deactivates the existing key. Returns the new key, including the plaintext secret.
2186
+ * Issues a replacement with the same owner, name, and access, then deactivates the existing key. Returns the new key, including the plaintext secret.
1716
2187
  */
1717
2188
  static rotate<ThrowOnError extends boolean = false>(parameters: {
1718
2189
  id: ApiKeyId;