@sylphx/contract 0.2.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.
- package/CHANGELOG.md +44 -0
- package/LICENSE +21 -0
- package/README.md +164 -0
- package/dist/endpoint.d.ts +65 -0
- package/dist/endpoint.d.ts.map +1 -0
- package/dist/endpoint.js +22 -0
- package/dist/endpoints/admin-ai-playground.d.ts +93 -0
- package/dist/endpoints/admin-ai-playground.d.ts.map +1 -0
- package/dist/endpoints/admin-ai-playground.js +37 -0
- package/dist/endpoints/admin-anomalies.d.ts +108 -0
- package/dist/endpoints/admin-anomalies.d.ts.map +1 -0
- package/dist/endpoints/admin-anomalies.js +72 -0
- package/dist/endpoints/admin-apm.d.ts +102 -0
- package/dist/endpoints/admin-apm.d.ts.map +1 -0
- package/dist/endpoints/admin-apm.js +70 -0
- package/dist/endpoints/admin-audit.d.ts +714 -0
- package/dist/endpoints/admin-audit.d.ts.map +1 -0
- package/dist/endpoints/admin-audit.js +494 -0
- package/dist/endpoints/admin-billing.d.ts +82 -0
- package/dist/endpoints/admin-billing.d.ts.map +1 -0
- package/dist/endpoints/admin-billing.js +190 -0
- package/dist/endpoints/admin-bootstrap.d.ts +16 -0
- package/dist/endpoints/admin-bootstrap.d.ts.map +1 -0
- package/dist/endpoints/admin-bootstrap.js +28 -0
- package/dist/endpoints/admin-broadcasts.d.ts +105 -0
- package/dist/endpoints/admin-broadcasts.d.ts.map +1 -0
- package/dist/endpoints/admin-broadcasts.js +60 -0
- package/dist/endpoints/admin-builds.d.ts +33 -0
- package/dist/endpoints/admin-builds.d.ts.map +1 -0
- package/dist/endpoints/admin-builds.js +36 -0
- package/dist/endpoints/admin-config.d.ts +180 -0
- package/dist/endpoints/admin-config.d.ts.map +1 -0
- package/dist/endpoints/admin-config.js +108 -0
- package/dist/endpoints/admin-consent.d.ts +123 -0
- package/dist/endpoints/admin-consent.d.ts.map +1 -0
- package/dist/endpoints/admin-consent.js +126 -0
- package/dist/endpoints/admin-env-services.d.ts +28 -0
- package/dist/endpoints/admin-env-services.d.ts.map +1 -0
- package/dist/endpoints/admin-env-services.js +35 -0
- package/dist/endpoints/admin-impersonation.d.ts +105 -0
- package/dist/endpoints/admin-impersonation.d.ts.map +1 -0
- package/dist/endpoints/admin-impersonation.js +88 -0
- package/dist/endpoints/admin-invitations.d.ts +73 -0
- package/dist/endpoints/admin-invitations.d.ts.map +1 -0
- package/dist/endpoints/admin-invitations.js +55 -0
- package/dist/endpoints/admin-jwt-keys.d.ts +75 -0
- package/dist/endpoints/admin-jwt-keys.d.ts.map +1 -0
- package/dist/endpoints/admin-jwt-keys.js +63 -0
- package/dist/endpoints/admin-logs.d.ts +109 -0
- package/dist/endpoints/admin-logs.d.ts.map +1 -0
- package/dist/endpoints/admin-logs.js +78 -0
- package/dist/endpoints/admin-plans.d.ts +63 -0
- package/dist/endpoints/admin-plans.d.ts.map +1 -0
- package/dist/endpoints/admin-plans.js +47 -0
- package/dist/endpoints/admin-project-users.d.ts +148 -0
- package/dist/endpoints/admin-project-users.d.ts.map +1 -0
- package/dist/endpoints/admin-project-users.js +89 -0
- package/dist/endpoints/admin-projects.d.ts +124 -0
- package/dist/endpoints/admin-projects.d.ts.map +1 -0
- package/dist/endpoints/admin-projects.js +74 -0
- package/dist/endpoints/admin-quotas.d.ts +98 -0
- package/dist/endpoints/admin-quotas.d.ts.map +1 -0
- package/dist/endpoints/admin-quotas.js +67 -0
- package/dist/endpoints/admin-rate-limits.d.ts +50 -0
- package/dist/endpoints/admin-rate-limits.d.ts.map +1 -0
- package/dist/endpoints/admin-rate-limits.js +53 -0
- package/dist/endpoints/admin-reconcile.d.ts +28 -0
- package/dist/endpoints/admin-reconcile.d.ts.map +1 -0
- package/dist/endpoints/admin-reconcile.js +33 -0
- package/dist/endpoints/admin-resources.d.ts +51 -0
- package/dist/endpoints/admin-resources.d.ts.map +1 -0
- package/dist/endpoints/admin-resources.js +53 -0
- package/dist/endpoints/admin-secrets.d.ts +41 -0
- package/dist/endpoints/admin-secrets.d.ts.map +1 -0
- package/dist/endpoints/admin-secrets.js +33 -0
- package/dist/endpoints/admin-services.d.ts +29 -0
- package/dist/endpoints/admin-services.d.ts.map +1 -0
- package/dist/endpoints/admin-services.js +35 -0
- package/dist/endpoints/admin-tasks.d.ts +186 -0
- package/dist/endpoints/admin-tasks.d.ts.map +1 -0
- package/dist/endpoints/admin-tasks.js +67 -0
- package/dist/endpoints/admin-tenants.d.ts +26 -0
- package/dist/endpoints/admin-tenants.d.ts.map +1 -0
- package/dist/endpoints/admin-tenants.js +30 -0
- package/dist/endpoints/admin-traces.d.ts +124 -0
- package/dist/endpoints/admin-traces.d.ts.map +1 -0
- package/dist/endpoints/admin-traces.js +59 -0
- package/dist/endpoints/admin-users.d.ts +106 -0
- package/dist/endpoints/admin-users.d.ts.map +1 -0
- package/dist/endpoints/admin-users.js +83 -0
- package/dist/endpoints/admin-webhook-signature-versions.d.ts +59 -0
- package/dist/endpoints/admin-webhook-signature-versions.d.ts.map +1 -0
- package/dist/endpoints/admin-webhook-signature-versions.js +57 -0
- package/dist/endpoints/ai-admin.d.ts +30 -0
- package/dist/endpoints/ai-admin.d.ts.map +1 -0
- package/dist/endpoints/ai-admin.js +59 -0
- package/dist/endpoints/analytics-admin.d.ts +279 -0
- package/dist/endpoints/analytics-admin.d.ts.map +1 -0
- package/dist/endpoints/analytics-admin.js +308 -0
- package/dist/endpoints/analytics.d.ts +58 -0
- package/dist/endpoints/analytics.d.ts.map +1 -0
- package/dist/endpoints/analytics.js +43 -0
- package/dist/endpoints/audit-chain.d.ts +49 -0
- package/dist/endpoints/audit-chain.d.ts.map +1 -0
- package/dist/endpoints/audit-chain.js +29 -0
- package/dist/endpoints/audit.d.ts +50 -0
- package/dist/endpoints/audit.d.ts.map +1 -0
- package/dist/endpoints/audit.js +30 -0
- package/dist/endpoints/auth-admin.d.ts +65 -0
- package/dist/endpoints/auth-admin.d.ts.map +1 -0
- package/dist/endpoints/auth-admin.js +55 -0
- package/dist/endpoints/auth.d.ts +157 -0
- package/dist/endpoints/auth.d.ts.map +1 -0
- package/dist/endpoints/auth.js +214 -0
- package/dist/endpoints/backups.d.ts +51 -0
- package/dist/endpoints/backups.d.ts.map +1 -0
- package/dist/endpoints/backups.js +47 -0
- package/dist/endpoints/billing-console.d.ts +294 -0
- package/dist/endpoints/billing-console.d.ts.map +1 -0
- package/dist/endpoints/billing-console.js +167 -0
- package/dist/endpoints/billing-settings.d.ts +107 -0
- package/dist/endpoints/billing-settings.d.ts.map +1 -0
- package/dist/endpoints/billing-settings.js +117 -0
- package/dist/endpoints/branch-databases.d.ts +75 -0
- package/dist/endpoints/branch-databases.d.ts.map +1 -0
- package/dist/endpoints/branch-databases.js +61 -0
- package/dist/endpoints/challenge.d.ts +62 -0
- package/dist/endpoints/challenge.d.ts.map +1 -0
- package/dist/endpoints/challenge.js +52 -0
- package/dist/endpoints/ci-settings.d.ts +89 -0
- package/dist/endpoints/ci-settings.d.ts.map +1 -0
- package/dist/endpoints/ci-settings.js +78 -0
- package/dist/endpoints/consent-admin.d.ts +134 -0
- package/dist/endpoints/consent-admin.d.ts.map +1 -0
- package/dist/endpoints/consent-admin.js +83 -0
- package/dist/endpoints/databases.d.ts +251 -0
- package/dist/endpoints/databases.d.ts.map +1 -0
- package/dist/endpoints/databases.js +150 -0
- package/dist/endpoints/deployments.d.ts +280 -0
- package/dist/endpoints/deployments.d.ts.map +1 -0
- package/dist/endpoints/deployments.js +205 -0
- package/dist/endpoints/domains.d.ts +356 -0
- package/dist/endpoints/domains.d.ts.map +1 -0
- package/dist/endpoints/domains.js +149 -0
- package/dist/endpoints/edge-deployments.d.ts +92 -0
- package/dist/endpoints/edge-deployments.d.ts.map +1 -0
- package/dist/endpoints/edge-deployments.js +58 -0
- package/dist/endpoints/email-admin.d.ts +415 -0
- package/dist/endpoints/email-admin.d.ts.map +1 -0
- package/dist/endpoints/email-admin.js +253 -0
- package/dist/endpoints/email.d.ts +37 -0
- package/dist/endpoints/email.d.ts.map +1 -0
- package/dist/endpoints/email.js +42 -0
- package/dist/endpoints/engagement-admin.d.ts +98 -0
- package/dist/endpoints/engagement-admin.d.ts.map +1 -0
- package/dist/endpoints/engagement-admin.js +64 -0
- package/dist/endpoints/env-vars.d.ts +66 -0
- package/dist/endpoints/env-vars.d.ts.map +1 -0
- package/dist/endpoints/env-vars.js +47 -0
- package/dist/endpoints/environments.d.ts +456 -0
- package/dist/endpoints/environments.d.ts.map +1 -0
- package/dist/endpoints/environments.js +237 -0
- package/dist/endpoints/experiments.d.ts +500 -0
- package/dist/endpoints/experiments.d.ts.map +1 -0
- package/dist/endpoints/experiments.js +93 -0
- package/dist/endpoints/flags-admin.d.ts +74 -0
- package/dist/endpoints/flags-admin.d.ts.map +1 -0
- package/dist/endpoints/flags-admin.js +84 -0
- package/dist/endpoints/flags.d.ts +23 -0
- package/dist/endpoints/flags.d.ts.map +1 -0
- package/dist/endpoints/flags.js +17 -0
- package/dist/endpoints/github.d.ts +30 -0
- package/dist/endpoints/github.d.ts.map +1 -0
- package/dist/endpoints/github.js +37 -0
- package/dist/endpoints/image-opt.d.ts +43 -0
- package/dist/endpoints/image-opt.d.ts.map +1 -0
- package/dist/endpoints/image-opt.js +44 -0
- package/dist/endpoints/kv-admin.d.ts +58 -0
- package/dist/endpoints/kv-admin.d.ts.map +1 -0
- package/dist/endpoints/kv-admin.js +69 -0
- package/dist/endpoints/kv.d.ts +63 -0
- package/dist/endpoints/kv.d.ts.map +1 -0
- package/dist/endpoints/kv.js +82 -0
- package/dist/endpoints/monitoring-admin.d.ts +204 -0
- package/dist/endpoints/monitoring-admin.d.ts.map +1 -0
- package/dist/endpoints/monitoring-admin.js +119 -0
- package/dist/endpoints/monitoring.d.ts +63 -0
- package/dist/endpoints/monitoring.d.ts.map +1 -0
- package/dist/endpoints/monitoring.js +27 -0
- package/dist/endpoints/newsletter.d.ts +366 -0
- package/dist/endpoints/newsletter.d.ts.map +1 -0
- package/dist/endpoints/newsletter.js +232 -0
- package/dist/endpoints/notifications-admin.d.ts +268 -0
- package/dist/endpoints/notifications-admin.d.ts.map +1 -0
- package/dist/endpoints/notifications-admin.js +172 -0
- package/dist/endpoints/notifications.d.ts +225 -0
- package/dist/endpoints/notifications.d.ts.map +1 -0
- package/dist/endpoints/notifications.js +150 -0
- package/dist/endpoints/oidc.d.ts +67 -0
- package/dist/endpoints/oidc.d.ts.map +1 -0
- package/dist/endpoints/oidc.js +49 -0
- package/dist/endpoints/organizations.d.ts +702 -0
- package/dist/endpoints/organizations.d.ts.map +1 -0
- package/dist/endpoints/organizations.js +460 -0
- package/dist/endpoints/plans.d.ts +136 -0
- package/dist/endpoints/plans.d.ts.map +1 -0
- package/dist/endpoints/plans.js +83 -0
- package/dist/endpoints/privacy.d.ts +131 -0
- package/dist/endpoints/privacy.d.ts.map +1 -0
- package/dist/endpoints/privacy.js +98 -0
- package/dist/endpoints/project-manifest.d.ts +1044 -0
- package/dist/endpoints/project-manifest.d.ts.map +1 -0
- package/dist/endpoints/project-manifest.js +59 -0
- package/dist/endpoints/projects.d.ts +187 -0
- package/dist/endpoints/projects.d.ts.map +1 -0
- package/dist/endpoints/projects.js +58 -0
- package/dist/endpoints/rate-limits.d.ts +83 -0
- package/dist/endpoints/rate-limits.d.ts.map +1 -0
- package/dist/endpoints/rate-limits.js +54 -0
- package/dist/endpoints/realtime-admin.d.ts +42 -0
- package/dist/endpoints/realtime-admin.d.ts.map +1 -0
- package/dist/endpoints/realtime-admin.js +50 -0
- package/dist/endpoints/realtime.d.ts +35 -0
- package/dist/endpoints/realtime.d.ts.map +1 -0
- package/dist/endpoints/realtime.js +39 -0
- package/dist/endpoints/referrals-admin.d.ts +118 -0
- package/dist/endpoints/referrals-admin.d.ts.map +1 -0
- package/dist/endpoints/referrals-admin.js +59 -0
- package/dist/endpoints/refresh.d.ts +19 -0
- package/dist/endpoints/refresh.d.ts.map +1 -0
- package/dist/endpoints/refresh.js +25 -0
- package/dist/endpoints/regions.d.ts +41 -0
- package/dist/endpoints/regions.d.ts.map +1 -0
- package/dist/endpoints/regions.js +43 -0
- package/dist/endpoints/runners.d.ts +55 -0
- package/dist/endpoints/runners.d.ts.map +1 -0
- package/dist/endpoints/runners.js +45 -0
- package/dist/endpoints/saml.d.ts +147 -0
- package/dist/endpoints/saml.d.ts.map +1 -0
- package/dist/endpoints/saml.js +106 -0
- package/dist/endpoints/search.d.ts +62 -0
- package/dist/endpoints/search.d.ts.map +1 -0
- package/dist/endpoints/search.js +40 -0
- package/dist/endpoints/secrets.d.ts +95 -0
- package/dist/endpoints/secrets.d.ts.map +1 -0
- package/dist/endpoints/secrets.js +81 -0
- package/dist/endpoints/security.d.ts +231 -0
- package/dist/endpoints/security.d.ts.map +1 -0
- package/dist/endpoints/security.js +291 -0
- package/dist/endpoints/service-tokens.d.ts +392 -0
- package/dist/endpoints/service-tokens.d.ts.map +1 -0
- package/dist/endpoints/service-tokens.js +125 -0
- package/dist/endpoints/session-replay.d.ts +142 -0
- package/dist/endpoints/session-replay.d.ts.map +1 -0
- package/dist/endpoints/session-replay.js +53 -0
- package/dist/endpoints/storage-admin.d.ts +96 -0
- package/dist/endpoints/storage-admin.d.ts.map +1 -0
- package/dist/endpoints/storage-admin.js +113 -0
- package/dist/endpoints/storage.d.ts +167 -0
- package/dist/endpoints/storage.d.ts.map +1 -0
- package/dist/endpoints/storage.js +117 -0
- package/dist/endpoints/tasks.d.ts +141 -0
- package/dist/endpoints/tasks.d.ts.map +1 -0
- package/dist/endpoints/tasks.js +97 -0
- package/dist/endpoints/users.d.ts +103 -0
- package/dist/endpoints/users.d.ts.map +1 -0
- package/dist/endpoints/users.js +98 -0
- package/dist/endpoints/webhooks.d.ts +201 -0
- package/dist/endpoints/webhooks.d.ts.map +1 -0
- package/dist/endpoints/webhooks.js +120 -0
- package/dist/errors.d.ts +153 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +73 -0
- package/dist/index.d.ts +12303 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +390 -0
- package/dist/schemas/_primitives.d.ts +37 -0
- package/dist/schemas/_primitives.d.ts.map +1 -0
- package/dist/schemas/_primitives.js +38 -0
- package/dist/schemas/admin-ai-playground.d.ts +128 -0
- package/dist/schemas/admin-ai-playground.d.ts.map +1 -0
- package/dist/schemas/admin-ai-playground.js +84 -0
- package/dist/schemas/admin-anomalies.d.ts +131 -0
- package/dist/schemas/admin-anomalies.d.ts.map +1 -0
- package/dist/schemas/admin-anomalies.js +106 -0
- package/dist/schemas/admin-apm.d.ts +151 -0
- package/dist/schemas/admin-apm.d.ts.map +1 -0
- package/dist/schemas/admin-apm.js +96 -0
- package/dist/schemas/admin-audit.d.ts +625 -0
- package/dist/schemas/admin-audit.d.ts.map +1 -0
- package/dist/schemas/admin-audit.js +508 -0
- package/dist/schemas/admin-billing.d.ts +73 -0
- package/dist/schemas/admin-billing.d.ts.map +1 -0
- package/dist/schemas/admin-billing.js +60 -0
- package/dist/schemas/admin-bootstrap.d.ts +32 -0
- package/dist/schemas/admin-bootstrap.d.ts.map +1 -0
- package/dist/schemas/admin-bootstrap.js +37 -0
- package/dist/schemas/admin-broadcasts.d.ts +181 -0
- package/dist/schemas/admin-broadcasts.d.ts.map +1 -0
- package/dist/schemas/admin-broadcasts.js +93 -0
- package/dist/schemas/admin-builds.d.ts +108 -0
- package/dist/schemas/admin-builds.d.ts.map +1 -0
- package/dist/schemas/admin-builds.js +127 -0
- package/dist/schemas/admin-config.d.ts +248 -0
- package/dist/schemas/admin-config.d.ts.map +1 -0
- package/dist/schemas/admin-config.js +145 -0
- package/dist/schemas/admin-consent.d.ts +129 -0
- package/dist/schemas/admin-consent.d.ts.map +1 -0
- package/dist/schemas/admin-consent.js +76 -0
- package/dist/schemas/admin-env-services.d.ts +63 -0
- package/dist/schemas/admin-env-services.d.ts.map +1 -0
- package/dist/schemas/admin-env-services.js +81 -0
- package/dist/schemas/admin-impersonation.d.ts +150 -0
- package/dist/schemas/admin-impersonation.d.ts.map +1 -0
- package/dist/schemas/admin-impersonation.js +114 -0
- package/dist/schemas/admin-invitations.d.ts +119 -0
- package/dist/schemas/admin-invitations.d.ts.map +1 -0
- package/dist/schemas/admin-invitations.js +80 -0
- package/dist/schemas/admin-jwt-keys.d.ts +130 -0
- package/dist/schemas/admin-jwt-keys.d.ts.map +1 -0
- package/dist/schemas/admin-jwt-keys.js +83 -0
- package/dist/schemas/admin-logs.d.ts +170 -0
- package/dist/schemas/admin-logs.d.ts.map +1 -0
- package/dist/schemas/admin-logs.js +108 -0
- package/dist/schemas/admin-plans.d.ts +92 -0
- package/dist/schemas/admin-plans.d.ts.map +1 -0
- package/dist/schemas/admin-plans.js +62 -0
- package/dist/schemas/admin-project-users.d.ts +183 -0
- package/dist/schemas/admin-project-users.d.ts.map +1 -0
- package/dist/schemas/admin-project-users.js +108 -0
- package/dist/schemas/admin-projects.d.ts +237 -0
- package/dist/schemas/admin-projects.d.ts.map +1 -0
- package/dist/schemas/admin-projects.js +129 -0
- package/dist/schemas/admin-quotas.d.ts +161 -0
- package/dist/schemas/admin-quotas.d.ts.map +1 -0
- package/dist/schemas/admin-quotas.js +107 -0
- package/dist/schemas/admin-rate-limits.d.ts +90 -0
- package/dist/schemas/admin-rate-limits.d.ts.map +1 -0
- package/dist/schemas/admin-rate-limits.js +72 -0
- package/dist/schemas/admin-reconcile.d.ts +89 -0
- package/dist/schemas/admin-reconcile.d.ts.map +1 -0
- package/dist/schemas/admin-reconcile.js +86 -0
- package/dist/schemas/admin-resources.d.ts +129 -0
- package/dist/schemas/admin-resources.d.ts.map +1 -0
- package/dist/schemas/admin-resources.js +143 -0
- package/dist/schemas/admin-secrets.d.ts +113 -0
- package/dist/schemas/admin-secrets.d.ts.map +1 -0
- package/dist/schemas/admin-secrets.js +94 -0
- package/dist/schemas/admin-services.d.ts +71 -0
- package/dist/schemas/admin-services.d.ts.map +1 -0
- package/dist/schemas/admin-services.js +61 -0
- package/dist/schemas/admin-tasks.d.ts +239 -0
- package/dist/schemas/admin-tasks.d.ts.map +1 -0
- package/dist/schemas/admin-tasks.js +103 -0
- package/dist/schemas/admin-tenants.d.ts +45 -0
- package/dist/schemas/admin-tenants.d.ts.map +1 -0
- package/dist/schemas/admin-tenants.js +54 -0
- package/dist/schemas/admin-traces.d.ts +203 -0
- package/dist/schemas/admin-traces.d.ts.map +1 -0
- package/dist/schemas/admin-traces.js +128 -0
- package/dist/schemas/admin-users.d.ts +158 -0
- package/dist/schemas/admin-users.d.ts.map +1 -0
- package/dist/schemas/admin-users.js +110 -0
- package/dist/schemas/admin-webhook-signature-versions.d.ts +103 -0
- package/dist/schemas/admin-webhook-signature-versions.d.ts.map +1 -0
- package/dist/schemas/admin-webhook-signature-versions.js +73 -0
- package/dist/schemas/ai-admin.d.ts +39 -0
- package/dist/schemas/ai-admin.d.ts.map +1 -0
- package/dist/schemas/ai-admin.js +29 -0
- package/dist/schemas/ai.d.ts +120 -0
- package/dist/schemas/ai.d.ts.map +1 -0
- package/dist/schemas/ai.js +84 -0
- package/dist/schemas/analytics-admin.d.ts +104 -0
- package/dist/schemas/analytics-admin.d.ts.map +1 -0
- package/dist/schemas/analytics-admin.js +61 -0
- package/dist/schemas/analytics.d.ts +118 -0
- package/dist/schemas/analytics.d.ts.map +1 -0
- package/dist/schemas/analytics.js +80 -0
- package/dist/schemas/audit-chain.d.ts +81 -0
- package/dist/schemas/audit-chain.d.ts.map +1 -0
- package/dist/schemas/audit-chain.js +62 -0
- package/dist/schemas/auth-admin.d.ts +55 -0
- package/dist/schemas/auth-admin.d.ts.map +1 -0
- package/dist/schemas/auth-admin.js +48 -0
- package/dist/schemas/auth.d.ts +865 -0
- package/dist/schemas/auth.d.ts.map +1 -0
- package/dist/schemas/auth.js +815 -0
- package/dist/schemas/backups.d.ts +70 -0
- package/dist/schemas/backups.d.ts.map +1 -0
- package/dist/schemas/backups.js +38 -0
- package/dist/schemas/billing-console.d.ts +414 -0
- package/dist/schemas/billing-console.d.ts.map +1 -0
- package/dist/schemas/billing-console.js +298 -0
- package/dist/schemas/billing-settings.d.ts +156 -0
- package/dist/schemas/billing-settings.d.ts.map +1 -0
- package/dist/schemas/billing-settings.js +119 -0
- package/dist/schemas/billing.d.ts +211 -0
- package/dist/schemas/billing.d.ts.map +1 -0
- package/dist/schemas/billing.js +147 -0
- package/dist/schemas/branch-database.d.ts +98 -0
- package/dist/schemas/branch-database.d.ts.map +1 -0
- package/dist/schemas/branch-database.js +68 -0
- package/dist/schemas/challenge.d.ts +104 -0
- package/dist/schemas/challenge.d.ts.map +1 -0
- package/dist/schemas/challenge.js +74 -0
- package/dist/schemas/ci-settings.d.ts +122 -0
- package/dist/schemas/ci-settings.d.ts.map +1 -0
- package/dist/schemas/ci-settings.js +65 -0
- package/dist/schemas/consent-admin.d.ts +187 -0
- package/dist/schemas/consent-admin.d.ts.map +1 -0
- package/dist/schemas/consent-admin.js +114 -0
- package/dist/schemas/consent.d.ts +78 -0
- package/dist/schemas/consent.d.ts.map +1 -0
- package/dist/schemas/consent.js +68 -0
- package/dist/schemas/database.d.ts +104 -0
- package/dist/schemas/database.d.ts.map +1 -0
- package/dist/schemas/database.js +89 -0
- package/dist/schemas/deployment.d.ts +386 -0
- package/dist/schemas/deployment.d.ts.map +1 -0
- package/dist/schemas/deployment.js +282 -0
- package/dist/schemas/domain.d.ts +148 -0
- package/dist/schemas/domain.d.ts.map +1 -0
- package/dist/schemas/domain.js +86 -0
- package/dist/schemas/edge-deployments.d.ts +140 -0
- package/dist/schemas/edge-deployments.d.ts.map +1 -0
- package/dist/schemas/edge-deployments.js +87 -0
- package/dist/schemas/email-admin.d.ts +384 -0
- package/dist/schemas/email-admin.d.ts.map +1 -0
- package/dist/schemas/email-admin.js +313 -0
- package/dist/schemas/email.d.ts +46 -0
- package/dist/schemas/email.d.ts.map +1 -0
- package/dist/schemas/email.js +34 -0
- package/dist/schemas/engagement-admin.d.ts +148 -0
- package/dist/schemas/engagement-admin.d.ts.map +1 -0
- package/dist/schemas/engagement-admin.js +107 -0
- package/dist/schemas/env-var.d.ts +68 -0
- package/dist/schemas/env-var.d.ts.map +1 -0
- package/dist/schemas/env-var.js +52 -0
- package/dist/schemas/environment.d.ts +392 -0
- package/dist/schemas/environment.d.ts.map +1 -0
- package/dist/schemas/environment.js +211 -0
- package/dist/schemas/experiments.d.ts +540 -0
- package/dist/schemas/experiments.d.ts.map +1 -0
- package/dist/schemas/experiments.js +150 -0
- package/dist/schemas/flags-admin.d.ts +112 -0
- package/dist/schemas/flags-admin.d.ts.map +1 -0
- package/dist/schemas/flags-admin.js +84 -0
- package/dist/schemas/flags.d.ts +43 -0
- package/dist/schemas/flags.d.ts.map +1 -0
- package/dist/schemas/flags.js +27 -0
- package/dist/schemas/github.d.ts +34 -0
- package/dist/schemas/github.d.ts.map +1 -0
- package/dist/schemas/github.js +24 -0
- package/dist/schemas/ids.d.ts +39 -0
- package/dist/schemas/ids.d.ts.map +1 -0
- package/dist/schemas/ids.js +26 -0
- package/dist/schemas/image-opt.d.ts +70 -0
- package/dist/schemas/image-opt.d.ts.map +1 -0
- package/dist/schemas/image-opt.js +68 -0
- package/dist/schemas/kv-admin.d.ts +60 -0
- package/dist/schemas/kv-admin.d.ts.map +1 -0
- package/dist/schemas/kv-admin.js +43 -0
- package/dist/schemas/kv.d.ts +79 -0
- package/dist/schemas/kv.d.ts.map +1 -0
- package/dist/schemas/kv.js +54 -0
- package/dist/schemas/monitoring-admin.d.ts +314 -0
- package/dist/schemas/monitoring-admin.d.ts.map +1 -0
- package/dist/schemas/monitoring-admin.js +196 -0
- package/dist/schemas/monitoring.d.ts +143 -0
- package/dist/schemas/monitoring.d.ts.map +1 -0
- package/dist/schemas/monitoring.js +96 -0
- package/dist/schemas/newsletter.d.ts +366 -0
- package/dist/schemas/newsletter.d.ts.map +1 -0
- package/dist/schemas/newsletter.js +245 -0
- package/dist/schemas/notifications-admin.d.ts +337 -0
- package/dist/schemas/notifications-admin.d.ts.map +1 -0
- package/dist/schemas/notifications-admin.js +261 -0
- package/dist/schemas/notifications.d.ts +312 -0
- package/dist/schemas/notifications.d.ts.map +1 -0
- package/dist/schemas/notifications.js +235 -0
- package/dist/schemas/oidc.d.ts +74 -0
- package/dist/schemas/oidc.d.ts.map +1 -0
- package/dist/schemas/oidc.js +46 -0
- package/dist/schemas/organization-billing.d.ts +165 -0
- package/dist/schemas/organization-billing.d.ts.map +1 -0
- package/dist/schemas/organization-billing.js +156 -0
- package/dist/schemas/organization-project-users.d.ts +126 -0
- package/dist/schemas/organization-project-users.d.ts.map +1 -0
- package/dist/schemas/organization-project-users.js +88 -0
- package/dist/schemas/organization-projects.d.ts +129 -0
- package/dist/schemas/organization-projects.d.ts.map +1 -0
- package/dist/schemas/organization-projects.js +119 -0
- package/dist/schemas/organization-referrals.d.ts +129 -0
- package/dist/schemas/organization-referrals.d.ts.map +1 -0
- package/dist/schemas/organization-referrals.js +126 -0
- package/dist/schemas/organization-team.d.ts +123 -0
- package/dist/schemas/organization-team.d.ts.map +1 -0
- package/dist/schemas/organization-team.js +119 -0
- package/dist/schemas/organization.d.ts +210 -0
- package/dist/schemas/organization.d.ts.map +1 -0
- package/dist/schemas/organization.js +169 -0
- package/dist/schemas/plans.d.ts +211 -0
- package/dist/schemas/plans.d.ts.map +1 -0
- package/dist/schemas/plans.js +131 -0
- package/dist/schemas/privacy.d.ts +174 -0
- package/dist/schemas/privacy.d.ts.map +1 -0
- package/dist/schemas/privacy.js +132 -0
- package/dist/schemas/project-manifest.d.ts +1421 -0
- package/dist/schemas/project-manifest.d.ts.map +1 -0
- package/dist/schemas/project-manifest.js +318 -0
- package/dist/schemas/project.d.ts +132 -0
- package/dist/schemas/project.d.ts.map +1 -0
- package/dist/schemas/project.js +76 -0
- package/dist/schemas/realtime-admin.d.ts +51 -0
- package/dist/schemas/realtime-admin.d.ts.map +1 -0
- package/dist/schemas/realtime-admin.js +29 -0
- package/dist/schemas/realtime.d.ts +46 -0
- package/dist/schemas/realtime.d.ts.map +1 -0
- package/dist/schemas/realtime.js +32 -0
- package/dist/schemas/referrals-admin.d.ts +166 -0
- package/dist/schemas/referrals-admin.d.ts.map +1 -0
- package/dist/schemas/referrals-admin.js +123 -0
- package/dist/schemas/referrals.d.ts +148 -0
- package/dist/schemas/referrals.d.ts.map +1 -0
- package/dist/schemas/referrals.js +102 -0
- package/dist/schemas/refresh.d.ts +29 -0
- package/dist/schemas/refresh.d.ts.map +1 -0
- package/dist/schemas/refresh.js +18 -0
- package/dist/schemas/region.d.ts +118 -0
- package/dist/schemas/region.d.ts.map +1 -0
- package/dist/schemas/region.js +86 -0
- package/dist/schemas/resources.d.ts +345 -0
- package/dist/schemas/resources.d.ts.map +1 -0
- package/dist/schemas/resources.js +220 -0
- package/dist/schemas/runners.d.ts +93 -0
- package/dist/schemas/runners.d.ts.map +1 -0
- package/dist/schemas/runners.js +49 -0
- package/dist/schemas/saml.d.ts +254 -0
- package/dist/schemas/saml.d.ts.map +1 -0
- package/dist/schemas/saml.js +159 -0
- package/dist/schemas/search.d.ts +96 -0
- package/dist/schemas/search.d.ts.map +1 -0
- package/dist/schemas/search.js +57 -0
- package/dist/schemas/secret.d.ts +101 -0
- package/dist/schemas/secret.d.ts.map +1 -0
- package/dist/schemas/secret.js +79 -0
- package/dist/schemas/security.d.ts +345 -0
- package/dist/schemas/security.d.ts.map +1 -0
- package/dist/schemas/security.js +248 -0
- package/dist/schemas/service-tokens.d.ts +342 -0
- package/dist/schemas/service-tokens.d.ts.map +1 -0
- package/dist/schemas/service-tokens.js +101 -0
- package/dist/schemas/session-replay.d.ts +285 -0
- package/dist/schemas/session-replay.d.ts.map +1 -0
- package/dist/schemas/session-replay.js +145 -0
- package/dist/schemas/storage-admin.d.ts +351 -0
- package/dist/schemas/storage-admin.d.ts.map +1 -0
- package/dist/schemas/storage-admin.js +197 -0
- package/dist/schemas/storage.d.ts +257 -0
- package/dist/schemas/storage.d.ts.map +1 -0
- package/dist/schemas/storage.js +173 -0
- package/dist/schemas/tasks.d.ts +178 -0
- package/dist/schemas/tasks.d.ts.map +1 -0
- package/dist/schemas/tasks.js +102 -0
- package/dist/schemas/user.d.ts +103 -0
- package/dist/schemas/user.d.ts.map +1 -0
- package/dist/schemas/user.js +79 -0
- package/dist/schemas/webhooks.d.ts +259 -0
- package/dist/schemas/webhooks.d.ts.map +1 -0
- package/dist/schemas/webhooks.js +198 -0
- package/package.json +154 -0
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Admin endpoints — Console-plane per-project template management,
|
|
3
|
+
* transactional send, scheduling, logs, suppressions, settings, and a handful
|
|
4
|
+
* of super-admin cross-project operations. Mirrors
|
|
5
|
+
* `apps/api/src/server/platform/routes/email/*`.
|
|
6
|
+
*
|
|
7
|
+
* Production mount: `/email/*` (see `apps/api/src/server/platform/app.ts`).
|
|
8
|
+
* Project-scoped routes accept a project ID or slug via `{id}`; send/schedule
|
|
9
|
+
* additionally accept a `projectId` body/query where the path doesn't carry
|
|
10
|
+
* one (not needed here — all sub-routes live under `/projects/:id`).
|
|
11
|
+
*
|
|
12
|
+
* Plane: `'management'` — distinct from BaaS `emailEndpoints` (plane:
|
|
13
|
+
* `'baas'`) which are served by the runtime for customer apps.
|
|
14
|
+
*/
|
|
15
|
+
import { Schema } from 'effect';
|
|
16
|
+
export declare const emailAdminEndpoints: {
|
|
17
|
+
readonly listTemplates: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/templates", Schema.Struct<{
|
|
18
|
+
id: typeof Schema.String;
|
|
19
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
20
|
+
templates: Schema.Array$<Schema.Struct<{
|
|
21
|
+
id: typeof Schema.String;
|
|
22
|
+
key: typeof Schema.String;
|
|
23
|
+
name: typeof Schema.String;
|
|
24
|
+
description: Schema.NullOr<typeof Schema.String>;
|
|
25
|
+
type: typeof Schema.String;
|
|
26
|
+
subject: typeof Schema.String;
|
|
27
|
+
isActive: typeof Schema.Boolean;
|
|
28
|
+
createdAt: typeof Schema.String;
|
|
29
|
+
updatedAt: typeof Schema.String;
|
|
30
|
+
}>>;
|
|
31
|
+
total: typeof Schema.Number;
|
|
32
|
+
}>>;
|
|
33
|
+
readonly createTemplate: import("../endpoint.js").Endpoint<"POST", "/email/projects/:id/templates", Schema.Struct<{
|
|
34
|
+
id: typeof Schema.String;
|
|
35
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
36
|
+
key: typeof Schema.String;
|
|
37
|
+
name: typeof Schema.String;
|
|
38
|
+
description: Schema.optional<typeof Schema.String>;
|
|
39
|
+
type: Schema.optional<Schema.Literal<["transactional", "newsletter"]>>;
|
|
40
|
+
subject: typeof Schema.String;
|
|
41
|
+
htmlBody: typeof Schema.String;
|
|
42
|
+
textBody: Schema.optional<typeof Schema.String>;
|
|
43
|
+
variables: Schema.optional<Schema.Array$<typeof Schema.String>>;
|
|
44
|
+
fromEmail: Schema.optional<typeof Schema.String>;
|
|
45
|
+
fromName: Schema.optional<typeof Schema.String>;
|
|
46
|
+
replyTo: Schema.optional<typeof Schema.String>;
|
|
47
|
+
isActive: Schema.optional<typeof Schema.Boolean>;
|
|
48
|
+
}>, Schema.Struct<{
|
|
49
|
+
id: typeof Schema.String;
|
|
50
|
+
key: typeof Schema.String;
|
|
51
|
+
name: typeof Schema.String;
|
|
52
|
+
description: Schema.NullOr<typeof Schema.String>;
|
|
53
|
+
type: typeof Schema.String;
|
|
54
|
+
subject: typeof Schema.String;
|
|
55
|
+
htmlBody: typeof Schema.String;
|
|
56
|
+
textBody: Schema.NullOr<typeof Schema.String>;
|
|
57
|
+
variables: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
|
|
58
|
+
fromName: Schema.NullOr<typeof Schema.String>;
|
|
59
|
+
fromEmail: Schema.NullOr<typeof Schema.String>;
|
|
60
|
+
replyTo: Schema.NullOr<typeof Schema.String>;
|
|
61
|
+
isActive: typeof Schema.Boolean;
|
|
62
|
+
createdAt: typeof Schema.String;
|
|
63
|
+
updatedAt: typeof Schema.String;
|
|
64
|
+
}>>;
|
|
65
|
+
readonly getTemplate: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/templates/:key", Schema.Struct<{
|
|
66
|
+
id: typeof Schema.String;
|
|
67
|
+
key: typeof Schema.String;
|
|
68
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
69
|
+
id: typeof Schema.String;
|
|
70
|
+
key: typeof Schema.String;
|
|
71
|
+
name: typeof Schema.String;
|
|
72
|
+
description: Schema.NullOr<typeof Schema.String>;
|
|
73
|
+
type: typeof Schema.String;
|
|
74
|
+
subject: typeof Schema.String;
|
|
75
|
+
htmlBody: typeof Schema.String;
|
|
76
|
+
textBody: Schema.NullOr<typeof Schema.String>;
|
|
77
|
+
variables: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
|
|
78
|
+
fromName: Schema.NullOr<typeof Schema.String>;
|
|
79
|
+
fromEmail: Schema.NullOr<typeof Schema.String>;
|
|
80
|
+
replyTo: Schema.NullOr<typeof Schema.String>;
|
|
81
|
+
isActive: typeof Schema.Boolean;
|
|
82
|
+
createdAt: typeof Schema.String;
|
|
83
|
+
updatedAt: typeof Schema.String;
|
|
84
|
+
}>>;
|
|
85
|
+
readonly updateTemplate: import("../endpoint.js").Endpoint<"PATCH", "/email/projects/:id/templates/:key", Schema.Struct<{
|
|
86
|
+
id: typeof Schema.String;
|
|
87
|
+
key: typeof Schema.String;
|
|
88
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
89
|
+
name: Schema.optional<typeof Schema.String>;
|
|
90
|
+
description: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
91
|
+
type: Schema.optional<Schema.Literal<["transactional", "newsletter"]>>;
|
|
92
|
+
subject: Schema.optional<typeof Schema.String>;
|
|
93
|
+
htmlBody: Schema.optional<typeof Schema.String>;
|
|
94
|
+
textBody: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
95
|
+
variables: Schema.optional<Schema.NullOr<Schema.Array$<typeof Schema.String>>>;
|
|
96
|
+
fromEmail: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
97
|
+
fromName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
98
|
+
replyTo: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
99
|
+
isActive: Schema.optional<typeof Schema.Boolean>;
|
|
100
|
+
}>, Schema.Struct<{
|
|
101
|
+
id: typeof Schema.String;
|
|
102
|
+
key: typeof Schema.String;
|
|
103
|
+
name: typeof Schema.String;
|
|
104
|
+
description: Schema.NullOr<typeof Schema.String>;
|
|
105
|
+
type: typeof Schema.String;
|
|
106
|
+
subject: typeof Schema.String;
|
|
107
|
+
htmlBody: typeof Schema.String;
|
|
108
|
+
textBody: Schema.NullOr<typeof Schema.String>;
|
|
109
|
+
variables: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
|
|
110
|
+
fromName: Schema.NullOr<typeof Schema.String>;
|
|
111
|
+
fromEmail: Schema.NullOr<typeof Schema.String>;
|
|
112
|
+
replyTo: Schema.NullOr<typeof Schema.String>;
|
|
113
|
+
isActive: typeof Schema.Boolean;
|
|
114
|
+
createdAt: typeof Schema.String;
|
|
115
|
+
updatedAt: typeof Schema.String;
|
|
116
|
+
}>>;
|
|
117
|
+
readonly deleteTemplate: import("../endpoint.js").Endpoint<"DELETE", "/email/projects/:id/templates/:key", Schema.Struct<{
|
|
118
|
+
id: typeof Schema.String;
|
|
119
|
+
key: typeof Schema.String;
|
|
120
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
121
|
+
id: typeof Schema.String;
|
|
122
|
+
key: typeof Schema.String;
|
|
123
|
+
name: typeof Schema.String;
|
|
124
|
+
description: Schema.NullOr<typeof Schema.String>;
|
|
125
|
+
type: typeof Schema.String;
|
|
126
|
+
subject: typeof Schema.String;
|
|
127
|
+
htmlBody: typeof Schema.String;
|
|
128
|
+
textBody: Schema.NullOr<typeof Schema.String>;
|
|
129
|
+
variables: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
|
|
130
|
+
fromName: Schema.NullOr<typeof Schema.String>;
|
|
131
|
+
fromEmail: Schema.NullOr<typeof Schema.String>;
|
|
132
|
+
replyTo: Schema.NullOr<typeof Schema.String>;
|
|
133
|
+
isActive: typeof Schema.Boolean;
|
|
134
|
+
createdAt: typeof Schema.String;
|
|
135
|
+
updatedAt: typeof Schema.String;
|
|
136
|
+
}>>;
|
|
137
|
+
readonly sendEmail: import("../endpoint.js").Endpoint<"POST", "/email/projects/:id/send", Schema.Struct<{
|
|
138
|
+
id: typeof Schema.String;
|
|
139
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
140
|
+
to: typeof Schema.String;
|
|
141
|
+
subject: typeof Schema.String;
|
|
142
|
+
html: typeof Schema.String;
|
|
143
|
+
text: Schema.optional<typeof Schema.String>;
|
|
144
|
+
replyTo: Schema.optional<typeof Schema.String>;
|
|
145
|
+
}>, Schema.Struct<{
|
|
146
|
+
success: typeof Schema.Boolean;
|
|
147
|
+
id: Schema.optional<typeof Schema.String>;
|
|
148
|
+
}>>;
|
|
149
|
+
readonly sendTemplated: import("../endpoint.js").Endpoint<"POST", "/email/projects/:id/send-templated", Schema.Struct<{
|
|
150
|
+
id: typeof Schema.String;
|
|
151
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
152
|
+
template: Schema.Literal<["welcome", "verification", "password_reset", "security_alert"]>;
|
|
153
|
+
to: typeof Schema.String;
|
|
154
|
+
data: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
|
|
155
|
+
}>, Schema.Struct<{
|
|
156
|
+
success: typeof Schema.Boolean;
|
|
157
|
+
template: typeof Schema.String;
|
|
158
|
+
}>>;
|
|
159
|
+
readonly sendToUser: import("../endpoint.js").Endpoint<"POST", "/email/projects/:id/send-to-user", Schema.Struct<{
|
|
160
|
+
id: typeof Schema.String;
|
|
161
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
162
|
+
userId: typeof Schema.String;
|
|
163
|
+
subject: typeof Schema.String;
|
|
164
|
+
html: typeof Schema.String;
|
|
165
|
+
text: Schema.optional<typeof Schema.String>;
|
|
166
|
+
}>, Schema.Struct<{
|
|
167
|
+
success: typeof Schema.Boolean;
|
|
168
|
+
id: Schema.optional<typeof Schema.String>;
|
|
169
|
+
}>>;
|
|
170
|
+
readonly scheduleEmail: import("../endpoint.js").Endpoint<"POST", "/email/projects/:id/schedule", Schema.Struct<{
|
|
171
|
+
id: typeof Schema.String;
|
|
172
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
173
|
+
to: typeof Schema.String;
|
|
174
|
+
toName: Schema.optional<typeof Schema.String>;
|
|
175
|
+
subject: typeof Schema.String;
|
|
176
|
+
html: Schema.optional<typeof Schema.String>;
|
|
177
|
+
text: Schema.optional<typeof Schema.String>;
|
|
178
|
+
replyTo: Schema.optional<typeof Schema.String>;
|
|
179
|
+
fromEmail: Schema.optional<typeof Schema.String>;
|
|
180
|
+
fromName: Schema.optional<typeof Schema.String>;
|
|
181
|
+
scheduledFor: typeof Schema.String;
|
|
182
|
+
templateKey: Schema.optional<typeof Schema.String>;
|
|
183
|
+
templateData: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
|
|
184
|
+
idempotencyKey: Schema.optional<typeof Schema.String>;
|
|
185
|
+
metadata: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
|
|
186
|
+
}>, Schema.Struct<{
|
|
187
|
+
id: typeof Schema.String;
|
|
188
|
+
status: typeof Schema.String;
|
|
189
|
+
scheduledFor: typeof Schema.String;
|
|
190
|
+
qstashMessageId: Schema.NullOr<typeof Schema.String>;
|
|
191
|
+
}>>;
|
|
192
|
+
readonly listScheduled: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/scheduled", Schema.Struct<{
|
|
193
|
+
id: typeof Schema.String;
|
|
194
|
+
}>, Schema.Struct<{
|
|
195
|
+
status: Schema.optional<typeof Schema.String>;
|
|
196
|
+
search: Schema.optional<typeof Schema.String>;
|
|
197
|
+
from: Schema.optional<typeof Schema.String>;
|
|
198
|
+
to: Schema.optional<typeof Schema.String>;
|
|
199
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
200
|
+
offset: Schema.optional<typeof Schema.String>;
|
|
201
|
+
environmentId: Schema.optional<typeof Schema.String>;
|
|
202
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
203
|
+
emails: Schema.Array$<Schema.Struct<{
|
|
204
|
+
id: typeof Schema.String;
|
|
205
|
+
toEmail: typeof Schema.String;
|
|
206
|
+
toName: Schema.NullOr<typeof Schema.String>;
|
|
207
|
+
subject: typeof Schema.String;
|
|
208
|
+
status: typeof Schema.String;
|
|
209
|
+
scheduledFor: typeof Schema.String;
|
|
210
|
+
templateKey: Schema.NullOr<typeof Schema.String>;
|
|
211
|
+
sentAt: Schema.NullOr<typeof Schema.String>;
|
|
212
|
+
cancelledAt: Schema.NullOr<typeof Schema.String>;
|
|
213
|
+
error: Schema.NullOr<typeof Schema.String>;
|
|
214
|
+
createdAt: typeof Schema.String;
|
|
215
|
+
}>>;
|
|
216
|
+
total: typeof Schema.Number;
|
|
217
|
+
limit: typeof Schema.Number;
|
|
218
|
+
offset: typeof Schema.Number;
|
|
219
|
+
}>>;
|
|
220
|
+
readonly scheduledStats: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/scheduled/stats", Schema.Struct<{
|
|
221
|
+
id: typeof Schema.String;
|
|
222
|
+
}>, Schema.Struct<{
|
|
223
|
+
from: Schema.optional<typeof Schema.String>;
|
|
224
|
+
to: Schema.optional<typeof Schema.String>;
|
|
225
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
226
|
+
total: typeof Schema.Number;
|
|
227
|
+
pending: typeof Schema.Number;
|
|
228
|
+
queued: typeof Schema.Number;
|
|
229
|
+
sent: typeof Schema.Number;
|
|
230
|
+
cancelled: typeof Schema.Number;
|
|
231
|
+
failed: typeof Schema.Number;
|
|
232
|
+
}>>;
|
|
233
|
+
readonly getScheduled: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/scheduled/:emailId", Schema.Struct<{
|
|
234
|
+
id: typeof Schema.String;
|
|
235
|
+
emailId: typeof Schema.String;
|
|
236
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
237
|
+
id: typeof Schema.String;
|
|
238
|
+
toEmail: typeof Schema.String;
|
|
239
|
+
toName: Schema.NullOr<typeof Schema.String>;
|
|
240
|
+
subject: typeof Schema.String;
|
|
241
|
+
status: typeof Schema.String;
|
|
242
|
+
scheduledFor: typeof Schema.String;
|
|
243
|
+
templateKey: Schema.NullOr<typeof Schema.String>;
|
|
244
|
+
templateData: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
|
|
245
|
+
metadata: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
|
|
246
|
+
sentAt: Schema.NullOr<typeof Schema.String>;
|
|
247
|
+
cancelledAt: Schema.NullOr<typeof Schema.String>;
|
|
248
|
+
error: Schema.NullOr<typeof Schema.String>;
|
|
249
|
+
providerMessageId: Schema.NullOr<typeof Schema.String>;
|
|
250
|
+
createdAt: typeof Schema.String;
|
|
251
|
+
}>>;
|
|
252
|
+
readonly cancelScheduled: import("../endpoint.js").Endpoint<"POST", "/email/projects/:id/scheduled/:emailId/cancel", Schema.Struct<{
|
|
253
|
+
id: typeof Schema.String;
|
|
254
|
+
emailId: typeof Schema.String;
|
|
255
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
256
|
+
id: typeof Schema.String;
|
|
257
|
+
status: typeof Schema.String;
|
|
258
|
+
cancelledAt: Schema.NullOr<typeof Schema.String>;
|
|
259
|
+
}>>;
|
|
260
|
+
readonly rescheduleEmail: import("../endpoint.js").Endpoint<"PATCH", "/email/projects/:id/scheduled/:emailId/reschedule", Schema.Struct<{
|
|
261
|
+
id: typeof Schema.String;
|
|
262
|
+
emailId: typeof Schema.String;
|
|
263
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
264
|
+
scheduledFor: typeof Schema.String;
|
|
265
|
+
}>, Schema.Struct<{
|
|
266
|
+
id: typeof Schema.String;
|
|
267
|
+
status: typeof Schema.String;
|
|
268
|
+
scheduledFor: typeof Schema.String;
|
|
269
|
+
qstashMessageId: Schema.NullOr<typeof Schema.String>;
|
|
270
|
+
}>>;
|
|
271
|
+
readonly listLogs: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/logs", Schema.Struct<{
|
|
272
|
+
id: typeof Schema.String;
|
|
273
|
+
}>, Schema.Struct<{
|
|
274
|
+
cursor: Schema.optional<typeof Schema.String>;
|
|
275
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
276
|
+
status: Schema.optional<Schema.Literal<["queued", "sent", "delivered", "bounced", "complained", "failed"]>>;
|
|
277
|
+
email: Schema.optional<typeof Schema.String>;
|
|
278
|
+
from: Schema.optional<typeof Schema.String>;
|
|
279
|
+
to: Schema.optional<typeof Schema.String>;
|
|
280
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
281
|
+
data: Schema.Array$<Schema.Struct<{
|
|
282
|
+
id: typeof Schema.String;
|
|
283
|
+
object: Schema.Literal<["email"]>;
|
|
284
|
+
to: Schema.Array$<typeof Schema.String>;
|
|
285
|
+
from: typeof Schema.String;
|
|
286
|
+
subject: typeof Schema.String;
|
|
287
|
+
status: typeof Schema.String;
|
|
288
|
+
created_at: typeof Schema.String;
|
|
289
|
+
last_event: Schema.NullOr<typeof Schema.String>;
|
|
290
|
+
}>>;
|
|
291
|
+
nextCursor: Schema.NullOr<typeof Schema.String>;
|
|
292
|
+
}>>;
|
|
293
|
+
readonly getLog: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/logs/:logId", Schema.Struct<{
|
|
294
|
+
id: typeof Schema.String;
|
|
295
|
+
logId: typeof Schema.String;
|
|
296
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
297
|
+
id: typeof Schema.String;
|
|
298
|
+
object: Schema.Literal<["email"]>;
|
|
299
|
+
to: Schema.Array$<typeof Schema.String>;
|
|
300
|
+
from: typeof Schema.String;
|
|
301
|
+
subject: typeof Schema.String;
|
|
302
|
+
status: typeof Schema.String;
|
|
303
|
+
created_at: typeof Schema.String;
|
|
304
|
+
last_event: Schema.NullOr<typeof Schema.String>;
|
|
305
|
+
reply_to: Schema.NullOr<typeof Schema.String>;
|
|
306
|
+
bcc: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
|
|
307
|
+
cc: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
|
|
308
|
+
delivered_at: Schema.NullOr<typeof Schema.String>;
|
|
309
|
+
bounced_at: Schema.NullOr<typeof Schema.String>;
|
|
310
|
+
complained_at: Schema.NullOr<typeof Schema.String>;
|
|
311
|
+
opened_at: Schema.NullOr<typeof Schema.String>;
|
|
312
|
+
clicked_at: Schema.NullOr<typeof Schema.String>;
|
|
313
|
+
bounce_type: Schema.NullOr<typeof Schema.String>;
|
|
314
|
+
error: Schema.NullOr<typeof Schema.String>;
|
|
315
|
+
events: Schema.Array$<Schema.Struct<{
|
|
316
|
+
id: typeof Schema.String;
|
|
317
|
+
type: typeof Schema.String;
|
|
318
|
+
created_at: typeof Schema.String;
|
|
319
|
+
}>>;
|
|
320
|
+
}>>;
|
|
321
|
+
readonly listSuppressions: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/suppressions", Schema.Struct<{
|
|
322
|
+
id: typeof Schema.String;
|
|
323
|
+
}>, Schema.Struct<{
|
|
324
|
+
cursor: Schema.optional<typeof Schema.String>;
|
|
325
|
+
limit: Schema.optional<typeof Schema.String>;
|
|
326
|
+
reason: Schema.optional<Schema.Literal<["hard_bounce", "complaint", "manual"]>>;
|
|
327
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
328
|
+
data: Schema.Array$<Schema.Struct<{
|
|
329
|
+
id: typeof Schema.String;
|
|
330
|
+
email: typeof Schema.String;
|
|
331
|
+
reason: Schema.Literal<["hard_bounce", "complaint", "manual"]>;
|
|
332
|
+
can_unsuppress: typeof Schema.Boolean;
|
|
333
|
+
suppressed_at: typeof Schema.String;
|
|
334
|
+
unsuppressed_at: Schema.NullOr<typeof Schema.String>;
|
|
335
|
+
created_at: typeof Schema.String;
|
|
336
|
+
}>>;
|
|
337
|
+
nextCursor: Schema.NullOr<typeof Schema.String>;
|
|
338
|
+
}>>;
|
|
339
|
+
readonly addSuppression: import("../endpoint.js").Endpoint<"POST", "/email/projects/:id/suppressions", Schema.Struct<{
|
|
340
|
+
id: typeof Schema.String;
|
|
341
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
342
|
+
email: typeof Schema.String;
|
|
343
|
+
reason: Schema.optional<Schema.Literal<["manual"]>>;
|
|
344
|
+
}>, Schema.Struct<{
|
|
345
|
+
id: typeof Schema.String;
|
|
346
|
+
email: typeof Schema.String;
|
|
347
|
+
reason: Schema.Literal<["hard_bounce", "complaint", "manual"]>;
|
|
348
|
+
can_unsuppress: typeof Schema.Boolean;
|
|
349
|
+
suppressed_at: typeof Schema.String;
|
|
350
|
+
unsuppressed_at: Schema.NullOr<typeof Schema.String>;
|
|
351
|
+
created_at: typeof Schema.String;
|
|
352
|
+
}>>;
|
|
353
|
+
readonly deleteSuppression: import("../endpoint.js").Endpoint<"DELETE", "/email/projects/:id/suppressions/:email", Schema.Struct<{
|
|
354
|
+
id: typeof Schema.String;
|
|
355
|
+
email: typeof Schema.String;
|
|
356
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
357
|
+
id: typeof Schema.String;
|
|
358
|
+
email: typeof Schema.String;
|
|
359
|
+
reason: Schema.Literal<["hard_bounce", "complaint", "manual"]>;
|
|
360
|
+
can_unsuppress: typeof Schema.Boolean;
|
|
361
|
+
suppressed_at: typeof Schema.String;
|
|
362
|
+
unsuppressed_at: Schema.NullOr<typeof Schema.String>;
|
|
363
|
+
created_at: typeof Schema.String;
|
|
364
|
+
}>>;
|
|
365
|
+
readonly getSettings: import("../endpoint.js").Endpoint<"GET", "/email/projects/:id/email-settings", Schema.Struct<{
|
|
366
|
+
id: typeof Schema.String;
|
|
367
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
368
|
+
defaultFromEmail: Schema.NullOr<typeof Schema.String>;
|
|
369
|
+
defaultFromName: Schema.NullOr<typeof Schema.String>;
|
|
370
|
+
webhookUrl: Schema.NullOr<typeof Schema.String>;
|
|
371
|
+
webhookSecretPrefix: Schema.NullOr<typeof Schema.String>;
|
|
372
|
+
trackOpens: typeof Schema.Boolean;
|
|
373
|
+
trackClicks: typeof Schema.Boolean;
|
|
374
|
+
}>>;
|
|
375
|
+
readonly updateSettings: import("../endpoint.js").Endpoint<"PATCH", "/email/projects/:id/email-settings", Schema.Struct<{
|
|
376
|
+
id: typeof Schema.String;
|
|
377
|
+
}>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
378
|
+
defaultFromEmail: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
379
|
+
defaultFromName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
380
|
+
webhookUrl: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
381
|
+
rotateWebhookSecret: Schema.optional<typeof Schema.Boolean>;
|
|
382
|
+
trackOpens: Schema.optional<typeof Schema.Boolean>;
|
|
383
|
+
trackClicks: Schema.optional<typeof Schema.Boolean>;
|
|
384
|
+
}>, Schema.Struct<{
|
|
385
|
+
defaultFromEmail: Schema.NullOr<typeof Schema.String>;
|
|
386
|
+
defaultFromName: Schema.NullOr<typeof Schema.String>;
|
|
387
|
+
webhookUrl: Schema.NullOr<typeof Schema.String>;
|
|
388
|
+
webhookSecretPrefix: Schema.NullOr<typeof Schema.String>;
|
|
389
|
+
trackOpens: typeof Schema.Boolean;
|
|
390
|
+
trackClicks: typeof Schema.Boolean;
|
|
391
|
+
}>>;
|
|
392
|
+
readonly adminSend: import("../endpoint.js").Endpoint<"POST", "/email/admin/send", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
393
|
+
to: Schema.Union<[typeof Schema.String, Schema.Array$<typeof Schema.String>]>;
|
|
394
|
+
subject: typeof Schema.String;
|
|
395
|
+
html: typeof Schema.String;
|
|
396
|
+
text: Schema.optional<typeof Schema.String>;
|
|
397
|
+
}>, Schema.Struct<{
|
|
398
|
+
success: typeof Schema.Boolean;
|
|
399
|
+
id: Schema.optional<typeof Schema.String>;
|
|
400
|
+
sentTo: typeof Schema.Number;
|
|
401
|
+
}>>;
|
|
402
|
+
readonly adminStats: import("../endpoint.js").Endpoint<"GET", "/email/admin/stats", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
|
|
403
|
+
period: Schema.Struct<{
|
|
404
|
+
days: typeof Schema.Number;
|
|
405
|
+
since: typeof Schema.String;
|
|
406
|
+
}>;
|
|
407
|
+
emails: Schema.Struct<{
|
|
408
|
+
total: typeof Schema.Number;
|
|
409
|
+
successful: typeof Schema.Number;
|
|
410
|
+
failed: typeof Schema.Number;
|
|
411
|
+
successRate: typeof Schema.Number;
|
|
412
|
+
}>;
|
|
413
|
+
}>>;
|
|
414
|
+
};
|
|
415
|
+
//# sourceMappingURL=email-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-admin.d.ts","sourceRoot":"","sources":["../../src/endpoints/email-admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA0C/B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6OtB,CAAA"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Admin endpoints — Console-plane per-project template management,
|
|
3
|
+
* transactional send, scheduling, logs, suppressions, settings, and a handful
|
|
4
|
+
* of super-admin cross-project operations. Mirrors
|
|
5
|
+
* `apps/api/src/server/platform/routes/email/*`.
|
|
6
|
+
*
|
|
7
|
+
* Production mount: `/email/*` (see `apps/api/src/server/platform/app.ts`).
|
|
8
|
+
* Project-scoped routes accept a project ID or slug via `{id}`; send/schedule
|
|
9
|
+
* additionally accept a `projectId` body/query where the path doesn't carry
|
|
10
|
+
* one (not needed here — all sub-routes live under `/projects/:id`).
|
|
11
|
+
*
|
|
12
|
+
* Plane: `'management'` — distinct from BaaS `emailEndpoints` (plane:
|
|
13
|
+
* `'baas'`) which are served by the runtime for customer apps.
|
|
14
|
+
*/
|
|
15
|
+
import { Schema } from 'effect';
|
|
16
|
+
import { defineEndpoint } from '../endpoint.js';
|
|
17
|
+
import { AddSuppressionInput, AdminEmailStatsResult, AdminSendEmailInput, AdminSendEmailResult, CancelScheduledEmailResult, CreateTemplateInput, EmailLogDetail, EmailSettings, EmailTemplateDetail, ListEmailLogsQuery, ListEmailLogsResult, ListScheduledEmailsQuery, ListScheduledEmailsResult, ListSuppressionsQuery, ListSuppressionsResult, ListTemplatesResult, RescheduleEmailInput, RescheduleEmailResult, ScheduledEmailDetail, ScheduledEmailStatsQuery, ScheduledEmailStatsResult, ScheduleEmailInput, ScheduleEmailResult, SendEmailAdminInput, SendEmailAdminResult, SendTemplatedEmailAdminInput, SendTemplatedEmailAdminResult, SendToUserInput, SuppressionItem, UpdateEmailSettingsInput, UpdateTemplateInput, } from '../schemas/email-admin.js';
|
|
18
|
+
const ProjectPath = Schema.Struct({ id: Schema.String });
|
|
19
|
+
const ProjectAndKeyPath = Schema.Struct({ id: Schema.String, key: Schema.String });
|
|
20
|
+
const ProjectAndEmailPath = Schema.Struct({ id: Schema.String, email: Schema.String });
|
|
21
|
+
const ProjectAndEmailIdPath = Schema.Struct({ id: Schema.String, emailId: Schema.String });
|
|
22
|
+
const LogPath = Schema.Struct({ id: Schema.String, logId: Schema.String });
|
|
23
|
+
export const emailAdminEndpoints = {
|
|
24
|
+
// Note: `GET /email/configured` is served by the BaaS `emailEndpoints.isConfigured`
|
|
25
|
+
// (same path, same route handler — the Console UI probes the same endpoint). No
|
|
26
|
+
// admin-only `isConfigured` entry is needed here.
|
|
27
|
+
// ── Templates ──────────────────────────────────────────────────────────
|
|
28
|
+
listTemplates: defineEndpoint({
|
|
29
|
+
method: 'GET',
|
|
30
|
+
path: '/email/projects/:id/templates',
|
|
31
|
+
params: ProjectPath,
|
|
32
|
+
response: ListTemplatesResult,
|
|
33
|
+
plane: 'management',
|
|
34
|
+
summary: 'List email templates for a project',
|
|
35
|
+
tags: ['email-admin'],
|
|
36
|
+
}),
|
|
37
|
+
createTemplate: defineEndpoint({
|
|
38
|
+
method: 'POST',
|
|
39
|
+
path: '/email/projects/:id/templates',
|
|
40
|
+
params: ProjectPath,
|
|
41
|
+
body: CreateTemplateInput,
|
|
42
|
+
response: EmailTemplateDetail,
|
|
43
|
+
plane: 'management',
|
|
44
|
+
summary: 'Create a new email template',
|
|
45
|
+
tags: ['email-admin'],
|
|
46
|
+
}),
|
|
47
|
+
getTemplate: defineEndpoint({
|
|
48
|
+
method: 'GET',
|
|
49
|
+
path: '/email/projects/:id/templates/:key',
|
|
50
|
+
params: ProjectAndKeyPath,
|
|
51
|
+
response: EmailTemplateDetail,
|
|
52
|
+
plane: 'management',
|
|
53
|
+
summary: 'Get a single email template by key',
|
|
54
|
+
tags: ['email-admin'],
|
|
55
|
+
}),
|
|
56
|
+
updateTemplate: defineEndpoint({
|
|
57
|
+
method: 'PATCH',
|
|
58
|
+
path: '/email/projects/:id/templates/:key',
|
|
59
|
+
params: ProjectAndKeyPath,
|
|
60
|
+
body: UpdateTemplateInput,
|
|
61
|
+
response: EmailTemplateDetail,
|
|
62
|
+
plane: 'management',
|
|
63
|
+
summary: 'Update an email template',
|
|
64
|
+
tags: ['email-admin'],
|
|
65
|
+
}),
|
|
66
|
+
deleteTemplate: defineEndpoint({
|
|
67
|
+
method: 'DELETE',
|
|
68
|
+
path: '/email/projects/:id/templates/:key',
|
|
69
|
+
params: ProjectAndKeyPath,
|
|
70
|
+
response: EmailTemplateDetail,
|
|
71
|
+
plane: 'management',
|
|
72
|
+
summary: 'Delete an email template',
|
|
73
|
+
tags: ['email-admin'],
|
|
74
|
+
}),
|
|
75
|
+
// ── Send ───────────────────────────────────────────────────────────────
|
|
76
|
+
sendEmail: defineEndpoint({
|
|
77
|
+
method: 'POST',
|
|
78
|
+
path: '/email/projects/:id/send',
|
|
79
|
+
params: ProjectPath,
|
|
80
|
+
body: SendEmailAdminInput,
|
|
81
|
+
response: SendEmailAdminResult,
|
|
82
|
+
plane: 'management',
|
|
83
|
+
summary: 'Send a custom email (Console)',
|
|
84
|
+
tags: ['email-admin'],
|
|
85
|
+
}),
|
|
86
|
+
sendTemplated: defineEndpoint({
|
|
87
|
+
method: 'POST',
|
|
88
|
+
path: '/email/projects/:id/send-templated',
|
|
89
|
+
params: ProjectPath,
|
|
90
|
+
body: SendTemplatedEmailAdminInput,
|
|
91
|
+
response: SendTemplatedEmailAdminResult,
|
|
92
|
+
plane: 'management',
|
|
93
|
+
summary: 'Send a pre-defined templated email (Console)',
|
|
94
|
+
tags: ['email-admin'],
|
|
95
|
+
}),
|
|
96
|
+
sendToUser: defineEndpoint({
|
|
97
|
+
method: 'POST',
|
|
98
|
+
path: '/email/projects/:id/send-to-user',
|
|
99
|
+
params: ProjectPath,
|
|
100
|
+
body: SendToUserInput,
|
|
101
|
+
response: SendEmailAdminResult,
|
|
102
|
+
plane: 'management',
|
|
103
|
+
summary: 'Send an email to a user by ID (Console)',
|
|
104
|
+
tags: ['email-admin'],
|
|
105
|
+
}),
|
|
106
|
+
// ── Scheduling ─────────────────────────────────────────────────────────
|
|
107
|
+
scheduleEmail: defineEndpoint({
|
|
108
|
+
method: 'POST',
|
|
109
|
+
path: '/email/projects/:id/schedule',
|
|
110
|
+
params: ProjectPath,
|
|
111
|
+
body: ScheduleEmailInput,
|
|
112
|
+
response: ScheduleEmailResult,
|
|
113
|
+
plane: 'management',
|
|
114
|
+
summary: 'Schedule an email for future delivery',
|
|
115
|
+
tags: ['email-admin'],
|
|
116
|
+
}),
|
|
117
|
+
listScheduled: defineEndpoint({
|
|
118
|
+
method: 'GET',
|
|
119
|
+
path: '/email/projects/:id/scheduled',
|
|
120
|
+
params: ProjectPath,
|
|
121
|
+
query: ListScheduledEmailsQuery,
|
|
122
|
+
response: ListScheduledEmailsResult,
|
|
123
|
+
plane: 'management',
|
|
124
|
+
summary: 'List scheduled emails',
|
|
125
|
+
tags: ['email-admin'],
|
|
126
|
+
}),
|
|
127
|
+
scheduledStats: defineEndpoint({
|
|
128
|
+
method: 'GET',
|
|
129
|
+
path: '/email/projects/:id/scheduled/stats',
|
|
130
|
+
params: ProjectPath,
|
|
131
|
+
query: ScheduledEmailStatsQuery,
|
|
132
|
+
response: ScheduledEmailStatsResult,
|
|
133
|
+
plane: 'management',
|
|
134
|
+
summary: 'Get scheduled email statistics',
|
|
135
|
+
tags: ['email-admin'],
|
|
136
|
+
}),
|
|
137
|
+
getScheduled: defineEndpoint({
|
|
138
|
+
method: 'GET',
|
|
139
|
+
path: '/email/projects/:id/scheduled/:emailId',
|
|
140
|
+
params: ProjectAndEmailIdPath,
|
|
141
|
+
response: ScheduledEmailDetail,
|
|
142
|
+
plane: 'management',
|
|
143
|
+
summary: 'Get a scheduled email by ID',
|
|
144
|
+
tags: ['email-admin'],
|
|
145
|
+
}),
|
|
146
|
+
cancelScheduled: defineEndpoint({
|
|
147
|
+
method: 'POST',
|
|
148
|
+
path: '/email/projects/:id/scheduled/:emailId/cancel',
|
|
149
|
+
params: ProjectAndEmailIdPath,
|
|
150
|
+
response: CancelScheduledEmailResult,
|
|
151
|
+
plane: 'management',
|
|
152
|
+
summary: 'Cancel a pending scheduled email',
|
|
153
|
+
tags: ['email-admin'],
|
|
154
|
+
}),
|
|
155
|
+
rescheduleEmail: defineEndpoint({
|
|
156
|
+
method: 'PATCH',
|
|
157
|
+
path: '/email/projects/:id/scheduled/:emailId/reschedule',
|
|
158
|
+
params: ProjectAndEmailIdPath,
|
|
159
|
+
body: RescheduleEmailInput,
|
|
160
|
+
response: RescheduleEmailResult,
|
|
161
|
+
plane: 'management',
|
|
162
|
+
summary: 'Reschedule a pending scheduled email',
|
|
163
|
+
tags: ['email-admin'],
|
|
164
|
+
}),
|
|
165
|
+
// ── Logs ───────────────────────────────────────────────────────────────
|
|
166
|
+
listLogs: defineEndpoint({
|
|
167
|
+
method: 'GET',
|
|
168
|
+
path: '/email/projects/:id/logs',
|
|
169
|
+
params: ProjectPath,
|
|
170
|
+
query: ListEmailLogsQuery,
|
|
171
|
+
response: ListEmailLogsResult,
|
|
172
|
+
plane: 'management',
|
|
173
|
+
summary: 'List email delivery logs for a project',
|
|
174
|
+
tags: ['email-admin'],
|
|
175
|
+
}),
|
|
176
|
+
getLog: defineEndpoint({
|
|
177
|
+
method: 'GET',
|
|
178
|
+
path: '/email/projects/:id/logs/:logId',
|
|
179
|
+
params: LogPath,
|
|
180
|
+
response: EmailLogDetail,
|
|
181
|
+
plane: 'management',
|
|
182
|
+
summary: 'Get a single email log entry with events',
|
|
183
|
+
tags: ['email-admin'],
|
|
184
|
+
}),
|
|
185
|
+
// ── Suppressions ───────────────────────────────────────────────────────
|
|
186
|
+
listSuppressions: defineEndpoint({
|
|
187
|
+
method: 'GET',
|
|
188
|
+
path: '/email/projects/:id/suppressions',
|
|
189
|
+
params: ProjectPath,
|
|
190
|
+
query: ListSuppressionsQuery,
|
|
191
|
+
response: ListSuppressionsResult,
|
|
192
|
+
plane: 'management',
|
|
193
|
+
summary: 'List email suppression entries for a project',
|
|
194
|
+
tags: ['email-admin'],
|
|
195
|
+
}),
|
|
196
|
+
addSuppression: defineEndpoint({
|
|
197
|
+
method: 'POST',
|
|
198
|
+
path: '/email/projects/:id/suppressions',
|
|
199
|
+
params: ProjectPath,
|
|
200
|
+
body: AddSuppressionInput,
|
|
201
|
+
response: SuppressionItem,
|
|
202
|
+
plane: 'management',
|
|
203
|
+
summary: 'Manually add an email to the suppression list',
|
|
204
|
+
tags: ['email-admin'],
|
|
205
|
+
}),
|
|
206
|
+
deleteSuppression: defineEndpoint({
|
|
207
|
+
method: 'DELETE',
|
|
208
|
+
path: '/email/projects/:id/suppressions/:email',
|
|
209
|
+
params: ProjectAndEmailPath,
|
|
210
|
+
response: SuppressionItem,
|
|
211
|
+
plane: 'management',
|
|
212
|
+
summary: 'Remove an email from the suppression list',
|
|
213
|
+
tags: ['email-admin'],
|
|
214
|
+
}),
|
|
215
|
+
// ── Settings ───────────────────────────────────────────────────────────
|
|
216
|
+
getSettings: defineEndpoint({
|
|
217
|
+
method: 'GET',
|
|
218
|
+
path: '/email/projects/:id/email-settings',
|
|
219
|
+
params: ProjectPath,
|
|
220
|
+
response: EmailSettings,
|
|
221
|
+
plane: 'management',
|
|
222
|
+
summary: 'Get per-project email settings',
|
|
223
|
+
tags: ['email-admin'],
|
|
224
|
+
}),
|
|
225
|
+
updateSettings: defineEndpoint({
|
|
226
|
+
method: 'PATCH',
|
|
227
|
+
path: '/email/projects/:id/email-settings',
|
|
228
|
+
params: ProjectPath,
|
|
229
|
+
body: UpdateEmailSettingsInput,
|
|
230
|
+
response: EmailSettings,
|
|
231
|
+
plane: 'management',
|
|
232
|
+
summary: 'Update per-project email settings',
|
|
233
|
+
tags: ['email-admin'],
|
|
234
|
+
}),
|
|
235
|
+
// ── Super-admin operations ─────────────────────────────────────────────
|
|
236
|
+
adminSend: defineEndpoint({
|
|
237
|
+
method: 'POST',
|
|
238
|
+
path: '/email/admin/send',
|
|
239
|
+
body: AdminSendEmailInput,
|
|
240
|
+
response: AdminSendEmailResult,
|
|
241
|
+
plane: 'admin',
|
|
242
|
+
summary: 'Admin send email to any address (super-admin only)',
|
|
243
|
+
tags: ['email-admin'],
|
|
244
|
+
}),
|
|
245
|
+
adminStats: defineEndpoint({
|
|
246
|
+
method: 'GET',
|
|
247
|
+
path: '/email/admin/stats',
|
|
248
|
+
response: AdminEmailStatsResult,
|
|
249
|
+
plane: 'admin',
|
|
250
|
+
summary: 'Admin email service statistics (super-admin only)',
|
|
251
|
+
tags: ['email-admin'],
|
|
252
|
+
}),
|
|
253
|
+
};
|