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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'