List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.
The AhaSend API returns a list of message summaries for the account. Can be filtered by various parameters.messages:read:all can read across the account. Domain-scoped keys see
only messages for domains authorized by their matching read roles.
The content field is omitted from list responses for performance reasons. Use the
Get Message endpoint to retrieve the full
message content.
API key for authentication. Non-empty Security Requirement values are
AhaSend API-key roles. Roles listed within one requirement object are
jointly required; separate requirement objects are alternatives.
Filter by comma-separated list of message statuses. Allowed values are:
Received, Delivered, Opened, Clicked, Deferred, Bounced, Failed, Suppressed,
Sandbox Delivered, Sandbox Deferred, Sandbox Failed, Sandbox Bounced,
and Sandbox Suppressed.
Delivery and engagement statuses are cumulative: Delivered also matches messages
currently marked Opened or Clicked, and Opened also matches messages currently
marked Clicked.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"AhaSend","description":"AhaSend is a European transactional email service for developers: send through a REST API, SMTP relay, CLI or the official Node.js and Go SDKs, with data stored in the EU and 1,000 free emails per month.","colors":{"primary":"#066fd1","light":"#F8FAFC","dark":"#0F172A"},"logo":{"light":"https://mintcdn.com/ahasend/F35Ozd-1GsftDpcH/logo.png?fit=max\u0026auto=format\u0026n=F35Ozd-1GsftDpcH\u0026q=85\u0026s=ca1d4c27f7c2811598e65cb25a21323c","dark":"https://mintcdn.com/ahasend/F35Ozd-1GsftDpcH/logo-dark.png?fit=max\u0026auto=format\u0026n=F35Ozd-1GsftDpcH\u0026q=85\u0026s=bb6b9068b30f93fd1ea216e2a7c1d137","href":"https://ahasend.com/"},"favicon":"https://mintcdn.com/ahasend/F35Ozd-1GsftDpcH/favicon.png?fit=max\u0026auto=format\u0026n=F35Ozd-1GsftDpcH\u0026q=85\u0026s=ac855c16b6cb74b8c5965d2e7ef3e324","appearance":{"strict":false},"navbar":{"links":[{"href":"https://dash.ahasend.com","label":"Login"}],"primary":{"type":"button","label":"Get Started","href":"https://dash.ahasend.com/user/register"}},"footer":{"socials":{"x":"https://x.com/aha_send","linkedin":"https://www.linkedin.com/company/ahasend","github":"https://github.com/ahasend"},"links":[{"header":"Resources","items":[{"label":"Pricing","href":"https://ahasend.com/pricing"},{"label":"Support","href":"mailto:support@ahasend.com"},{"label":"Status","href":"https://status.ahasend.com"},{"label":"Security","href":"https://ahasend.com/security"}]},{"header":"Company","items":[{"label":"Blog","href":"https://ahasend.com/blog"},{"label":"Feedback Board","href":"https://ahasend.sleekplan.app/"}]},{"header":"Legal","items":[{"label":"Imprint","href":"https://ahasend.com/imprint"},{"label":"Terms of Service","href":"https://ahasend.com/terms"},{"label":"Privacy Policy","href":"https://ahasend.com/privacy"},{"label":"Data Processing Agreement","href":"https://ahasend.com/dpa"}]}]},"seo":{"metatags":{"canonical":"https://ahasend.com/docs","twitter:site":"@aha_send"},"organization":{"name":"AhaSend","legalName":"AhaSend B.V.","url":"https://ahasend.com","sameAs":["https://x.com/aha_send","https://www.linkedin.com/company/ahasend","https://github.com/ahasend"]}},"integrations":{"telemetry":{"enabled":true},"cookies":{"key":"cookieConsent","value":"true"}},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/ahasend/Gpf8BnLpzpIKQ4dU/images/social-background.svg?fit=max\u0026auto=format\u0026n=Gpf8BnLpzpIKQ4dU\u0026q=85\u0026s=df32e1edef517352b8437c75feecbf6e"},"markdown":{"instructions":["AhaSend stores all message data in the EU. See /facts.","The API base URL is https://api.ahasend.com. Send the API key in the Authorization: Bearer header. See /api-reference/authentication.","Use send.ahasend.com for SMTP. Ports 25, 587 and 2525 use STARTTLS. Port 465 is not supported. See /smtp.","For send-only integrations, create an API Key v2 under Credentials → Add and scope it to messages:send:{your-domain}. See /send-api/credentials and /api-reference/scopes."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ahasend","hasAudioNarration":false,"actualSubdomain":"ahasend","customDomains":["ahasend.com"],"gitSource":{"type":"github","owner":"ahasend","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad8c3b977553aa7e94649ff","collectionId":"d01fbde8-982e-40ca-9846-f2125805e24e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad8c3b977553aa7e94649ff"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ad8c3b977553aa7e94649ff","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":128},{"language":"default","tag":"API reference","count":105},{"language":"default","tag":"Documentation","count":66},{"language":"default","tag":"Guides","count":52},{"language":"default","tag":"Integrations","count":41},{"language":"default","tag":"CLI","count":25},{"language":"default","tag":"Webhooks","count":18},{"language":"default","tag":"Commands","count":15},{"language":"default","tag":"Domain Authentication","count":13},{"language":"default","tag":"Campaigns","count":12}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":false}},"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-container table{display:table}#content-container table thead th{text-align:left}"},{"filePath":"roadmap.css","content":".rm{display:flex;flex-direction:column;gap:2.5rem;margin-top:1.5rem}.rm-head{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}.rm-badge{display:inline-flex;align-items:center;margin:0;border:0;font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.28rem .75rem;border-radius:999px;line-height:1}.rm-badge.is-active{background:#fdebd0;color:#854f0b}.rm-badge.is-planned{background:#e6f1fb;color:#0c447c}.rm-badge.is-shipped{background:#e1f5ee;color:#0f6e56}.rm-list{display:flex;flex-direction:column;gap:.65rem}.rm-card{display:flex;gap:.9rem;padding:.9rem 1.05rem;background:#fff;border:1px solid #e5e7eb;border-radius:.7rem;transition:transform .15s ease,box-shadow .15s ease}.rm-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.06)}.rm-accent{flex:0 0 3px;border-radius:2px}.rm-card.is-active .rm-accent{background:#ba7517}.rm-card.is-planned .rm-accent{background:#378add}.rm-card.is-shipped .rm-accent{background:#1d9e75}.rm-card.is-sub{margin-left:2rem;position:relative}.rm-card p,.rm-card.is-sub .rm-title{font-size:.9rem}.rm-card.is-sub::after,.rm-card.is-sub::before{content:\"\";position:absolute;left:-1.15rem;pointer-events:none}.rm-card.is-sub::before{top:-.65rem;height:calc(100% + .65rem);border-left:1.5px solid #d1d5db}.rm-card.is-sub::after{top:50%;width:.85rem;border-top:1.5px solid #d1d5db}.rm-card .rm-title{margin:0 0 .2rem;font-size:.97rem;font-weight:600;line-height:1.35;color:#111827}.rm-card p{margin:0;line-height:1.55;color:#4b5563}.rm-date,.rm-tag{display:inline-block}.rm-date{margin-top:.5rem;font-size:.78rem;font-weight:600;color:#0f6e56}.rm-tag{margin-left:.5rem;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.16rem .5rem;border-radius:999px;vertical-align:middle;line-height:1.4;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15)}.rm-tag.is-new{background:#6d28d9}.rm-tag.is-product{background:#be123c}.rm-tag.is-improvement{background:#0e7490}.rm-tag.is-early{background:#1d4ed8}.rm-tag.is-bugfix{background:#c2410c}.dark .rm-card{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.09)}.dark .rm-card p{color:#9ca3af}.dark .rm-badge.is-active{background:rgba(186,117,23,.18);color:#fac074}.dark .rm-badge.is-planned{background:rgba(55,138,221,.18);color:#85b7eb}.dark .rm-badge.is-shipped{background:rgba(29,158,117,.18);color:#5dcaa5}.dark .rm-date{color:#5dcaa5}.dark .rm-card.is-sub::after,.dark .rm-card.is-sub::before{border-color:rgba(255,255,255,.18)}.rm-note{margin-top:2.5rem;font-size:.85rem;color:#6b7280}.dark .rm-note{color:#9ca3af}.dark .rm-card .rm-title{color:#e7e9ee}.rm-jump{margin:-.5rem 0 0;font-size:.88rem}.rm-jump a{color:#2296ff;text-decoration:none;font-weight:500}.rm-jump a:hover{text-decoration:underline}.rm-badge[id]{scroll-margin-top:6rem}"}],"page":{"pagePath":"api-reference/messages/get-messages","slug":"/api-reference/messages/get-messages","pageMetadata":{"title":"List and Search Sent Emails via the API","sidebarTitle":"List Messages","openapi":"openapi.yaml GET /v2/accounts/{account_id}/messages","description":"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.","href":"/api-reference/messages/get-messages"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The AhaSend API returns a list of message summaries for the account. Can be filtered by various parameters.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`messages:read:all`}),` can read across the account. Domain-scoped keys see\nonly messages for domains authorized by their matching read roles.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`content`}),` field is omitted from list responses for performance reasons. Use the\n`,_jsx(_components.a,{href:`/api-reference/messages/get-message`,children:`Get Message`}),` endpoint to retrieve the full\nmessage content.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`related-guides`,children:`Related Guides`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/authentication`,children:`API authentication`}),`, `,_jsx(_components.a,{href:`/api-reference/scopes`,children:`Permission scopes`}),`, `,_jsx(_components.a,{href:`/send-api/send-email`,children:`Sending guide`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/cli/commands/messages`,children:`Message CLI`}),`, `,_jsx(_components.a,{href:`/smtp`,children:`SMTP settings`}),`, `,_jsx(_components.a,{href:`/guides/nodejs-sdk`,children:`Node.js SDK`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/guides/go-sdk`,children:`Go SDK`}),`, `,_jsx(_components.a,{href:`/api-reference/errors`,children:`API errors`}),`, `,_jsx(_components.a,{href:`/api-reference/rate-limits`,children:`API rate limits`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List and Search Sent Emails via the API","sidebarTitle":"List Messages","openapi":"openapi.yaml GET /v2/accounts/{account_id}/messages","description":"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.","href":"/api-reference/messages/get-messages"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Related Guides","slug":"related-guides","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/ahasend/1d760da0535d9f7c/ahasend-gtm.js"],"openApiReferenceData":{"operation":{"summary":"Get Messages","description":"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.","operationId":"getMessages","tags":["Messages"],"parameters":["e30fbb70-8150-4078-a585-5f1c3d66b11d","1ca67559-547b-47f1-a352-92efdf676d69","989bf033-eaa7-4d8b-b558-e776d33187c3","d10aa717-3aa5-4dad-8989-d78d94b4e9eb","6a936216-b6b4-4ab7-9925-dc365b79d923","890caf8e-2f36-46d5-8c7b-7e53d58fd13c","33f32f62-05c8-4bc6-b2cd-e1284bc26ba4","26144688-efdc-4f11-8d47-a5172f079117","04f2ff42-2c58-46cb-8390-d5cfcb44816e","e2928206-9975-42f2-a60a-816e31b43e43","0a0c2b01-d819-4679-898a-9cc2171434f1","e644fa17-dec1-4e79-a27e-44a6cd683463"],"security":["0a247d5d-bf64-45d9-8a56-001b0cd0592b","508665e6-cfd5-45d8-8afa-58bcdd54f70b"],"x-code-samples":[{"lang":"go","label":"AhaSend Go SDK","source":"package main\n\nimport (\n \"context\"\n \"fmt\"\n \"log\"\n \"os\"\n\n \"github.com/AhaSend/ahasend-go\"\n \"github.com/AhaSend/ahasend-go/api\"\n \"github.com/AhaSend/ahasend-go/models/requests\"\n \"github.com/google/uuid\"\n)\n\nfunc main() {\n client := api.NewAPIClient(api.WithAPIKey(os.Getenv(\"AHASEND_API_KEY\")))\n accountID := uuid.MustParse(os.Getenv(\"AHASEND_ACCOUNT_ID\"))\n ctx := context.Background()\n\n response, _, err := client.MessagesAPI.GetMessages(ctx, accountID, requests.GetMessagesParams{\n Status: ahasend.String(\"Bounced,Failed\"),\n Sender: ahasend.String(\"info@example.com\"),\n Tags: []string{\"billing\", \"urgent\"},\n })\n if err != nil {\n log.Fatalf(\"Error getting messages: %v\", err)\n }\n for _, message := range response.Data {\n fmt.Printf(\"%s %s %s\\n\", message.MessageID, message.Recipient, message.Status)\n }\n}\n"},{"lang":"javascript","label":"Node.js 22+ (AhaSend SDK)","source":"import { AhaSendClient } from \"@ahasend/sdk\";\n\nconst client = AhaSendClient.fromEnv();\nconst page = await client.messages.list({ limit: 20 });\nconsole.log(\"Messages listed.\", { count: page.data.length });\n"}],"responses":{"200":"b097258e-2004-4ee5-a8a2-57dcba8a8982","400":"1197f244-dcde-4853-874e-e98523d23d12","401":"243aa6b2-9a7a-4ac4-8e94-9071b992439f","403":"97b0d175-c840-4023-aea9-32179a6f8d72","500":"1f4fcfbd-368e-4824-a05a-a24d85694fac"},"method":"get","type":"path","servers":["5791d54f-15e1-4019-a287-beabe8e28f74"],"path":"/v2/accounts/{account_id}/messages","baseUrlOptions":["https://api.ahasend.com"],"title":"Get Messages","codeSamples":[{"label":"AhaSend Go SDK","lang":"go","source":"package main\n\nimport (\n \"context\"\n \"fmt\"\n \"log\"\n \"os\"\n\n \"github.com/AhaSend/ahasend-go\"\n \"github.com/AhaSend/ahasend-go/api\"\n \"github.com/AhaSend/ahasend-go/models/requests\"\n \"github.com/google/uuid\"\n)\n\nfunc main() {\n client := api.NewAPIClient(api.WithAPIKey(os.Getenv(\"AHASEND_API_KEY\")))\n accountID := uuid.MustParse(os.Getenv(\"AHASEND_ACCOUNT_ID\"))\n ctx := context.Background()\n\n response, _, err := client.MessagesAPI.GetMessages(ctx, accountID, requests.GetMessagesParams{\n Status: ahasend.String(\"Bounced,Failed\"),\n Sender: ahasend.String(\"info@example.com\"),\n Tags: []string{\"billing\", \"urgent\"},\n })\n if err != nil {\n log.Fatalf(\"Error getting messages: %v\", err)\n }\n for _, message := range response.Data {\n fmt.Printf(\"%s %s %s\\n\", message.MessageID, message.Recipient, message.Status)\n }\n}\n"},{"label":"Node.js 22+ (AhaSend SDK)","lang":"javascript","source":"import { AhaSendClient } from \"@ahasend/sdk\";\n\nconst client = AhaSendClient.fromEnv();\nconst page = await client.messages.list({ limit: 20 });\nconsole.log(\"Messages listed.\", { count: page.data.length });\n"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"e30fbb70-8150-4078-a585-5f1c3d66b11d":{"name":"account_id","in":"path","required":true,"description":"Account ID","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Account ID","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"1ca67559-547b-47f1-a352-92efdf676d69":{"name":"status","in":"query","description":"Filter by comma-separated list of message statuses. Allowed values are:\n`Received`, `Delivered`, `Opened`, `Clicked`, `Deferred`, `Bounced`, `Failed`, `Suppressed`,\n`Sandbox Delivered`, `Sandbox Deferred`, `Sandbox Failed`, `Sandbox Bounced`,\nand `Sandbox Suppressed`.\n\nDelivery and engagement statuses are cumulative: `Delivered` also matches messages\ncurrently marked `Opened` or `Clicked`, and `Opened` also matches messages currently\nmarked `Clicked`.\n","schema":{"type":"string","description":"Filter by comma-separated list of message statuses. Allowed values are:\n`Received`, `Delivered`, `Opened`, `Clicked`, `Deferred`, `Bounced`, `Failed`, `Suppressed`,\n`Sandbox Delivered`, `Sandbox Deferred`, `Sandbox Failed`, `Sandbox Bounced`,\nand `Sandbox Suppressed`.\n\nDelivery and engagement statuses are cumulative: `Delivered` also matches messages\ncurrently marked `Opened` or `Clicked`, and `Opened` also matches messages currently\nmarked `Clicked`.\n","uniqueKey":"","typeLabel":"string"},"example":"Bounced,Failed"},"989bf033-eaa7-4d8b-b558-e776d33187c3":{"name":"sender","in":"query","description":"Sender email address (must be from domain in API key scopes)","schema":{"type":"string","format":"email","description":"Sender email address (must be from domain in API key scopes)","uniqueKey":"","typeLabel":"string\u003cemail>"}},"d10aa717-3aa5-4dad-8989-d78d94b4e9eb":{"name":"recipient","in":"query","description":"Recipient email address","schema":{"type":"string","format":"email","description":"Recipient email address","uniqueKey":"","typeLabel":"string\u003cemail>"}},"6a936216-b6b4-4ab7-9925-dc365b79d923":{"name":"subject","in":"query","description":"Filter by subject text","schema":{"type":"string","description":"Filter by subject text","uniqueKey":"","typeLabel":"string"}},"890caf8e-2f36-46d5-8c7b-7e53d58fd13c":{"name":"message_id_header","in":"query","description":"Filter by message ID header (same ID returned by CreateMessage API)","schema":{"type":"string","description":"Filter by message ID header (same ID returned by CreateMessage API)","uniqueKey":"","typeLabel":"string"}},"33f32f62-05c8-4bc6-b2cd-e1284bc26ba4":{"name":"tags","in":"query","description":"Filter by comma-separated list of tags (max 20)","schema":{"type":"string","description":"Filter by comma-separated list of tags (max 20)","uniqueKey":"","typeLabel":"string"},"example":"billing,urgent"},"26144688-efdc-4f11-8d47-a5172f079117":{"name":"from_time","in":"query","description":"Filter messages created after this time (RFC3339 format)","schema":{"type":"string","format":"date-time","description":"Filter messages created after this time (RFC3339 format)","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"example":"2023-12-25T10:30:00Z"},"04f2ff42-2c58-46cb-8390-d5cfcb44816e":{"name":"to_time","in":"query","description":"Filter messages created before this time (RFC3339 format)","schema":{"type":"string","format":"date-time","description":"Filter messages created before this time (RFC3339 format)","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"example":"2023-12-26T10:30:00Z"},"e2928206-9975-42f2-a60a-816e31b43e43":{"name":"limit","in":"query","description":"Maximum number of items to return (1-100)","schema":{"type":"integer","minimum":1,"maximum":100,"default":100,"description":"Maximum number of items to return (1-100)","uniqueKey":"","typeLabel":"integer"}},"0a0c2b01-d819-4679-898a-9cc2171434f1":{"name":"after","in":"query","description":"Pagination cursor for the next page. Provide the value provided in `next_cursor` from the response.","schema":{"type":"string","description":"Pagination cursor for the next page. Provide the value provided in `next_cursor` from the response.","uniqueKey":"","typeLabel":"string"}},"e644fa17-dec1-4e79-a27e-44a6cd683463":{"name":"before","in":"query","description":"Pagination cursor for the previous page.","schema":{"type":"string","description":"Pagination cursor for the previous page.","uniqueKey":"","typeLabel":"string"}}},"responses":{"b097258e-2004-4ee5-a8a2-57dcba8a8982":{"description":"List of messages","content":{"application/json":{"schema":{"type":"object","required":["object","data","pagination"],"properties":{"object":{"type":"string","enum":["list"],"description":"Object type identifier","isRequired":true,"uniqueKey":"object","typeLabel":"enum\u003cstring>"},"data":{"type":"array","items":{"type":"object","properties":{"object":{"type":"string","enum":["message"],"description":"Object type identifier","isRequired":true,"uniqueKey":"data.items.[INDEX].object","typeLabel":"enum\u003cstring>"},"created_at":{"type":"string","format":"date-time","description":"When the message was created","isRequired":true,"uniqueKey":"data.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"When the message was last updated","isRequired":true,"uniqueKey":"data.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"},"sent_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the message was sent","isRequired":true,"uniqueKey":"data.items.[INDEX].sent_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the message was sent","isRequired":true,"uniqueKey":"data.items.[INDEX].sent_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].sent_at","typeLabel":"string\u003cdate-time> | null"},"delivered_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the message was delivered","isRequired":true,"uniqueKey":"data.items.[INDEX].delivered_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the message was delivered","isRequired":true,"uniqueKey":"data.items.[INDEX].delivered_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].delivered_at","typeLabel":"string\u003cdate-time> | null"},"retain_until":{"type":"string","format":"date-time","description":"When the message data will be purged","isRequired":true,"uniqueKey":"data.items.[INDEX].retain_until","typeLabel":"string\u003cdate-time>"},"direction":{"type":"string","enum":["inbound","outbound"],"description":"Message direction","isRequired":true,"uniqueKey":"data.items.[INDEX].direction","typeLabel":"enum\u003cstring>"},"is_bounce_notification":{"type":"boolean","description":"Whether this is a bounce notification","isRequired":true,"uniqueKey":"data.items.[INDEX].is_bounce_notification","typeLabel":"boolean"},"bounce_classification":{"type":"string","description":"Classification of bounce if applicable","isRequired":true,"uniqueKey":"data.items.[INDEX].bounce_classification","typeLabel":"string"},"delivery_attempts":{"type":"array","items":{"type":"object","properties":{"time":{"type":"string","format":"date-time","description":"Timestamp of the delivery event","isRequired":true,"uniqueKey":"data.items.[INDEX].delivery_attempts.items.[INDEX].time","typeLabel":"string\u003cdate-time>"},"log":{"type":"string","description":"Log message for the delivery event","isRequired":true,"uniqueKey":"data.items.[INDEX].delivery_attempts.items.[INDEX].log","typeLabel":"string"},"status":{"type":"string","description":"Status of the delivery event","isRequired":true,"uniqueKey":"data.items.[INDEX].delivery_attempts.items.[INDEX].status","typeLabel":"string"}},"required":["time","log","status"],"uniqueKey":"data.items.[INDEX].delivery_attempts.items.[INDEX]","typeLabel":"object"},"description":"List of delivery attempts for this message","isRequired":true,"uniqueKey":"data.items.[INDEX].delivery_attempts","typeLabel":"object[]"},"message_id":{"type":"string","description":"Message-ID header value","isRequired":true,"uniqueKey":"data.items.[INDEX].message_id","typeLabel":"string"},"id":{"oneOf":[{"type":"string","format":"uuid","description":"API-generated message ID","isRequired":true,"uniqueKey":"data.items.[INDEX].id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"API-generated message ID","isRequired":true,"uniqueKey":"data.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].id","typeLabel":"string\u003cuuid> | null"},"subject":{"type":"string","description":"Message subject","isRequired":true,"uniqueKey":"data.items.[INDEX].subject","typeLabel":"string"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].tags.items.[INDEX]","typeLabel":"string"},"description":"Tags associated with the message","isRequired":true,"uniqueKey":"data.items.[INDEX].tags","typeLabel":"string[]"},"sender":{"type":"string","format":"email","description":"Sender email address","isRequired":true,"uniqueKey":"data.items.[INDEX].sender","typeLabel":"string\u003cemail>"},"recipient":{"type":"string","format":"email","description":"Recipient email address","isRequired":true,"uniqueKey":"data.items.[INDEX].recipient","typeLabel":"string\u003cemail>"},"status":{"type":"string","description":"Current message status","isRequired":true,"uniqueKey":"data.items.[INDEX].status","typeLabel":"string"},"num_attempts":{"type":"integer","description":"Number of delivery attempts","isRequired":true,"uniqueKey":"data.items.[INDEX].num_attempts","typeLabel":"integer"},"click_count":{"type":"integer","description":"Number of clicks tracked for this message","isRequired":true,"uniqueKey":"data.items.[INDEX].click_count","typeLabel":"integer"},"open_count":{"type":"integer","description":"Number of opens tracked for this message","isRequired":true,"uniqueKey":"data.items.[INDEX].open_count","typeLabel":"integer"},"reference_message_id":{"oneOf":[{"type":"integer","format":"int64","description":"ID of the original message (for bounce messages)","isRequired":true,"uniqueKey":"data.items.[INDEX].reference_message_id.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","description":"ID of the original message (for bounce messages)","isRequired":true,"uniqueKey":"data.items.[INDEX].reference_message_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].reference_message_id","typeLabel":"integer\u003cint64> | null"},"domain_id":{"type":"string","format":"uuid","description":"Domain ID this message was sent from","isRequired":true,"uniqueKey":"data.items.[INDEX].domain_id","typeLabel":"string\u003cuuid>"},"account_id":{"type":"string","format":"uuid","description":"Account ID this message belongs to","isRequired":true,"uniqueKey":"data.items.[INDEX].account_id","typeLabel":"string\u003cuuid>"},"template_id":{"oneOf":[{"type":"string","format":"uuid","description":"The transactional template the message was sent from with [Create Template Message](https://ahasend.com/docs/api-reference/messages/create-template-message). Null for any other message, including SMTP mail, dashboard test sends and messages sent before this field was added. The template may have been deleted since.","isRequired":true,"uniqueKey":"data.items.[INDEX].template_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"The transactional template the message was sent from with [Create Template Message](https://ahasend.com/docs/api-reference/messages/create-template-message). Null for any other message, including SMTP mail, dashboard test sends and messages sent before this field was added. The template may have been deleted since.","isRequired":true,"uniqueKey":"data.items.[INDEX].template_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].template_id","typeLabel":"string\u003cuuid> | null"}},"required":["object","created_at","updated_at","sent_at","delivered_at","retain_until","direction","is_bounce_notification","bounce_classification","delivery_attempts","message_id","id","subject","tags","sender","recipient","status","num_attempts","click_count","open_count","reference_message_id","domain_id","account_id","template_id"],"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"description":"Array of message summaries (content and content_parsed fields omitted for performance)","isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"pagination":{"type":"object","required":["has_more"],"properties":{"has_more":{"type":"boolean","description":"Whether more items exist after the last item of this page","isRequired":true,"uniqueKey":"pagination.has_more","typeLabel":"boolean"},"next_cursor":{"type":"string","description":"Pass as `after` to fetch the next page","uniqueKey":"pagination.next_cursor","typeLabel":"string"},"previous_cursor":{"type":"string","description":"Pass as `before` to fetch the previous page; absent on a `before` page when the start of the list has been reached","uniqueKey":"pagination.previous_cursor","typeLabel":"string"}},"example":{"has_more":true,"next_cursor":"eyJpZCI6MTIzNH0="},"isRequired":true,"uniqueKey":"pagination","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"object":"list","data":[{"object":"message","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","sent_at":"2023-11-07T05:31:56Z","delivered_at":"2023-11-07T05:31:56Z","retain_until":"2023-11-07T05:31:56Z","direction":"inbound","is_bounce_notification":true,"bounce_classification":"\u003cstring>","delivery_attempts":[{"time":"2023-11-07T05:31:56Z","log":"\u003cstring>","status":"\u003cstring>"}],"message_id":"\u003cstring>","id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","subject":"\u003cstring>","tags":["\u003cstring>"],"sender":"jsmith@example.com","recipient":"jsmith@example.com","status":"\u003cstring>","num_attempts":123,"click_count":123,"open_count":123,"reference_message_id":123,"domain_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","account_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","template_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}],"pagination":{"has_more":true,"next_cursor":"eyJpZCI6MTIzNH0="}}}},"exampleType":"generated"}},"exampleType":"generated"},"1197f244-dcde-4853-874e-e98523d23d12":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","description":"Human-readable API error. The server currently sends no stable machine\nerror code. In particular, clients must not parse `message` to\ndistinguish IP-allow-list, scope, ownership, plan, self-lockout,\nsuppression-duplicate, or other errors that share an HTTP status.\n","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string","description":"Error description","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"message":"Error message"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Error message"}}},"exampleType":"generated"}},"exampleType":"generated"},"243aa6b2-9a7a-4ac4-8e94-9071b992439f":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","description":"Human-readable API error. The server currently sends no stable machine\nerror code. In particular, clients must not parse `message` to\ndistinguish IP-allow-list, scope, ownership, plan, self-lockout,\nsuppression-duplicate, or other errors that share an HTTP status.\n","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string","description":"Error description","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"message":"Error message"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Error message"}}},"exampleType":"generated"}},"exampleType":"generated"},"97b0d175-c840-4023-aea9-32179a6f8d72":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","description":"Human-readable API error. The server currently sends no stable machine\nerror code. In particular, clients must not parse `message` to\ndistinguish IP-allow-list, scope, ownership, plan, self-lockout,\nsuppression-duplicate, or other errors that share an HTTP status.\n","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string","description":"Error description","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"message":"Error message"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Error message"}}},"exampleType":"generated"}},"exampleType":"generated"},"1f4fcfbd-368e-4824-a05a-a24d85694fac":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","description":"Human-readable API error. The server currently sends no stable machine\nerror code. In particular, clients must not parse `message` to\ndistinguish IP-allow-list, scope, ownership, plan, self-lockout,\nsuppression-duplicate, or other errors that share an HTTP status.\n","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string","description":"Error description","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"message":"Error message"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Error message"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0a247d5d-bf64-45d9-8a56-001b0cd0592b":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"aha-sk-64-CHARACTER-RANDOM-STRING","description":"API key for authentication. Non-empty Security Requirement values are\nAhaSend API-key roles. Roles listed within one requirement object are\njointly required; separate requirement objects are alternatives.\n","scopes":["messages:read:all"],"schemeName":"BearerAuth"}},"508665e6-cfd5-45d8-8afa-58bcdd54f70b":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"aha-sk-64-CHARACTER-RANDOM-STRING","description":"API key for authentication. Non-empty Security Requirement values are\nAhaSend API-key roles. Roles listed within one requirement object are\njointly required; separate requirement objects are alternatives.\n","scopes":["messages:read:{domain}"],"schemeName":"BearerAuth"}}},"servers":{"5791d54f-15e1-4019-a287-beabe8e28f74":{"url":"https://api.ahasend.com","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"aha-sk-64-CHARACTER-RANDOM-STRING","description":"API key for authentication. Non-empty Security Requirement values are\nAhaSend API-key roles. Roles listed within one requirement object are\njointly required; separate requirement objects are alternatives.\n","scopes":["messages:read:all"],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key for authentication. Non-empty Security Requirement values are\nAhaSend API-key roles. Roles listed within one requirement object are\njointly required; separate requirement objects are alternatives.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"aha-sk-64-CHARACTER-RANDOM-STRING","description":"API key for authentication. Non-empty Security Requirement values are\nAhaSend API-key roles. Roles listed within one requirement object are\njointly required; separate requirement objects are alternatives.\n","scopes":["messages:read:{domain}"],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key for authentication. Non-empty Security Requirement values are\nAhaSend API-key roles. Roles listed within one requirement object are\njointly required; separate requirement objects are alternatives.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"ahasend","siteName":"AhaSend","title":"List and Search Sent Emails via the API - AhaSend","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-24T12:45:32.485Z","originalFileLocation":"api-reference/messages/get-messages.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.\">\u003cmeta data-mint-head name=\"application-name\" content=\"AhaSend\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List and Search Sent Emails via the API - AhaSend\">\u003cmeta data-mint-head property=\"og:description\" content=\"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AhaSend\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://ahasend.com/docs/api-reference/messages/get-messages\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ahasend.mintlify.app/_mintlify/api/og/v2?division=Messages\u0026amp;title=List+and+Search+Sent+Emails+via+the+API\u0026amp;description=List+emails+sent+through+AhaSend+and+filter+them+by+status%2C+sender%2C+recipient%2C+subject%2C+Message-ID+header%2C+tags+or+time+range%2C+with+cursor-based+pagination.\u0026amp;theme=fec911c84bb9f722051c4af3\u0026amp;signature=da2dfa0e35236de54e7aa760a8216c6109ebfd1426171a54aa300d88af9aef16\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List and Search Sent Emails via the API - AhaSend\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ahasend.mintlify.app/_mintlify/api/og/v2?division=Messages\u0026amp;title=List+and+Search+Sent+Emails+via+the+API\u0026amp;description=List+emails+sent+through+AhaSend+and+filter+them+by+status%2C+sender%2C+recipient%2C+subject%2C+Message-ID+header%2C+tags+or+time+range%2C+with+cursor-based+pagination.\u0026amp;theme=fec911c84bb9f722051c4af3\u0026amp;signature=da2dfa0e35236de54e7aa760a8216c6109ebfd1426171a54aa300d88af9aef16\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/ahasend/4BjAcdwrGYDKJCaO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AhaSend\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#066fd1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://ahasend.com/docs/api-reference/messages/get-messages\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/messages/get-messages.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://ahasend.com/#organization\",\"name\":\"AhaSend\",\"legalName\":\"AhaSend B.V.\",\"url\":\"https://ahasend.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ahasend/F35Ozd-1GsftDpcH/logo.png?fit=max\u0026auto=format\u0026n=F35Ozd-1GsftDpcH\u0026q=85\u0026s=ca1d4c27f7c2811598e65cb25a21323c\"},\"sameAs\":[\"https://x.com/aha_send\",\"https://www.linkedin.com/company/ahasend\",\"https://github.com/ahasend\"]},{\"@type\":\"WebSite\",\"@id\":\"https://ahasend.com/docs#website\",\"name\":\"AhaSend\",\"url\":\"https://ahasend.com/docs\",\"publisher\":{\"@id\":\"https://ahasend.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://ahasend.com/docs/api-reference/messages/get-messages#webpage\",\"url\":\"https://ahasend.com/docs/api-reference/messages/get-messages\",\"name\":\"List and Search Sent Emails via the API\",\"description\":\"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.\",\"dateModified\":\"2026-09-24T12:45:32.485Z\",\"isPartOf\":{\"@id\":\"https://ahasend.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://ahasend.com/docs/api-reference/messages/get-messages#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://ahasend.com/docs/api-reference/messages/get-messages#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API reference\",\"item\":\"https://ahasend.com/docs/api-reference/messages/create-message\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Messages\",\"item\":\"https://ahasend.com/docs/api-reference/messages/create-message\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List and Search Sent Emails via the API\",\"item\":\"https://ahasend.com/docs/api-reference/messages/get-messages\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://ahasend.com/docs/api-reference/messages/get-messages#apireference\",\"headline\":\"List and Search Sent Emails via the API\",\"name\":\"List and Search Sent Emails via the API\",\"description\":\"List emails sent through AhaSend and filter them by status, sender, recipient, subject, Message-ID header, tags or time range, with cursor-based pagination.\",\"url\":\"https://ahasend.com/docs/api-reference/messages/get-messages\",\"mainEntityOfPage\":{\"@id\":\"https://ahasend.com/docs/api-reference/messages/get-messages#webpage\"},\"dateModified\":\"2026-09-24T12:45:32.485Z\",\"publisher\":{\"@id\":\"https://ahasend.com/#organization\"},\"isPartOf\":{\"@id\":\"https://ahasend.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AhaSend\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"AhaSend","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Overview","pages":[{"title":"Email API Reference (v2)","sidebarTitle":"Introduction","icon":"book","href":"/api-reference"},{"title":"API Authentication with Bearer API Keys","sidebarTitle":"Authentication","icon":"key","href":"/api-reference/authentication"},{"title":"API Key Scopes and Permissions","sidebarTitle":"Scopes","icon":"lock","href":"/api-reference/scopes"},{"title":"API Rate Limits and 429 Handling","sidebarTitle":"Rate Limits","icon":"gauge-high","href":"/api-reference/rate-limits"},{"title":"Idempotency Keys for Safe API Retries","icon":"repeat","sidebarTitle":"Idempotency","href":"/api-reference/idempotency"},{"title":"API Error Codes and Error Responses","icon":"triangle-exclamation","sidebarTitle":"Errors","href":"/api-reference/errors"}]},{"group":"API reference","pages":[{"group":"Messages","icon":"envelope","pages":[{"title":"Send an Email via the API","sidebarTitle":"Create Message","openapi":"openapi.yaml POST /v2/accounts/{account_id}/messages","href":"/api-reference/messages/create-message"},{"title":"Send a Transactional Template via the API","sidebarTitle":"Create Template Message","openapi":"openapi.yaml POST /v2/accounts/{account_id}/messages/template","href":"/api-reference/messages/create-template-message"},{"title":"Send Email with CC and BCC via the API","sidebarTitle":"Create Conversation","openapi":"openapi.yaml POST /v2/accounts/{account_id}/messages/conversation","href":"/api-reference/messages/create-conversation"},{"title":"Get a Message by ID via the API","sidebarTitle":"Get Message","openapi":"openapi.yaml GET /v2/accounts/{account_id}/messages/{message_id}","description":"Retrieve a single email sent through AhaSend by message ID, including its delivery status and the raw email content when your retention settings keep it.","href":"/api-reference/messages/get-message"},{"title":"List and Search Sent Emails via the API","sidebarTitle":"List Messages","openapi":"openapi.yaml GET /v2/accounts/{account_id}/messages","href":"/api-reference/messages/get-messages"},{"title":"Cancel a Scheduled Email via the API","sidebarTitle":"Cancel Message","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/messages/{message_id}/cancel","description":"Cancel a scheduled email through the AhaSend API before its first delivery attempt, using the UUID portion of the message identifier.","href":"/api-reference/messages/cancel-message"}]},{"group":"Transactional Templates","icon":"file-lines","pages":[{"title":"Create a Transactional Template via the API","sidebarTitle":"Create Template","openapi":"openapi.yaml POST /v2/accounts/{account_id}/templates","href":"/api-reference/templates/create-template"},{"title":"Get a Transactional Template via the API","sidebarTitle":"Get Template","openapi":"openapi.yaml GET /v2/accounts/{account_id}/templates/{template_id}","href":"/api-reference/templates/get-template"},{"title":"List Transactional Templates via the API","sidebarTitle":"List Templates","openapi":"openapi.yaml GET /v2/accounts/{account_id}/templates","href":"/api-reference/templates/get-templates"},{"title":"Update a Transactional Template via the API","sidebarTitle":"Update Template","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/templates/{template_id}","href":"/api-reference/templates/update-template"},{"title":"Publish a Template Draft via the API","sidebarTitle":"Publish Template","openapi":"openapi.yaml POST /v2/accounts/{account_id}/templates/{template_id}/publish","href":"/api-reference/templates/publish-template"},{"title":"Get a Template Draft via the API","sidebarTitle":"Get Template Draft","openapi":"openapi.yaml GET /v2/accounts/{account_id}/templates/{template_id}/draft","href":"/api-reference/templates/get-template-draft"},{"title":"Discard a Template Draft via the API","sidebarTitle":"Discard Template Draft","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/templates/{template_id}/draft","href":"/api-reference/templates/discard-template-draft"},{"title":"List Template Versions via the API","sidebarTitle":"List Template Versions","openapi":"openapi.yaml GET /v2/accounts/{account_id}/templates/{template_id}/versions","href":"/api-reference/templates/get-template-versions"},{"title":"Get a Template Version via the API","sidebarTitle":"Get Template Version","openapi":"openapi.yaml GET /v2/accounts/{account_id}/templates/{template_id}/versions/{version_id}","href":"/api-reference/templates/get-template-version"},{"title":"Restore a Template Version via the API","sidebarTitle":"Restore Template Version","openapi":"openapi.yaml POST /v2/accounts/{account_id}/templates/{template_id}/versions/{version_id}/restore","href":"/api-reference/templates/restore-template-version"},{"title":"Delete a Transactional Template via the API","sidebarTitle":"Delete Template","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/templates/{template_id}","href":"/api-reference/templates/delete-template"}]},{"group":"Campaigns","icon":"bullhorn","pages":[{"title":"Campaigns API Overview","sidebarTitle":"Introduction","icon":"bullhorn","href":"/api-reference/campaigns/overview"},{"title":"Create a Campaign via the API","sidebarTitle":"Create Campaign","openapi":"openapi.yaml POST /v2/accounts/{account_id}/campaigns","href":"/api-reference/campaigns/create-campaign"},{"title":"Get a Campaign via the API","sidebarTitle":"Get Campaign","openapi":"openapi.yaml GET /v2/accounts/{account_id}/campaigns/{campaign_id}","href":"/api-reference/campaigns/get-campaign"},{"title":"List Campaigns via the API","sidebarTitle":"List Campaigns","openapi":"openapi.yaml GET /v2/accounts/{account_id}/campaigns","href":"/api-reference/campaigns/get-campaigns"},{"title":"Update a Campaign via the API","sidebarTitle":"Update Campaign","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/campaigns/{campaign_id}","href":"/api-reference/campaigns/update-campaign"},{"title":"Duplicate a Campaign via the API","sidebarTitle":"Duplicate Campaign","openapi":"openapi.yaml POST /v2/accounts/{account_id}/campaigns/{campaign_id}/duplicate","href":"/api-reference/campaigns/duplicate-campaign"},{"title":"Send a Campaign Test via the API","sidebarTitle":"Test Campaign","openapi":"openapi.yaml POST /v2/accounts/{account_id}/campaigns/{campaign_id}/test","href":"/api-reference/campaigns/test-campaign"},{"title":"Send or Schedule a Campaign via the API","sidebarTitle":"Send Campaign","openapi":"openapi.yaml POST /v2/accounts/{account_id}/campaigns/{campaign_id}/send","href":"/api-reference/campaigns/send-campaign"},{"title":"Unschedule a Campaign via the API","sidebarTitle":"Unschedule Campaign","openapi":"openapi.yaml POST /v2/accounts/{account_id}/campaigns/{campaign_id}/unschedule","href":"/api-reference/campaigns/unschedule-campaign"},{"title":"Get Campaign Stats via the API","sidebarTitle":"Get Campaign Stats","openapi":"openapi.yaml GET /v2/accounts/{account_id}/campaigns/{campaign_id}/stats","href":"/api-reference/campaigns/get-campaign-stats"},{"title":"List Campaign Recipients via the API","sidebarTitle":"List Campaign Recipients","openapi":"openapi.yaml GET /v2/accounts/{account_id}/campaigns/{campaign_id}/recipients","href":"/api-reference/campaigns/get-campaign-recipients"},{"title":"Delete a Campaign via the API","sidebarTitle":"Delete Campaign","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/campaigns/{campaign_id}","href":"/api-reference/campaigns/delete-campaign"}]},{"group":"Campaign Templates","icon":"palette","pages":[{"title":"Create a Campaign Template via the API","sidebarTitle":"Create Template","openapi":"openapi.yaml POST /v2/accounts/{account_id}/campaign-templates","href":"/api-reference/campaign-templates/create-campaign-template"},{"title":"Get a Campaign Template via the API","sidebarTitle":"Get Template","openapi":"openapi.yaml GET /v2/accounts/{account_id}/campaign-templates/{template_id}","href":"/api-reference/campaign-templates/get-campaign-template"},{"title":"List Campaign Templates via the API","sidebarTitle":"List Templates","openapi":"openapi.yaml GET /v2/accounts/{account_id}/campaign-templates","href":"/api-reference/campaign-templates/get-campaign-templates"},{"title":"Update a Campaign Template via the API","sidebarTitle":"Update Template","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/campaign-templates/{template_id}","href":"/api-reference/campaign-templates/update-campaign-template"},{"title":"Delete a Campaign Template via the API","sidebarTitle":"Delete Template","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/campaign-templates/{template_id}","href":"/api-reference/campaign-templates/delete-campaign-template"}]},{"group":"Contacts","icon":"address-book","pages":[{"title":"Contacts API Overview","sidebarTitle":"Introduction","icon":"address-book","href":"/api-reference/contacts/overview"},{"title":"Create a Contact via the API","sidebarTitle":"Create Contact","openapi":"openapi.yaml POST /v2/accounts/{account_id}/contacts","href":"/api-reference/contacts/create-contact"},{"title":"Get a Contact via the API","sidebarTitle":"Get Contact","openapi":"openapi.yaml GET /v2/accounts/{account_id}/contacts/{id_or_email}","href":"/api-reference/contacts/get-contact"},{"title":"List Contacts via the API","sidebarTitle":"List Contacts","openapi":"openapi.yaml GET /v2/accounts/{account_id}/contacts","href":"/api-reference/contacts/get-contacts"},{"title":"Update a Contact via the API","sidebarTitle":"Update Contact","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/contacts/{id_or_email}","href":"/api-reference/contacts/update-contact"},{"title":"Delete a Contact via the API","sidebarTitle":"Delete Contact","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/contacts/{id_or_email}","href":"/api-reference/contacts/delete-contact"},{"title":"Create or Update Contacts in a Batch via the API","sidebarTitle":"Batch Upsert Contacts","openapi":"openapi.yaml POST /v2/accounts/{account_id}/contacts/batch","href":"/api-reference/contacts/batch-upsert-contacts"}]},{"group":"Lists","icon":"list-ul","pages":[{"title":"Lists API Overview","sidebarTitle":"Introduction","icon":"list-ul","href":"/api-reference/lists/overview"},{"title":"Create a List via the API","sidebarTitle":"Create List","openapi":"openapi.yaml POST /v2/accounts/{account_id}/lists","href":"/api-reference/lists/create-list"},{"title":"Get a List via the API","sidebarTitle":"Get List","openapi":"openapi.yaml GET /v2/accounts/{account_id}/lists/{list_id}","href":"/api-reference/lists/get-list"},{"title":"List Contact Lists via the API","sidebarTitle":"List Lists","openapi":"openapi.yaml GET /v2/accounts/{account_id}/lists","href":"/api-reference/lists/get-lists"},{"title":"Update a List via the API","sidebarTitle":"Update List","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/lists/{list_id}","href":"/api-reference/lists/update-list"},{"title":"Delete a List via the API","sidebarTitle":"Delete List","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/lists/{list_id}","href":"/api-reference/lists/delete-list"},{"title":"List the Contacts on a List via the API","sidebarTitle":"List Contacts on a List","openapi":"openapi.yaml GET /v2/accounts/{account_id}/lists/{list_id}/contacts","href":"/api-reference/lists/get-list-contacts"},{"title":"Add or Update a List Contact via the API","sidebarTitle":"Add or Update List Contact","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/lists/{list_id}/contacts/{id_or_email}","href":"/api-reference/lists/upsert-list-contact"},{"title":"Add Contacts to a List in a Batch via the API","sidebarTitle":"Batch Add List Contacts","openapi":"openapi.yaml POST /v2/accounts/{account_id}/lists/{list_id}/contacts/batch","href":"/api-reference/lists/batch-add-list-contacts"},{"title":"Remove a Contact from a List via the API","sidebarTitle":"Remove List Contact","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/lists/{list_id}/contacts/{id_or_email}","href":"/api-reference/lists/delete-list-contact"},{"title":"List a Contact's Lists via the API","sidebarTitle":"List Contact's Lists","openapi":"openapi.yaml GET /v2/accounts/{account_id}/contacts/{id_or_email}/lists","href":"/api-reference/lists/get-contact-lists"}]},{"group":"Suppressions","icon":"ban","pages":[{"title":"Add an Address to the Suppression List via the API","sidebarTitle":"Create Suppression","openapi":"openapi.yaml POST /v2/accounts/{account_id}/suppressions","href":"/api-reference/suppressions/create-suppression"},{"title":"List Suppressed Addresses via the API","sidebarTitle":"List Suppressions","openapi":"openapi.yaml GET /v2/accounts/{account_id}/suppressions","href":"/api-reference/suppressions/get-suppressions"},{"title":"Remove a Suppression via the API","sidebarTitle":"Delete Suppression","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/suppressions","href":"/api-reference/suppressions/delete-suppression"},{"title":"Delete All Suppressions via the API","sidebarTitle":"Delete All Suppressions","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/suppressions/all","href":"/api-reference/suppressions/wipe-suppressions"}]},{"group":"SMTP Credentials","icon":"user-shield","pages":[{"title":"Create SMTP Credentials via the API","sidebarTitle":"Create SMTP Credential","openapi":"openapi.yaml POST /v2/accounts/{account_id}/smtp-credentials","href":"/api-reference/smtp-credentials/create-smtp-credential"},{"title":"Get an SMTP Credential via the API","sidebarTitle":"Get SMTP Credential","openapi":"openapi.yaml GET /v2/accounts/{account_id}/smtp-credentials/{smtp_credential_id}","href":"/api-reference/smtp-credentials/get-smtp-credential"},{"title":"List SMTP Credentials via the API","sidebarTitle":"List SMTP Credentials","openapi":"openapi.yaml GET /v2/accounts/{account_id}/smtp-credentials","href":"/api-reference/smtp-credentials/get-smtp-credentials"},{"title":"Delete an SMTP Credential via the API","sidebarTitle":"Delete SMTP Credential","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/smtp-credentials/{smtp_credential_id}","href":"/api-reference/smtp-credentials/delete-smtp-credential"}]},{"group":"Webhooks","icon":"webhook","pages":[{"title":"Create a Webhook via the API","sidebarTitle":"Create Webhook","openapi":"openapi.yaml POST /v2/accounts/{account_id}/webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Get a Webhook via the API","sidebarTitle":"Get Webhook","openapi":"openapi.yaml GET /v2/accounts/{account_id}/webhooks/{webhook_id}","href":"/api-reference/webhooks/get-webhook"},{"title":"List Webhooks via the API","sidebarTitle":"List Webhooks","openapi":"openapi.yaml GET /v2/accounts/{account_id}/webhooks","href":"/api-reference/webhooks/get-webhooks"},{"title":"Update a Webhook via the API","sidebarTitle":"Update Webhook","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/webhooks/{webhook_id}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete a Webhook via the API","sidebarTitle":"Delete Webhook","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/webhooks/{webhook_id}","href":"/api-reference/webhooks/delete-webhook"}]},{"group":"Routes","icon":"route","pages":[{"title":"Create an Inbound Email Route via the API","sidebarTitle":"Create Route","openapi":"openapi.yaml POST /v2/accounts/{account_id}/routes","href":"/api-reference/routes/create-route"},{"title":"Get an Inbound Email Route via the API","sidebarTitle":"Get Route","openapi":"openapi.yaml GET /v2/accounts/{account_id}/routes/{route_id}","href":"/api-reference/routes/get-route"},{"title":"List Inbound Email Routes via the API","sidebarTitle":"List Routes","openapi":"openapi.yaml GET /v2/accounts/{account_id}/routes","href":"/api-reference/routes/get-routes"},{"title":"Update an Inbound Email Route via the API","sidebarTitle":"Update Route","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/routes/{route_id}","href":"/api-reference/routes/update-route"},{"title":"Delete an Inbound Email Route via the API","sidebarTitle":"Delete Route","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/routes/{route_id}","href":"/api-reference/routes/delete-route"}]},{"group":"Domains","icon":"globe","pages":[{"title":"Add a Sending Domain via the API","sidebarTitle":"Create Domain","openapi":"openapi.yaml POST /v2/accounts/{account_id}/domains","href":"/api-reference/domains/create-domain"},{"title":"Get a Domain and Its DNS Records via the API","sidebarTitle":"Get Domain","openapi":"openapi.yaml GET /v2/accounts/{account_id}/domains/{domain}","href":"/api-reference/domains/get-domain"},{"title":"List Sending Domains via the API","sidebarTitle":"List Domains","openapi":"openapi.yaml GET /v2/accounts/{account_id}/domains","href":"/api-reference/domains/get-domains"},{"title":"Update a Sending Domain via the API","sidebarTitle":"Update Domain","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/domains/{domain}","href":"/api-reference/domains/update-domain"},{"title":"Check Domain DNS Records via the API","sidebarTitle":"Check Domain DNS","openapi":"openapi.yaml POST /v2/accounts/{account_id}/domains/{domain}/check-dns","href":"/api-reference/domains/check-dns"},{"title":"Delete a Sending Domain via the API","sidebarTitle":"Delete Domain","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/domains/{domain}","href":"/api-reference/domains/delete-domain"}]},{"group":"Accounts","icon":"building","pages":[{"title":"Get Account Details via the API","sidebarTitle":"Get Account","openapi":"openapi.yaml GET /v2/accounts/{account_id}","href":"/api-reference/accounts/get-account"},{"title":"Update Account Settings via the API","sidebarTitle":"Update Account","openapi":"openapi.yaml PUT /v2/accounts/{account_id}","href":"/api-reference/accounts/update-account"},{"title":"List Account Members via the API","sidebarTitle":"List Account Members","openapi":"openapi.yaml GET /v2/accounts/{account_id}/members","href":"/api-reference/accounts/get-account-members"},{"title":"Add an Account Member via the API","sidebarTitle":"Add Account Member","openapi":"openapi.yaml POST /v2/accounts/{account_id}/members","href":"/api-reference/accounts/create-account-member"},{"title":"Remove an Account Member via the API","sidebarTitle":"Remove Account Member","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/members/{user_id}","href":"/api-reference/accounts/delete-account-member"}]},{"group":"Sub-Accounts","icon":"sitemap","pages":[{"title":"Sub-Accounts API Overview","sidebarTitle":"Introduction","icon":"sitemap","href":"/api-reference/sub-accounts/overview"},{"title":"Create a Sub-Account via the API","sidebarTitle":"Create Sub-Account","openapi":"openapi.yaml POST /v2/accounts/{account_id}/sub-accounts","href":"/api-reference/sub-accounts/create-sub-account"},{"title":"List Sub-Accounts via the API","sidebarTitle":"List Sub-Accounts","openapi":"openapi.yaml GET /v2/accounts/{account_id}/sub-accounts","href":"/api-reference/sub-accounts/get-sub-accounts"},{"title":"Get a Sub-Account via the API","sidebarTitle":"Get Sub-Account","openapi":"openapi.yaml GET /v2/accounts/{account_id}/sub-accounts/{sub_account_id}","href":"/api-reference/sub-accounts/get-sub-account"},{"title":"Update a Sub-Account via the API","sidebarTitle":"Update Sub-Account","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/sub-accounts/{sub_account_id}","href":"/api-reference/sub-accounts/update-sub-account"},{"title":"Pause a Sub-Account via the API","sidebarTitle":"Pause Sub-Account","openapi":"openapi.yaml POST /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/suspend","href":"/api-reference/sub-accounts/suspend-sub-account"},{"title":"Resume a Sub-Account via the API","sidebarTitle":"Resume Sub-Account","openapi":"openapi.yaml POST /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/unsuspend","href":"/api-reference/sub-accounts/unsuspend-sub-account"},{"title":"Unpause a Sub-Account Domain via the API","sidebarTitle":"Unpause Sub-Account Domain","openapi":"openapi.yaml POST /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/domains/{domain}/unpause","href":"/api-reference/sub-accounts/unpause-sub-account-domain"},{"title":"Delete a Sub-Account via the API","sidebarTitle":"Delete Sub-Account","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/sub-accounts/{sub_account_id}","href":"/api-reference/sub-accounts/delete-sub-account"},{"title":"Get Sub-Account Usage via the API","sidebarTitle":"Sub-Account Usage","openapi":"openapi.yaml GET /v2/accounts/{account_id}/sub-accounts/usage","href":"/api-reference/sub-accounts/get-sub-accounts-usage"}]},{"group":"Sub-Account API Keys","icon":"key","pages":[{"title":"Create a Sub-Account API Key via the API","sidebarTitle":"Create API Key","openapi":"openapi.yaml POST /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/api-keys","href":"/api-reference/sub-accounts/create-sub-account-api-key"},{"title":"Get a Sub-Account API Key via the API","sidebarTitle":"Get API Key","openapi":"openapi.yaml GET /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/api-keys/{key_id}","href":"/api-reference/sub-accounts/get-sub-account-api-key"},{"title":"List Sub-Account API Keys via the API","sidebarTitle":"List API Keys","openapi":"openapi.yaml GET /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/api-keys","href":"/api-reference/sub-accounts/get-sub-account-api-keys"},{"title":"Update a Sub-Account API Key via the API","sidebarTitle":"Update API Key","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/api-keys/{key_id}","href":"/api-reference/sub-accounts/update-sub-account-api-key"},{"title":"Delete a Sub-Account API Key via the API","sidebarTitle":"Delete API Key","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/sub-accounts/{sub_account_id}/api-keys/{key_id}","href":"/api-reference/sub-accounts/delete-sub-account-api-key"}]},{"group":"Reports","icon":"chart-line","pages":[{"title":"Get Email Deliverability Statistics via the API","sidebarTitle":"Deliverability Report","openapi":"openapi.yaml GET /v2/accounts/{account_id}/statistics/transactional/deliverability","href":"/api-reference/reports/get-deliverability-report"},{"title":"Get Email Bounce Statistics via the API","sidebarTitle":"Bounce Report","openapi":"openapi.yaml GET /v2/accounts/{account_id}/statistics/transactional/bounce","href":"/api-reference/reports/get-bounce-report"},{"title":"Get Email Delivery Time Statistics via the API","sidebarTitle":"Delivery Time Report","openapi":"openapi.yaml GET /v2/accounts/{account_id}/statistics/transactional/delivery-time","href":"/api-reference/reports/get-delivery-time-report"}]},{"group":"API Keys","icon":"key","pages":[{"title":"Create an API Key via the API","sidebarTitle":"Create API Key","openapi":"openapi.yaml POST /v2/accounts/{account_id}/api-keys","href":"/api-reference/api-keys/create-api-key"},{"title":"Get an API Key via the API","sidebarTitle":"Get API Key","openapi":"openapi.yaml GET /v2/accounts/{account_id}/api-keys/{key_id}","href":"/api-reference/api-keys/get-api-key"},{"title":"List API Keys via the API","sidebarTitle":"List API Keys","openapi":"openapi.yaml GET /v2/accounts/{account_id}/api-keys","href":"/api-reference/api-keys/get-api-keys"},{"title":"Update an API Key via the API","sidebarTitle":"Update API Key","openapi":"openapi.yaml PUT /v2/accounts/{account_id}/api-keys/{key_id}","href":"/api-reference/api-keys/update-api-key"},{"title":"Delete an API Key via the API","sidebarTitle":"Delete API Key","openapi":"openapi.yaml DELETE /v2/accounts/{account_id}/api-keys/{key_id}","href":"/api-reference/api-keys/delete-api-key"}]},{"group":"Utility endpoints","icon":"bolt","pages":[{"title":"Test Your API Key with the Ping Endpoint","sidebarTitle":"Ping","openapi":"openapi.yaml GET /v2/ping","href":"/api-reference/utility/ping"}]}]},{"group":"Webhooks","pages":[{"title":"Webhook Events and Payload Reference","sidebarTitle":"Introduction","icon":"webhook","href":"/api-reference/webhooks/index"},{"title":"Verify Webhook and Route Signatures (HMAC)","sidebarTitle":"Security","icon":"shield-check","href":"/api-reference/webhooks/security"},{"title":"Webhook and Route Retry Policy","sidebarTitle":"Retry Policy","icon":"repeat","href":"/api-reference/webhooks/retry-policy"},{"group":"Message Events","icon":"envelope","pages":[{"title":"message.reception Webhook Event","sidebarTitle":"Reception","openapi":"webhooks.yaml webhook message.reception","href":"/api-reference/webhooks/message-reception"},{"title":"message.delivered Webhook Event","sidebarTitle":"Delivered","openapi":"webhooks.yaml webhook message.delivered","href":"/api-reference/webhooks/message-delivered"},{"title":"message.transient_error (Deferred) Webhook Event","sidebarTitle":"Deferred","openapi":"webhooks.yaml webhook message.transient_error","href":"/api-reference/webhooks/message-transient_error"},{"title":"message.failed Webhook Event","sidebarTitle":"Failed","openapi":"webhooks.yaml webhook message.failed","href":"/api-reference/webhooks/message-failed"},{"title":"message.bounced Webhook Event","sidebarTitle":"Bounced","openapi":"webhooks.yaml webhook message.bounced","href":"/api-reference/webhooks/message-bounced"},{"title":"message.suppressed Webhook Event","sidebarTitle":"Suppressed","openapi":"webhooks.yaml webhook message.suppressed","href":"/api-reference/webhooks/message-suppressed"},{"title":"message.opened Webhook Event","sidebarTitle":"Opened","openapi":"webhooks.yaml webhook message.opened","href":"/api-reference/webhooks/message-opened"},{"title":"message.clicked Webhook Event","sidebarTitle":"Clicked","openapi":"webhooks.yaml webhook message.clicked","href":"/api-reference/webhooks/message-clicked"}]},{"group":"Suppression Events","icon":"ban","pages":[{"title":"suppression.created Webhook Event","sidebarTitle":"Suppression Created","openapi":"webhooks.yaml webhook suppression.created","href":"/api-reference/webhooks/suppression-created"}]},{"group":"Domain Events","icon":"globe","pages":[{"title":"domain.dns_error Webhook Event","sidebarTitle":"DNS Error","openapi":"webhooks.yaml webhook domain.dns_error","href":"/api-reference/webhooks/domain-dns_error"}]}]},{"group":"Message Routing","pages":[{"title":"Inbound Email Routing API Overview","sidebarTitle":"Introduction","icon":"route","href":"/api-reference/routes/index"},{"title":"message.routing Inbound Email Webhook Event","sidebarTitle":"Message Routing","openapi":"webhooks.yaml webhook message.routing","href":"/api-reference/routes/route-message"}]},{"group":"API v1 (legacy)","pages":[{"title":"API v1 vs v2: Differences and Migration","sidebarTitle":"v1 vs v2","icon":"code-compare","href":"/api-reference/v1/v1-vs-v2"},{"title":"Send Email with API v1 (Legacy)","sidebarTitle":"Send Email (Legacy)","icon":"paper-plane","openapi":"openapi-v1.yaml POST /v1/email/send","href":"/api-reference/v1/index"}]}]},{"tab":"CLI","icon":"square-terminal","pages":[{"title":"CLI","href":"/cli"}]},{"tab":"Guides","icon":"plug","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"Roadmap","icon":"map","pages":[{"title":"Roadmap","href":"/roadmap"}]}]},"title":"List and Search Sent Emails via the API - AhaSend","buildId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","deploymentId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DsGgv5pK.js","utils-B0h6ZXi-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-IgrnFwPw.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C49-TBER.js","snippetPresets-BPHn-9OB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CGBwAHwX.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BjABHCCH.js","shallow-C0Uj5sOI.js","getApiPlaygroundDisplay-BnYiIeY4.js","CodeSnippet-BJWWrlBw.js","CodeSnippets-bxE5aDye.js","Page-BBU7roUf.js","getPastedJson-BAjriezQ.js","icon-BqcS52QC.js","MethodPill-BPGyN9me.js","DuplicateIcon-CCf2giLL.js","createIcon-CVH8aNt2.js","DynamicMarkdown-BklwmxA6.js","SectionHeading-DYCZQFxh.js","axios-vUo_bRtp.js","Markdown-D26rHnOC.js","clsx-DkiOUx4h.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DI8jfVGc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DwJy-csb.js"]}