Email API
Email API to send templated and raw transactional mail from Scalix Cloud, manage templates and org sending settings, register and verify your own sending domains, and read delivery events, suppressions, and analytics.
REST API endpoints for Email. 17 operations.
Get campaign analytics
GET /v1/email/analytics/campaign/{template_name}Returns engagement metrics for a single template. Requires the email:read scope.
Auth: Bearer API key
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
template_name | path | string | Yes | Template to report on |
Responses
| Status | Description |
|---|---|
200 | Campaign analytics |
401 | Missing or invalid API key |
403 | Missing email:read scope |
404 | Template not found |
500 | Internal error |
operationId: getEmailCampaignAnalytics
Get analytics summary
GET /v1/email/analytics/summaryReturns aggregate open, click, bounce, and complaint rates for the org. Requires the email:read scope.
Auth: Bearer API key
Responses
| Status | Description |
|---|---|
200 | Analytics summary |
401 | Missing or invalid API key |
403 | Missing email:read scope |
500 | Internal error |
operationId: getEmailAnalyticsSummary
List sending domains
GET /v1/email/domainsReturns the org's bring-your-own sending domains and their verification state. Requires the email:read scope.
Auth: Bearer API key
Responses
| Status | Description |
|---|---|
200 | Sending domains |
401 | Missing or invalid API key |
403 | Missing email:read scope |
500 | Internal error |
operationId: listEmailDomains
Add a sending domain
POST /v1/email/domainsRegisters a domain and returns the DNS records required to verify it. Requires the email:send scope.
Auth: Bearer API key
Request body
application/json (required) — schema EmailAddDomainRequest.
Responses
| Status | Description |
|---|---|
200 | Domain added |
401 | Missing or invalid API key |
403 | Missing email:send scope |
409 | Domain already registered |
500 | Internal error |
operationId: addEmailDomain
Delete a sending domain
DELETE /v1/email/domains/{id}Removes a sending domain from the org. Requires the email:send scope.
Auth: Bearer API key
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Domain id |
Responses
| Status | Description |
|---|---|
200 | Domain deleted |
401 | Missing or invalid API key |
403 | Missing email:send scope |
404 | Domain not found |
500 | Internal error |
operationId: deleteEmailDomain
Verify a sending domain
POST /v1/email/domains/{id}/verifyRe-checks the domain's DNS records and updates its verification state. Verifying a domain proves ownership; it does not by itself enable delivery. Requires the email:send scope.
Auth: Bearer API key
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Domain id |
Responses
| Status | Description |
|---|---|
200 | Verification result |
401 | Missing or invalid API key |
403 | Missing email:send scope |
404 | Domain not found |
500 | Internal error |
operationId: verifyEmailDomain
List delivery events
GET /v1/email/eventsReturns recent per-message delivery events (delivered, bounced, opened, clicked). Requires the email:read scope.
Auth: Bearer API key
Responses
| Status | Description |
|---|---|
200 | Delivery events |
401 | Missing or invalid API key |
403 | Missing email:read scope |
500 | Internal error |
operationId: listEmailEvents
Send a raw email
POST /v1/email/send/rawSends an HTML email without a stored template. Requires the email:send scope.
Auth: Bearer API key
Request body
application/json (required) — schema EmailSendRawRequest.
Responses
| Status | Description |
|---|---|
200 | Email accepted for delivery |
401 | Missing or invalid API key |
403 | Missing email:send scope |
500 | Internal error |
503 | Bring-your-own delivery is not enabled for this org |
operationId: sendRawEmail
Send a templated email
POST /v1/email/send/txRenders template with data and sends it to to. Requires the email:send scope.
Auth: Bearer API key
Request body
application/json (required) — schema EmailSendTxRequest.
Responses
| Status | Description |
|---|---|
200 | Email accepted for delivery |
401 | Missing or invalid API key |
403 | Missing email:send scope |
500 | Internal error |
503 | Bring-your-own delivery is not enabled for this org |
operationId: sendTransactionalEmail
Get email settings
GET /v1/email/settingsReturns the org's sender identity and delivery configuration, including whether bring-your-own delivery is enabled. Requires the email:read scope.
Auth: Bearer API key
Responses
| Status | Description |
|---|---|
200 | Email settings |
401 | Missing or invalid API key |
403 | Missing email:read scope |
500 | Internal error |
operationId: getEmailSettings
Update email settings
PUT /v1/email/settingsUpdates the org's sender identity and delivery configuration. Requires the email:send scope.
Auth: Bearer API key
Request body
application/json (required) — schema object.
Responses
| Status | Description |
|---|---|
200 | Settings updated |
401 | Missing or invalid API key |
403 | Missing email:send scope |
500 | Internal error |
operationId: updateEmailSettings
Get email stats
GET /v1/email/statsReturns send counts and delivery health for the org. Requires the email:read scope.
Auth: Bearer API key
Responses
| Status | Description |
|---|---|
200 | Email stats |
401 | Missing or invalid API key |
403 | Missing email:read scope |
500 | Internal error |
operationId: getEmailStats
List suppressed addresses
GET /v1/email/suppressionReturns addresses excluded from sending after a hard bounce or complaint. Requires the email:read scope.
Auth: Bearer API key
Responses
| Status | Description |
|---|---|
200 | Suppression list |
401 | Missing or invalid API key |
403 | Missing email:read scope |
500 | Internal error |
operationId: listEmailSuppression
List email templates
GET /v1/email/templatesReturns the org's stored templates. Requires the email:read scope.
Auth: Bearer API key
Responses
| Status | Description |
|---|---|
200 | Templates |
401 | Missing or invalid API key |
403 | Missing email:read scope |
500 | Internal error |
operationId: listEmailTemplates
Create an email template
POST /v1/email/templatesStores a new template for the org. Requires the email:write scope.
Auth: Bearer API key
Request body
application/json (required) — schema object.
Responses
| Status | Description |
|---|---|
200 | Template created |
401 | Missing or invalid API key |
403 | Missing email:write scope |
500 | Internal error |
operationId: createEmailTemplate
Delete an email template
DELETE /v1/email/templates/{id}Removes a stored template. Requires the email:write scope.
Auth: Bearer API key
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Template id |
Responses
| Status | Description |
|---|---|
200 | Template deleted |
401 | Missing or invalid API key |
403 | Missing email:write scope |
404 | Template not found |
500 | Internal error |
operationId: deleteEmailTemplate
Update an email template
PUT /v1/email/templates/{id}Replaces a stored template. Requires the email:write scope.
Auth: Bearer API key
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Template id |
Request body
application/json (required) — schema object.
Responses
| Status | Description |
|---|---|
200 | Template updated |
401 | Missing or invalid API key |
403 | Missing email:write scope |
404 | Template not found |
500 | Internal error |
operationId: updateEmailTemplate