For Agents
Send transactional emails, manage sending domains, configure webhooks and routes, and read delivery stats through a scoped bearer-token API.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the AhaSend API v2, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with AhaSend API v2 API.
Send transactional and conversational messages with full RFC822 fields and idempotency keys
Create, verify, and delete sending domains tied to an account
Issue and revoke scoped API keys for messages, domains, webhooks, and suppressions
GET STARTED
Use for: Send a transactional welcome email to a new customer, I want to add and verify a new sending domain, Cancel a scheduled message before it sends, Create a webhook that forwards delivery events to my service
Not supported: Does not handle SMS, push notifications, or marketing campaign authoring — use for transactional email send, suppression, and webhook configuration only.
Jentic publishes the only available OpenAPI specification for AhaSend API v2, keeping it validated and agent-ready. AhaSend is a transactional email platform; the v2 API exposes 41 endpoints for sending messages, managing sending domains and SMTP credentials, configuring webhooks and routes, handling suppressions, and reading transactional statistics. Authentication uses bearer API keys prefixed with aha-sk- and supports fine-grained scopes per resource (messages, domains, webhooks, suppressions). General endpoints allow 100 requests per second with 200 burst, while statistics endpoints are limited to 1 request per second.
Configure webhooks to receive delivery, open, click, and bounce events
Set up and remove inbound routes that forward parsed mail to your webhook
Manage the suppression list to control bounces, complaints, and manual blocks
Read transactional statistics scoped per account or per sending domain
Patterns agents use AhaSend API v2 API for, with concrete tasks.
★ Transactional Email Sending
Backend services send transactional messages — receipts, password resets, notifications — through POST /v2/accounts/{account_id}/messages. Idempotency keys are supported via the Idempotency-Key header so retries do not duplicate sends, and timestamps follow RFC3339. The 100 req/sec general rate limit accommodates high-volume bursts without bespoke retry logic.
POST /v2/accounts/{account_id}/messages with from, to, subject, html_body, and an Idempotency-Key
Domain and Credential Management
Operations teams script domain onboarding by creating a sending domain, retrieving DNS records to publish, and verifying once DNS is in place. The same flow can issue scoped SMTP credentials and API keys with resource-level scopes (e.g. messages:send:{domain}), keeping each integration's blast radius small. Old credentials are deleted via the matching endpoints when integrations are retired.
POST /v2/accounts/{account_id}/domains with the domain name, then call GET to fetch DNS records for verification
Webhook and Route Orchestration
AhaSend webhooks deliver delivery, open, click, and bounce events to a customer endpoint, while routes forward inbound mail. Through POST /v2/accounts/{account_id}/webhooks an integration can subscribe a target URL with the event types of interest, and POST /v2/accounts/{account_id}/routes wires up inbound parsing for reply-handling features.
POST /v2/accounts/{account_id}/webhooks with target_url and selected event types
Suppression and Compliance
Compliance teams keep the suppression list accurate by reading current entries, adding manual suppressions for legal or fraud reasons, and removing suppressions when an address has been re-confirmed. The /suppressions/all delete endpoint is destructive and intended only for full clears. Suppression scopes (suppressions:wipe) gate access to that risky operation.
GET /v2/accounts/{account_id}/suppressions then DELETE the entry for hello@example.com
AI Agent Email Operations via Jentic
An agent built on Jentic can send transactional mail or manage suppressions in response to natural-language requests. Jentic stores the AhaSend bearer key (with whatever scopes you provision) in its vault and applies it at request time, so the agent never sees the raw aha-sk- value or has to reason about which scope is needed.
Use Jentic to search 'send a transactional email', execute POST /v2/accounts/{account_id}/messages with the message body
41 endpoints — jentic publishes the only available openapi specification for ahasend api v2, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/v2/accounts/{account_id}/messages
Send a transactional message
/v2/accounts/{account_id}/messages/{message_id}
Get a message by ID
/v2/accounts/{account_id}/messages/{message_id}/cancel
Cancel a scheduled message
/v2/accounts/{account_id}/domains
Create a sending domain
/v2/accounts/{account_id}/webhooks
Create a webhook subscription
/v2/accounts/{account_id}/routes
Create an inbound route
/v2/accounts/{account_id}/suppressions
Create a suppression
/v2/accounts/{account_id}/api-keys
Create a scoped API key
/v2/accounts/{account_id}/messages
Send a transactional message
/v2/accounts/{account_id}/messages/{message_id}
Get a message by ID
/v2/accounts/{account_id}/messages/{message_id}/cancel
Cancel a scheduled message
/v2/accounts/{account_id}/domains
Create a sending domain
/v2/accounts/{account_id}/webhooks
Create a webhook subscription
Three things that make agents converge on Jentic-routed access.
Credential isolation
AhaSend's aha-sk- bearer keys live in Jentic's vault and are scoped per agent or workflow. They attach to requests at execution time, so the agent context never carries the raw key and a leaked transcript cannot be replayed.
Intent-based discovery
Agents search by intent (e.g. 'send a transactional email' or 'create a webhook') and Jentic returns the matching AhaSend operation with its input schema, including the account_id path parameter and the message body shape.
Time to first call
Direct integration: 1-2 days to wire send, webhook subscription, and suppression handling. Through Jentic: under an hour — search, load schema, execute, with idempotency and 429 handling at the runtime layer.
Alternatives and complements available in the Jentic catalogue.
Specific to using AhaSend API v2 API through Jentic.
Why is there no official OpenAPI spec for AhaSend API v2?
AhaSend publishes a YAML spec for documentation but Jentic generates and maintains the validated, bundled OpenAPI specification used here so that AI agents and developers can call the AhaSend API v2 via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the AhaSend API v2 use?
Bearer authentication using a 64-character API key prefixed with aha-sk- in the Authorization header. Keys carry scopes such as messages:send:{domain}, webhooks:write, and suppressions:wipe. Through Jentic, the key is held in the credential vault and injected at request time.
What are the rate limits for the AhaSend API v2?
General API endpoints allow 100 requests per second with a burst of 200; statistics endpoints are limited to 1 request per second with a burst of 1. Plan polling and reporting jobs accordingly — pull stats on a schedule rather than per send.
How do I send a transactional email through the AhaSend API v2?
POST /v2/accounts/{account_id}/messages with the from address, recipients, subject, and either html_body or text_body. Include an Idempotency-Key header to make retries safe. The response includes a message_id you can use with GET /v2/accounts/{account_id}/messages/{message_id} for status.
How do I send transactional email through Jentic?
Search Jentic for 'send a transactional email'. Load the POST /v2/accounts/{account_id}/messages schema, supply the account ID, sender, recipient, subject, and body, and execute. Jentic injects the bearer key with the right scope and returns the message_id.
Can I cancel a scheduled message before it sends?
Yes. Call DELETE /v2/accounts/{account_id}/messages/{message_id}/cancel before delivery starts. Once a message has been sent, cancellation no longer applies and the response will indicate the message is in a terminal state.
/v2/accounts/{account_id}/routes
Create an inbound route
/v2/accounts/{account_id}/suppressions
Create a suppression
/v2/accounts/{account_id}/api-keys
Create a scoped API key