List status — GET /v1/email/ses/status
Reports the org's Amazon SES configuration: whether it holds the credentials a send needs, the account's limits as SES answers them (sandbox, sending enabled, 24-hour quota, rate, sent in the last 24 hours), what the org's ledger counted sent by SES in the last 24 hours, and the DNS records of the sending domain.
GET /v1/email/ses/status
| Address | https://api.hanzo.ai/v1/email/ses/status |
| Method | GET |
| Operation | get_email_ses_status |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Reports the org's Amazon SES configuration: whether it holds the credentials a send needs, the account's limits as SES answers them (sandbox, sending enabled, 24-hour quota, rate, sent in the last 24 hours), what the org's ledger counted sent by SES in the last 24 hours, and the DNS records of the sending domain.
GET /v1/email/ses/status
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
domain | query | string | — | Domain optionally specifies the sending domain to generate Easy DKIM and MAIL FROM records for. |
Response
| Status | Body | Meaning |
|---|---|---|
200 | email.SESStatusResult | ok |
default | problem-details | refused |
200 body — 23 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
active_provider | body | string | — | ActiveProvider is the provider the org's mail leaves by when a request pins none. |
configuration_set | body | string | — | ConfigurationSet is the SES configuration set messages go out under, whose event destination publishes their events (hanzo-crm-events unless the credential names another). |
configured | body | boolean | — | Configured reports whether the org holds the SES credentials a send needs (access-key-id, secret-access-key, from-email). |
dns_records | body | email.SESDNSRecord[] | — | DNSRecords lists the Easy DKIM, SPF, MX, and DMARC records for the sending domain. |
dns_records[].host | body | string | — | Host is the DNS record host or subdomain name. |
dns_records[].priority | body | integer (int64) | — | Priority is the MX priority when Type is MX. |
dns_records[].purpose | body | string | — | Purpose describes the role of the DNS record (e.g. DKIM, MAIL FROM MX, MAIL FROM SPF, DMARC). |
dns_records[].type | body | string | — | Type is the DNS record type (CNAME, MX, TXT). |
dns_records[].value | body | string | — | Value is the DNS record target or text value. |
dns_records[].verified | body | boolean | — | Verified reports whether the DNS record is verified for the sending identity. |
domain | body | string | — | Domain is the sending domain inspected. |
from_email | body | string | — | FromEmail is the default verified sender address. |
from_name | body | string | — | FromName is the default sender display name. |
mail_from_domain | body | string | — | MailFromDomain is the custom MAIL FROM subdomain (bounce.<domain>). |
max_24_hour_send | body | number (double) | — | Max24HourSend is the account's 24-hour sending quota, as SES answers it. |
max_send_rate | body | number (double) | — | MaxSendRate is the account's most messages a second, as SES answers it. |
org | body | string | — | Org is the organization identifier. |
provider_sent_last_24_hours | body | number (double) | — | ProviderSentLast24Hours is what SES counts sent by the account in the last 24 hours, from anywhere. |
quota_error | body | string | — | QuotaError says why the account's limits could not be read; the limits are then 0. |
region | body | string | — | Region is the configured Amazon SES AWS region (defaults to us-east-1). |
sandbox | body | boolean | — | Sandbox is whether SES says the account is still in its sandbox. |
sending_enabled | body | boolean | — | SendingEnabled is whether SES says the account may send. |
sent_last_24_hours | body | integer (int64) | — | SentLast24Hours is what the org's ledger counts sent by SES in the last 24 hours: through POST /v1/email, and every message SES's events told of. |
Failure carries the platform error shape — see Errors.
Examples
hanzo email ses statusimport { Configuration, EmailApi } from 'hanzoai';
const api = new EmailApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getEmailSesStatus();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import EmailApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = EmailApi(client).get_email_ses_status()cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)
resp, _, err := client.EmailAPI.GetEmailSesStatus(context.Background()).Execute()
if err != nil {
return err
}use hanzo_client::apis::{configuration::Configuration, email_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = email_api::get_email_ses_status(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.EmailApi;
ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));
var result = new EmailApi(client).getEmailSesStatus();curl https://api.hanzo.ai/v1/email/ses/status \
-H "Authorization: Bearer $HANZO_API_KEY"Tool email, op get_email_ses_status — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "email",
"arguments": {
"op": "get_email_ses_status",
"input": {}
}
}
}'