Email Marketing
API reference
The guides explain how to use each area. This page is the index. The OpenAPI file is the machine-readable copy for agents.
OpenAPI
Download: https://thealtermeai.com/openapi/email-v1.yaml (same file as /openapi/email-v1.yaml on this site). Point Cursor, Claude, or another agent at that URL, then follow Authentication for the key.
REST calls use https://api.thealtermeai.com. The OpenAPI file is not on the API host — https://api.thealtermeai.com/openapi/email-v1.yaml will 404. Local dev: http://localhost:3000/openapi/email-v1.yaml.
Organization
- GET
/api/v1/email/organizationAny valid keyOrganization, key scopes, allowance, and warm-up
Audiences
- GET
/api/v1/email/audiencesaudiences:readList audiences
- POST
/api/v1/email/audiencesaudiences:writeCreate an audience
- GET
/api/v1/email/audiences/{audienceId}audiences:readGet an audience
- PATCH
/api/v1/email/audiences/{audienceId}audiences:writeUpdate an audience
- DELETE
/api/v1/email/audiences/{audienceId}audiences:writeDelete an audience
Contacts
- GET
/api/v1/email/contactscontacts:readList contacts
- POST
/api/v1/email/contactscontacts:writeCreate or update a contact
- GET
/api/v1/email/contacts/{contactId}contacts:readGet a contact
- PATCH
/api/v1/email/contacts/{contactId}contacts:writeUpdate a contact
- DELETE
/api/v1/email/contacts/{contactId}contacts:writeDelete a contact
Batch
- POST
/api/v1/email/contacts/batchcontacts:writeUpsert up to 500 contacts into one audience
Templates
- GET
/api/v1/email/templatestemplates:readList templates
- POST
/api/v1/email/templatestemplates:writeCreate a template
- GET
/api/v1/email/templates/{templateId}templates:readGet a template (optional HTML bodies)
- PATCH
/api/v1/email/templates/{templateId}templates:writeUpdate or archive a template
Sender identities
- GET
/api/v1/email/sender-identitiescampaigns:readList From addresses and domain verification status
- POST
/api/v1/email/sender-identitiescampaigns:writeCreate a sender identity (From name + email on a verified domain)
Campaigns
- GET
/api/v1/email/campaignscampaigns:readList campaigns
- POST
/api/v1/email/campaignscampaigns:writeCreate a draft campaign
- GET
/api/v1/email/campaigns/{campaignId}campaigns:readGet a campaign
- PATCH
/api/v1/email/campaigns/{campaignId}campaigns:writeUpdate a draft campaign
- POST
/api/v1/email/campaigns/{campaignId}/sendcampaigns:writeSend a campaign
Transactional messages
- GET
/api/v1/email/messagesmessages:readList transactional sends
- POST
/api/v1/email/messagesmessages:writeSend a transactional message
- GET
/api/v1/email/messages/{messageId}messages:readGet a transactional send
- DELETE
/api/v1/email/messages/{messageId}messages:writeCancel a scheduled send
Webhooks
- GET
/api/v1/email/webhookswebhooks:readList webhook endpoints
- POST
/api/v1/email/webhookswebhooks:writeCreate a webhook endpoint
- GET
/api/v1/email/webhooks/{endpointId}webhooks:readGet a webhook endpoint
- PATCH
/api/v1/email/webhooks/{endpointId}webhooks:writeUpdate URL, events, or status
- DELETE
/api/v1/email/webhooks/{endpointId}webhooks:writeDelete a webhook endpoint
- POST
/api/v1/email/webhooks/{endpointId}/rotate-secretwebhooks:writeRotate signing secret (returned once)
Conversions
- GET
/api/v1/email/conversionsconversions:readList conversion events
- POST
/api/v1/email/conversionsconversions:writeRecord a conversion
Webhooks
Event subscriptions are managed in the app. See Webhooks.