{
  "info": {
    "_postman_id": "d5972228-0013-4f1e-a2d3-811e5636f1bf",
    "name": "AhaSend API v2 Accounts Utility API",
    "description": "The AhaSend API v2 allows you to send transactional emails, manage domains, webhooks, routes, API keys, and view statistics.\n\n## Authentication\nAll API requests must be authenticated using a Bearer token in the Authorization header:\n```\nAuthorization: Bearer aha-sk-64-CHARACTER-RANDOM-STRING\n```\n\n## Scopes\nAPI keys have specific scopes that control access to different resources and actions:\n\n### Message Scopes\n- `messages:send:all` - Send messages from any domain in the account\n- `messages:send:{domain}` - Send messages from a specific domain\n- `messages:cancel:all` - Cancel messages from any domain\n- `messages:cancel:{domain}` - Cancel messages from a specific domain\n- `messages:read:all` - Read messages from any domain\n- `messages:read:{domain}` - Read messages from a specific domain\n\n### Domain Scopes\n- `domains:read` - Read all domains\n- `domains:write` - Create and update domains\n- `domains:delete:all` - Delete any domain\n- `domains:delete:{domain}` - Delete a specific domain\n\n### Account Scopes\n- `accounts:read` - Read account information\n- `accounts:write` - Update account settings\n- `accounts:billing` - Access billing information\n- `accounts:members:read` - Read account members\n- `accounts:members:add` - Add account members\n- `accounts:members:update` - Update account members\n- `accounts:members:remove` - Remove account members\n\n### Webhook Scopes\n- `webhooks:read:all` - Read all webhooks\n- `webhooks:read:{domain}` - Read webhooks for a specific domain\n- `webhooks:write:all` - Create and update webhooks\n- `webhooks:write:{domain}` - Create and update webhooks for a specific domain\n- `webhooks:delete:all` - Delete any webhook\n- `webhooks:delete:{domain}` - Delete webhooks for a specific domain\n\n### Route Scopes\n- `routes:read:all` - Read all routes\n- `routes:read:{domain}` - Read routes for a specific domain\n- `routes:write:all` - Create and update routes\n- `routes:write:{domain}` - Create and update routes for a specific domain\n- `routes:delete:all` - Delete any route\n- `routes:delete:{domain}` - Delete routes for a specific domain\n\n### Suppression Scopes\n- `suppressions:read` - Read suppressions\n- `suppressions:write` - Create suppressions\n- `suppressions:delete` - Delete suppressions\n- `suppressions:wipe` - Delete all suppressions (dangerous)\n\n### SMTP Credentials Scopes\n- `smtp-credentials:read:all` - Read all SMTP credentials\n- `smtp-credentials:read:{domain}` - Read SMTP credentials for a specific domain\n- `smtp-credentials:write:all` - Create SMTP credentials\n- `smtp-credentials:write:{domain}` - Create SMTP credentials for a specific domain\n- `smtp-credentials:delete:all` - Delete any SMTP credentials\n- `smtp-credentials:delete:{domain}` - Delete SMTP credentials for a specific domain\n\n### Statistics Scopes\n- `statistics-transactional:read:all` - Read all transactional statistics\n- `statistics-transactional:read:{domain}` - Read transactional statistics for a specific domain\n\n### API Key Scopes\n- `api-keys:read` - Read API keys\n- `api-keys:write` - Create and update API keys\n- `api-keys:delete` - Delete API keys\n\n## Rate Limiting\n- General API endpoints: 100 requests per second, 200 burst\n- Statistics endpoints: 1 request per second, 1 burst\n\n## Pagination\nList endpoints use cursor-based pagination with the following parameters:\n- `limit`: Maximum number of items to return (default: 100, max: 100)\n- `cursor`: Pagination cursor for the next page\n\n## Time Formats\nAll timestamps must be in RFC3339 format, e.g., `2023-12-25T10:30:00Z`\n\n## Idempotency\nPOST requests support idempotency through the optional `Idempotency-Key` header. When provided:\n- The same request can be safely retried multiple times\n- Duplicate requests return the same response with `Idempotent-Replayed: true`\n- In-progress requests return HTTP 409 with `Idempotent-Replayed: false`\n- Failed requests return HTTP 412 with `Idempotent-Replayed: false`\n- Idempotency keys expire after 24 hours\n\n\nContact Support:\n Email: support@ahasend.com",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "createdAt": "2026-07-28T00:29:22.000Z",
    "updatedAt": "2026-07-28T00:29:22.000Z",
    "lastUpdatedBy": "35240",
    "uid": "35240-d5972228-0013-4f1e-a2d3-811e5636f1bf"
  },
  "item": [
    {
      "name": "v2",
      "item": [
        {
          "name": "ping",
          "item": [
            {
              "name": "AhaSend Ping",
              "id": "3a1ce385-a7ef-46f3-ae2d-0ae3d288577a",
              "protocolProfileBehavior": {
                "disableBodyPruning": true
              },
              "request": {
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{bearerToken}}",
                      "type": "string"
                    }
                  ]
                },
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/v2/ping",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "ping"
                  ]
                },
                "description": "Health check endpoint that returns a simple pong response"
              },
              "response": [
                {
                  "id": "73bc159b-4c14-49ce-8f59-58a94cf4c6c7",
                  "name": "Pong response",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/v2/ping",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "v2",
                        "ping"
                      ]
                    }
                  },
                  "status": "OK",
                  "code": 200,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"message\": \"<string>\"\n}",
                  "createdAt": "2026-07-28T00:29:22.000Z",
                  "updatedAt": "2026-07-28T00:29:22.000Z",
                  "uid": "35240-73bc159b-4c14-49ce-8f59-58a94cf4c6c7"
                },
                {
                  "id": "835b531d-9045-417a-9a0b-67c46de1e120",
                  "name": "Bad request",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/v2/ping",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "v2",
                        "ping"
                      ]
                    }
                  },
                  "status": "Bad Request",
                  "code": 400,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"message\": \"<string>\"\n}",
                  "createdAt": "2026-07-28T00:29:22.000Z",
                  "updatedAt": "2026-07-28T00:29:22.000Z",
                  "uid": "35240-835b531d-9045-417a-9a0b-67c46de1e120"
                },
                {
                  "id": "bc975fb5-0417-4481-b623-bba715ebc26b",
                  "name": "Unauthorized",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/v2/ping",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "v2",
                        "ping"
                      ]
                    }
                  },
                  "status": "Unauthorized",
                  "code": 401,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"message\": \"<string>\"\n}",
                  "createdAt": "2026-07-28T00:29:22.000Z",
                  "updatedAt": "2026-07-28T00:29:22.000Z",
                  "uid": "35240-bc975fb5-0417-4481-b623-bba715ebc26b"
                },
                {
                  "id": "0b62d634-c9ac-4606-bafa-cf911bcaf221",
                  "name": "Forbidden",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/v2/ping",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "v2",
                        "ping"
                      ]
                    }
                  },
                  "status": "Forbidden",
                  "code": 403,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"message\": \"<string>\"\n}",
                  "createdAt": "2026-07-28T00:29:22.000Z",
                  "updatedAt": "2026-07-28T00:29:22.000Z",
                  "uid": "35240-0b62d634-c9ac-4606-bafa-cf911bcaf221"
                },
                {
                  "id": "f592a255-8f24-4e64-9b9d-259a777f1cb2",
                  "name": "Internal server error",
                  "originalRequest": {
                    "method": "GET",
                    "header": [
                      {
                        "key": "Accept",
                        "value": "application/json"
                      },
                      {
                        "description": "Added as a part of security scheme: bearer",
                        "key": "Authorization",
                        "value": "Bearer <token>"
                      }
                    ],
                    "url": {
                      "raw": "{{baseUrl}}/v2/ping",
                      "host": [
                        "{{baseUrl}}"
                      ],
                      "path": [
                        "v2",
                        "ping"
                      ]
                    }
                  },
                  "status": "Internal Server Error",
                  "code": 500,
                  "_postman_previewlanguage": "json",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "cookie": [],
                  "responseTime": null,
                  "body": "{\n  \"message\": \"<string>\"\n}",
                  "createdAt": "2026-07-28T00:29:22.000Z",
                  "updatedAt": "2026-07-28T00:29:22.000Z",
                  "uid": "35240-f592a255-8f24-4e64-9b9d-259a777f1cb2"
                }
              ],
              "createdAt": "2026-07-28T00:29:22.000Z",
              "updatedAt": "2026-07-28T00:29:22.000Z",
              "uid": "35240-3a1ce385-a7ef-46f3-ae2d-0ae3d288577a"
            }
          ],
          "id": "a33177ee-e0dd-489b-9eeb-7a3fea31f8dc",
          "createdAt": "2026-07-28T00:29:22.000Z",
          "updatedAt": "2026-07-28T00:29:22.000Z",
          "uid": "35240-a33177ee-e0dd-489b-9eeb-7a3fea31f8dc"
        }
      ],
      "id": "f1eca017-2517-4c84-aa3a-f879a0fe1e08",
      "createdAt": "2026-07-28T00:29:22.000Z",
      "updatedAt": "2026-07-28T00:29:22.000Z",
      "uid": "35240-f1eca017-2517-4c84-aa3a-f879a0fe1e08"
    }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{bearerToken}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.ahasend.com"
    }
  ]
}