AhaSend · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for AhaSend API v2 Messages API
6 actions
6 updates
phrasing
extends
openapi/ahasend-messages-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for AhaSend's API. It is a proposal applied on top of the contract, not a document AhaSend publishes.
What the actions change
x-apievangelist-phrasing
Targets 6
$.info
$.paths['/v2/accounts/{account_id}/messages'].get
$.paths['/v2/accounts/{account_id}/messages'].post
$.paths['/v2/accounts/{account_id}/messages/conversation'].post
$.paths['/v2/accounts/{account_id}/messages/{message_id}'].get
$.paths['/v2/accounts/{account_id}/messages/{message_id}/cancel'].delete
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for AhaSend API v2 Messages API
version: 1.0.0
extends: openapi/ahasend-messages-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 5
- target: $.paths['/v2/accounts/{account_id}/messages'].get
update:
x-apievangelist-phrasing:
intent: Search sent messages
effect: read
questions:
- Which of my emails bounced in the last day?
- Can I find every message sent to a particular recipient?
- How do I look up messages by subject line or tag?
instructions:
- text: List messages on account {account_id} with status {status}.
slots:
account_id: path.account_id
status: query.status
- text: Find emails sent to {recipient} from account {account_id}.
slots:
recipient: query.recipient
account_id: path.account_id
- text: Show messages tagged {tags} sent between {from_time} and {to_time} on account {account_id}.
slots:
tags: query.tags
from_time: query.from_time
to_time: query.to_time
account_id: path.account_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/accounts/{account_id}/messages'].post
update:
x-apievangelist-phrasing:
intent: Send a transactional email
effect: write
questions:
- How do I send a templated email with per-recipient substitutions?
- Can I schedule a transactional email to go out later?
- What happens when I pass several recipients — do they all share one To header?
instructions:
- text: Send an email from {from} to {recipients} with subject {subject} and body {html_content} on account {account_id}.
slots:
from: requestBody.from
recipients: requestBody.recipients
subject: requestBody.subject
html_content: requestBody.html_content
account_id: path.account_id
- text: Send {subject} to {recipients} from account {account_id}, filling in substitutions {substitutions}.
slots:
subject: requestBody.subject
recipients: requestBody.recipients
account_id: path.account_id
substitutions: requestBody.substitutions
- text: Schedule a message with subject {subject} to {recipients} for {schedule} on account {account_id}.
slots:
subject: requestBody.subject
recipients: requestBody.recipients
schedule: requestBody.schedule
account_id: path.account_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/accounts/{account_id}/messages/conversation'].post
update:
x-apievangelist-phrasing:
intent: Send a person-to-person email with CC or BCC
effect: write
questions:
- How do I send an email that copies other people on CC or BCC?
- What's the recipient limit across To, CC and BCC combined for a conversational email?
instructions:
- text: Send a conversational email from {from} to {to}, CC {cc}, with subject {subject} on account {account_id}.
slots:
from: requestBody.from
to: requestBody.to
cc: requestBody.cc
subject: requestBody.subject
account_id: path.account_id
- text: Email {to} and blind-copy {bcc} with subject {subject} from {from} in account {account_id}.
slots:
to: requestBody.to
bcc: requestBody.bcc
subject: requestBody.subject
from: requestBody.from
account_id: path.account_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/accounts/{account_id}/messages/{message_id}'].get
update:
x-apievangelist-phrasing:
intent: View one message's full content
effect: read
questions:
- Can I see the raw content of an email I sent earlier?
- What exactly was in a specific message, including its parsed parts?
instructions:
- text: Show message {message_id} on account {account_id}.
slots:
message_id: path.message_id
account_id: path.account_id
- text: Get the raw and parsed content of email {message_id} in account {account_id}.
slots:
message_id: path.message_id
account_id: path.account_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v2/accounts/{account_id}/messages/{message_id}/cancel'].delete
update:
x-apievangelist-phrasing:
intent: Cancel a scheduled message
effect: destructive
questions:
- How do I stop a scheduled email before it goes out?
- Can I cancel a message that is queued for a later send time?
instructions:
- text: Cancel scheduled message {message_id} on account {account_id}.
slots:
message_id: path.message_id
account_id: path.account_id
- text: Stop the scheduled send of {message_id} in account {account_id}.
slots:
message_id: path.message_id
account_id: path.account_id
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/ahasend-messages-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.