{
    "variable": [
        {
            "id": "baseUrl",
            "key": "baseUrl",
            "type": "string",
            "name": "string",
            "value": "https:\/\/send.exoclass.com"
        }
    ],
    "info": {
        "name": "ExoSend API Documentation",
        "_postman_id": "6c40c24a-1f7a-44af-a36a-fe93e83bffe9",
        "description": "Multi-tenant SMS & Email platform providing reliable message delivery through provider integrations.",
        "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"
    },
    "item": [
        {
            "name": "SMS Operations",
            "description": "\nAPIs for sending SMS messages and checking delivery status.",
            "item": [
                {
                    "name": "Send Single SMS",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/send",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/send"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"recipient\":\"+37061234567\",\"message\":\"Hello from ExoSend! Your verification code is 123456.\",\"sender_id\":\"EXOCLASS\"}"
                        },
                        "description": "Queue a single SMS message for delivery. The message will be sent asynchronously\nand credits will be deducted immediately."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"message_id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"status\": \"pending\",\n    \"cost\": 0.035,\n    \"segments\": 1,\n    \"balance_remaining\": 99.965\n  },\n  \"message\": \"SMS queued for sending\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SENDER_NOT_FOUND\",\n    \"message\": \"The specified sender ID was not found in your organization\",\n    \"details\": {\n      \"sender_id\": \"NONEXISTENT\"\n    }\n  }\n}",
                            "name": "Sender ID Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INSUFFICIENT_CREDITS\",\n    \"message\": \"Your account does not have enough credits\",\n    \"details\": {\n      \"required\": 0.035,\n      \"available\": 0.00\n    }\n  }\n}",
                            "name": "Insufficient Credits"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_PHONE_NUMBER\",\n    \"message\": \"The recipient phone number is invalid\",\n    \"details\": {\n      \"recipient\": \"1234567890\"\n    }\n  }\n}",
                            "name": "Invalid Phone Number"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SENDER_NOT_VERIFIED\",\n    \"message\": \"The sender ID must be verified before sending messages\",\n    \"details\": {\n      \"sender_id\": \"EXOCLASS\",\n      \"status\": \"pending\",\n      \"status_label\": \"Pending Review\"\n    }\n  }\n}",
                            "name": "Sender ID Not Verified"
                        }
                    ]
                },
                {
                    "name": "Send Bulk SMS",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/send-bulk",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/send-bulk"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"recipients\":[\"+37061234567\",\"+37061234568\",\"+37061234569\"],\"message\":\"Bulk notification: System maintenance scheduled for tonight.\",\"sender_id\":\"EXOCLASS\"}"
                        },
                        "description": "Queue multiple SMS messages to different recipients with the same content.\nInvalid phone numbers will be filtered out, and only valid recipients will receive messages.\nCredits are deducted for all valid recipients before sending."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"total_messages\": 3,\n    \"total_cost\": 0.105,\n    \"balance_remaining\": 99.895,\n    \"message_ids\": [\n      \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"9a7f2e5c-1234-5678-90ab-cdef12345679\",\n      \"9a7f2e5c-1234-5678-90ab-cdef12345680\"\n    ],\n    \"invalid_recipients\": []\n  },\n  \"message\": \"Bulk SMS queued for sending\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"total_messages\": 2,\n    \"total_cost\": 0.070,\n    \"balance_remaining\": 99.930,\n    \"message_ids\": [\n      \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"9a7f2e5c-1234-5678-90ab-cdef12345679\"\n    ],\n    \"invalid_recipients\": [\"invalid-number\"]\n  },\n  \"message\": \"Bulk SMS queued for sending\"\n}",
                            "name": "Some Invalid Recipients"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NO_VALID_RECIPIENTS\",\n    \"message\": \"No valid recipients found\",\n    \"details\": {\n      \"invalid_recipients\": [\"invalid1\", \"invalid2\"]\n    }\n  }\n}",
                            "name": "All Recipients Invalid"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INSUFFICIENT_CREDITS\",\n    \"message\": \"Your account does not have enough credits\",\n    \"details\": {\n      \"required\": 0.105,\n      \"available\": 0.050,\n      \"valid_recipients_count\": 3\n    }\n  }\n}",
                            "name": "Insufficient Credits"
                        }
                    ]
                },
                {
                    "name": "Get Message Status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/:id\/status",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/:id\/status",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the message."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve the current delivery status of a previously sent SMS message.\nOnly messages belonging to your organization can be accessed."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"status\": \"delivered\",\n    \"recipient\": \"+37061234567\",\n    \"cost\": 0.035,\n    \"segments\": 1,\n    \"sent_at\": \"2026-01-03T14:30:00+00:00\",\n    \"delivered_at\": \"2026-01-03T14:30:15+00:00\",\n    \"error_message\": null,\n    \"error_code\": null\n  }\n}",
                            "name": "Delivered Message"
                        },
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"status\": \"failed\",\n    \"recipient\": \"+37061234567\",\n    \"cost\": 0.035,\n    \"segments\": 1,\n    \"sent_at\": null,\n    \"delivered_at\": null,\n    \"error_message\": \"Invalid recipient\",\n    \"error_code\": \"INVALID_RECIPIENT\"\n  }\n}",
                            "name": "Failed Message"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Message not found\"\n  }\n}",
                            "name": "Message Not Found"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Email Sending",
            "description": "\nAPIs for sending transactional and marketing emails, checking delivery status,\nand listing sent emails. Credits are deducted per email sent.",
            "item": [
                {
                    "name": "Send Single Email",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/emails\/send",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/emails\/send"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "multipart\/form-data"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "from_email",
                                    "value": "hello@exosend.com",
                                    "type": "text",
                                    "description": "Sender email address. Must match a verified domain if one is registered."
                                },
                                {
                                    "key": "from_name",
                                    "value": "ExoSend Team",
                                    "type": "text",
                                    "description": "optional Sender display name."
                                },
                                {
                                    "key": "to_email",
                                    "value": "john@example.com",
                                    "type": "text",
                                    "description": "Recipient email address."
                                },
                                {
                                    "key": "to_name",
                                    "value": "John Doe",
                                    "type": "text",
                                    "description": "optional Recipient display name."
                                },
                                {
                                    "key": "subject",
                                    "value": "Welcome to ExoSend!",
                                    "type": "text",
                                    "description": "Email subject line. Maximum 255 characters."
                                },
                                {
                                    "key": "html_content",
                                    "value": "<h1>Welcome!<\/h1><p>Thanks for signing up.<\/p>",
                                    "type": "text",
                                    "description": "(if no text_content) HTML body of the email."
                                },
                                {
                                    "key": "text_content",
                                    "value": "Welcome! Thanks for signing up.",
                                    "type": "text",
                                    "description": "(if no html_content) Plain-text body of the email."
                                },
                                {
                                    "key": "reply_to",
                                    "value": "support@exosend.com",
                                    "type": "text",
                                    "description": "optional Reply-to email address."
                                },
                                {
                                    "key": "template_id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "type": "text",
                                    "description": "optional UUID of an email template to use."
                                },
                                {
                                    "key": "variables[first_name]",
                                    "value": "John",
                                    "type": "text",
                                    "description": ""
                                },
                                {
                                    "key": "variables[company]",
                                    "value": "Acme",
                                    "type": "text",
                                    "description": ""
                                },
                                {
                                    "key": "type",
                                    "value": "marketing",
                                    "type": "text",
                                    "description": "optional Email type: \"marketing\" or \"transactional\". Defaults to \"marketing\". Transactional emails bypass voluntary suppression (unsubscribed, manual)."
                                },
                                {
                                    "key": "metadata[order_id]",
                                    "value": "12345",
                                    "type": "text",
                                    "description": ""
                                },
                                {
                                    "key": "metadata[campaign]",
                                    "value": "onboarding",
                                    "type": "text",
                                    "description": ""
                                },
                                {
                                    "key": "email_domain_id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "type": "text",
                                    "description": "optional UUID of a specific email domain to use."
                                },
                                {
                                    "key": "attachments[]",
                                    "src": [],
                                    "type": "file"
                                }
                            ]
                        },
                        "description": "Queue a single email for delivery. The email will be sent asynchronously via the\nconfigured email provider. Credits are deducted immediately. If html_content is provided\nwithout text_content, a plain-text version is auto-generated."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 202,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"status\": \"pending\",\n    \"to_email\": \"john@example.com\",\n    \"subject\": \"Welcome to ExoSend!\",\n    \"cost\": 0.01,\n    \"created_at\": \"2026-01-15T10:30:00+00:00\"\n  },\n  \"message\": \"Email queued for sending.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INSUFFICIENT_CREDITS\",\n    \"message\": \"Your account does not have enough credits\",\n    \"details\": {\n      \"required\": 0.01,\n      \"available\": 0.00\n    }\n  }\n}",
                            "name": "Insufficient Credits"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"DOMAIN_NOT_VERIFIED\",\n    \"message\": \"The sending domain is registered but not yet verified\",\n    \"details\": {\n      \"domain\": \"exosend.com\",\n      \"status\": \"pending\"\n    }\n  }\n}",
                            "name": "Domain Not Verified"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"to_email\": [\"Recipient email must be a valid email address\"],\n      \"subject\": [\"Email subject is required\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Send Batch Emails",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/emails\/send-batch",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/emails\/send-batch"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "multipart\/form-data"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "emails[0]",
                                    "value": "architecto",
                                    "type": "text",
                                    "description": ""
                                },
                                {
                                    "key": "attachments[]",
                                    "src": [],
                                    "type": "file"
                                }
                            ]
                        },
                        "description": "Queue multiple emails for delivery in a single request. Each email can have different\nrecipients, subjects, and content. All emails are validated and credits are deducted\nfor the entire batch before sending begins. Maximum 1000 emails per batch."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 202,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"total_emails\": 3,\n    \"total_cost\": 0.03,\n    \"balance_remaining\": 99.97,\n    \"email_ids\": [\n      \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"9a7f2e5c-1234-5678-90ab-cdef12345679\",\n      \"9a7f2e5c-1234-5678-90ab-cdef12345680\"\n    ]\n  },\n  \"message\": \"Batch emails queued for sending.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INSUFFICIENT_CREDITS\",\n    \"message\": \"Your account does not have enough credits\",\n    \"details\": {\n      \"required\": 0.03,\n      \"available\": 0.01,\n      \"email_count\": 3\n    }\n  }\n}",
                            "name": "Insufficient Credits"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"DOMAIN_NOT_VERIFIED\",\n    \"message\": \"The sending domain 'exosend.com' is registered but not yet verified\",\n    \"details\": {\n      \"domain\": \"exosend.com\",\n      \"status\": \"pending\"\n    }\n  }\n}",
                            "name": "Domain Not Verified"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"emails\": [\"At least one email is required\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Get Batch Details",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/emails\/batch\/:batchId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/emails\/batch\/:batchId",
                            "variable": [
                                {
                                    "id": "batchId",
                                    "key": "batchId",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the email batch."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve the summary and paginated email list for a previously created batch.\nOnly batches belonging to your organization can be accessed."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"batch\": {\n      \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"subject\": \"Welcome to ExoSend!\",\n      \"from_email\": \"hello@exosend.com\",\n      \"from_name\": \"ExoSend Team\",\n      \"source\": \"api\",\n      \"status\": \"pending\",\n      \"total_recipients\": 3,\n      \"total_cost\": 0.03,\n      \"total_sent\": 0,\n      \"total_delivered\": 0,\n      \"total_opened\": 0,\n      \"total_bounced\": 0,\n      \"total_failed\": 0,\n      \"delivery_rate\": 0.0,\n      \"open_rate\": 0.0,\n      \"scheduled_at\": null,\n      \"created_at\": \"2026-01-15T10:30:00+00:00\"\n    },\n    \"emails\": {}\n  }\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Batch not found\"\n  }\n}",
                            "name": "Batch Not Found"
                        }
                    ]
                },
                {
                    "name": "Get Email Status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/emails\/:id\/status",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/emails\/:id\/status",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the email."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve the current delivery status and tracking events for a previously sent email.\nOnly emails belonging to your organization can be accessed."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"status\": \"delivered\",\n    \"to_email\": \"john@example.com\",\n    \"subject\": \"Welcome to ExoSend!\",\n    \"cost\": 0.01,\n    \"sent_at\": \"2026-01-15T10:30:00+00:00\",\n    \"delivered_at\": \"2026-01-15T10:30:05+00:00\",\n    \"opened_at\": \"2026-01-15T11:00:00+00:00\",\n    \"clicked_at\": \"2026-01-15T11:05:30+00:00\",\n    \"bounced_at\": null,\n    \"error_message\": null,\n    \"error_code\": null\n  }\n}",
                            "name": "Delivered Email"
                        },
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"status\": \"bounced\",\n    \"to_email\": \"invalid@example.com\",\n    \"subject\": \"Welcome to ExoSend!\",\n    \"cost\": 0.01,\n    \"sent_at\": \"2026-01-15T10:30:00+00:00\",\n    \"delivered_at\": null,\n    \"opened_at\": null,\n    \"clicked_at\": null,\n    \"bounced_at\": \"2026-01-15T10:30:10+00:00\",\n    \"error_message\": \"Mailbox not found\",\n    \"error_code\": \"550\"\n  }\n}",
                            "name": "Bounced Email"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Email not found\"\n  }\n}",
                            "name": "Email Not Found"
                        }
                    ]
                },
                {
                    "name": "List Sent Emails",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/emails",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "delivered",
                                    "description": "Filter by email status. Options: pending, sent, delivered, opened, clicked, bounced, failed, complained.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "10",
                                    "description": "Number of results per page (default 25).",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/emails?status=delivered&per_page=10"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve a paginated list of all sent emails for your organization, sorted by newest first.\nOptionally filter by delivery status."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"emails\": [\n      {\n        \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n        \"from_email\": \"hello@exosend.com\",\n        \"to_email\": \"john@example.com\",\n        \"subject\": \"Welcome to ExoSend!\",\n        \"status\": \"delivered\",\n        \"cost\": 0.01,\n        \"created_at\": \"2026-01-15T10:30:00+00:00\"\n      }\n    ],\n    \"pagination\": {\n      \"total\": 42,\n      \"per_page\": 25,\n      \"current_page\": 1,\n      \"last_page\": 2\n    }\n  }\n}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Email Domains",
            "description": "\nAPIs for managing email sending domains. Domains must have proper DNS records (SPF, DKIM, DMARC)\nconfigured and verified before they can be used for sending emails.",
            "item": [
                {
                    "name": "List Domains",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-domains",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-domains"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve all email domains registered for your organization, including their\nverification status and DNS records."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"domain\": \"exosend.com\",\n      \"from_email_default\": \"hello@exosend.com\",\n      \"from_name_default\": \"ExoSend\",\n      \"status\": \"verified\",\n      \"spf_verified\": true,\n      \"dkim_verified\": true,\n      \"dmarc_verified\": true,\n      \"is_default\": true,\n      \"dns_records\": [\n        {\"type\": \"TXT\", \"name\": \"exosend.com\", \"value\": \"v=spf1 include:mailgun.org ~all\"}\n      ],\n      \"verified_at\": \"2026-01-10T12:00:00+00:00\",\n      \"created_at\": \"2026-01-10T10:00:00+00:00\"\n    }\n  ]\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Add Domain",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-domains",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-domains"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"domain\":\"exosend.com\",\"from_email_default\":\"hello@exosend.com\",\"from_name_default\":\"ExoSend Team\",\"region\":\"eu\"}"
                        },
                        "description": "Register a new email sending domain for your organization. After adding, you must\nconfigure the returned DNS records with your domain registrar, then trigger verification.\nDomain registration with the email provider is done asynchronously."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"domain\": \"exosend.com\",\n    \"from_email_default\": \"hello@exosend.com\",\n    \"from_name_default\": \"ExoSend Team\",\n    \"status\": \"pending\",\n    \"spf_verified\": false,\n    \"dkim_verified\": false,\n    \"dmarc_verified\": false,\n    \"is_default\": false,\n    \"dns_records\": [\n      {\"type\": \"TXT\", \"name\": \"exosend.com\", \"value\": \"v=spf1 include:mailgun.org ~all\"},\n      {\"type\": \"TXT\", \"name\": \"k1._domainkey.exosend.com\", \"value\": \"k=rsa; p=MIGf...\"},\n      {\"type\": \"TXT\", \"name\": \"_dmarc.exosend.com\", \"value\": \"v=DMARC1; p=none;\"}\n    ],\n    \"verified_at\": null,\n    \"created_at\": \"2026-01-15T10:00:00+00:00\"\n  },\n  \"message\": \"Domain added. Please add the DNS records shown below, then verify.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"DOMAIN_EXISTS\",\n    \"message\": \"This domain is already registered for your organization\",\n    \"details\": {\n      \"domain\": \"exosend.com\"\n    }\n  }\n}",
                            "name": "Domain Already Exists"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"domain\": [\"The domain field is required.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Get Domain Details",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-domains\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-domains\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the domain."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve full details of a specific email domain, including DNS records\nand verification status for SPF, DKIM, and DMARC."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"domain\": \"exosend.com\",\n    \"from_email_default\": \"hello@exosend.com\",\n    \"from_name_default\": \"ExoSend Team\",\n    \"status\": \"verified\",\n    \"spf_verified\": true,\n    \"dkim_verified\": true,\n    \"dmarc_verified\": true,\n    \"is_default\": true,\n    \"dns_records\": [\n      {\"type\": \"TXT\", \"name\": \"exosend.com\", \"value\": \"v=spf1 include:mailgun.org ~all\"}\n    ],\n    \"verified_at\": \"2026-01-10T12:00:00+00:00\",\n    \"created_at\": \"2026-01-10T10:00:00+00:00\"\n  }\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Domain not found\"\n  }\n}",
                            "name": "Domain Not Found"
                        }
                    ]
                },
                {
                    "name": "Verify Domain DNS",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-domains\/:id\/verify",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-domains\/:id\/verify",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the domain."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Trigger DNS verification for a domain. This queues a background job that checks\nwhether the required SPF, DKIM, and DMARC records are properly configured.\nThe domain status will be updated asynchronously after verification completes."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"domain\": \"exosend.com\",\n    \"from_email_default\": \"hello@exosend.com\",\n    \"from_name_default\": \"ExoSend Team\",\n    \"status\": \"pending\",\n    \"spf_verified\": false,\n    \"dkim_verified\": false,\n    \"dmarc_verified\": false,\n    \"is_default\": false,\n    \"dns_records\": [],\n    \"verified_at\": null,\n    \"created_at\": \"2026-01-15T10:00:00+00:00\"\n  },\n  \"message\": \"DNS verification has been queued.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Domain not found\"\n  }\n}",
                            "name": "Domain Not Found"
                        }
                    ]
                },
                {
                    "name": "Set Default Domain",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-domains\/:id\/default",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-domains\/:id\/default",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the domain."
                                }
                            ]
                        },
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Set a verified domain as the default sending domain for your organization.\nOnly verified domains can be set as default. The previous default domain\nwill be automatically unset."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"domain\": \"exosend.com\",\n    \"from_email_default\": \"hello@exosend.com\",\n    \"from_name_default\": \"ExoSend Team\",\n    \"status\": \"verified\",\n    \"spf_verified\": true,\n    \"dkim_verified\": true,\n    \"dmarc_verified\": true,\n    \"is_default\": true,\n    \"dns_records\": [],\n    \"verified_at\": \"2026-01-10T12:00:00+00:00\",\n    \"created_at\": \"2026-01-10T10:00:00+00:00\"\n  },\n  \"message\": \"Domain set as default.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Domain not found\"\n  }\n}",
                            "name": "Domain Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"DOMAIN_NOT_VERIFIED\",\n    \"message\": \"Only verified domains can be set as default\"\n  }\n}",
                            "name": "Domain Not Verified"
                        }
                    ]
                },
                {
                    "name": "Delete Domain",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-domains\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-domains\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the domain."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Remove an email domain from your organization. This does not affect emails\nthat have already been sent through this domain."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Domain removed.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Domain not found\"\n  }\n}",
                            "name": "Domain Not Found"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Email Templates",
            "description": "\nAPIs for managing reusable email templates with variable substitution.\nTemplates support MJML, HTML, and plain-text content with merge tags for personalization.\nSystem templates are shared across all organizations and cannot be edited by non-admins.",
            "item": [
                {
                    "name": "List Templates",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-templates",
                            "query": [
                                {
                                    "key": "category",
                                    "value": "marketing",
                                    "description": "Filter by template category. Options: transactional, marketing, notification, onboarding, custom.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/email-templates?category=marketing"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve all active email templates for your organization, including system templates.\nOptionally filter by category. Returns summary data; use the show endpoint for full content."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"name\": \"Welcome Email\",\n      \"slug\": \"welcome-email\",\n      \"category\": \"onboarding\",\n      \"subject_template\": \"Welcome, @{{first_name}}!\",\n      \"is_system\": false,\n      \"is_active\": true,\n      \"version\": 1,\n      \"times_used\": 150,\n      \"created_at\": \"2026-01-10T10:00:00+00:00\",\n      \"updated_at\": \"2026-01-12T14:30:00+00:00\"\n    }\n  ]\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create Template",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-templates",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-templates"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"Monthly Newsletter\",\"slug\":\"monthly-newsletter\",\"category\":\"marketing\",\"subject_template\":\"Your @{{month}} Newsletter\",\"html_content\":\"<h1>Hello @{{first_name}}<\\\/h1><p>Here is your newsletter.<\\\/p>\",\"text_content\":\"Hello @{{first_name}}, here is your newsletter.\",\"mjml_content\":\"<mjml><mj-body><mj-section><mj-column><mj-text>Hello<\\\/mj-text><\\\/mj-column><\\\/mj-section><\\\/mj-body><\\\/mjml>\",\"description\":\"Sent monthly with latest updates\",\"variables\":[\"architecto\"]}"
                        },
                        "description": "Create a new email template for your organization. Templates can include\nmerge tag variables (e.g., `@{{first_name}}`) that are replaced at send time.\nIf only html_content is provided, a plain-text version is auto-generated."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"Monthly Newsletter\",\n    \"slug\": \"monthly-newsletter\",\n    \"category\": \"marketing\",\n    \"subject_template\": \"Your @{{month}} Newsletter\",\n    \"is_system\": false,\n    \"is_active\": true,\n    \"version\": 1,\n    \"times_used\": 0,\n    \"created_at\": \"2026-01-15T10:00:00+00:00\",\n    \"updated_at\": \"2026-01-15T10:00:00+00:00\",\n    \"description\": \"Sent monthly with latest updates\",\n    \"html_content\": \"<h1>Hello @{{first_name}}<\/h1><p>Here is your newsletter.<\/p>\",\n    \"text_content\": \"Hello @{{first_name}}, here is your newsletter.\",\n    \"mjml_content\": null,\n    \"variables\": [\n      {\"key\": \"first_name\", \"label\": \"First Name\", \"default\": \"there\", \"required\": true}\n    ]\n  },\n  \"message\": \"Template created.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SLUG_EXISTS\",\n    \"message\": \"A template with this slug already exists\"\n  }\n}",
                            "name": "Slug Already Exists"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"name\": [\"The name field is required.\"],\n      \"category\": [\"The selected category is invalid.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Get Template Details",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-templates\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-templates\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the template."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve full details of a specific email template, including HTML content,\ntext content, MJML source, and variable definitions."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"Welcome Email\",\n    \"slug\": \"welcome-email\",\n    \"category\": \"onboarding\",\n    \"subject_template\": \"Welcome, @{{first_name}}!\",\n    \"is_system\": false,\n    \"is_active\": true,\n    \"version\": 1,\n    \"times_used\": 150,\n    \"created_at\": \"2026-01-10T10:00:00+00:00\",\n    \"updated_at\": \"2026-01-12T14:30:00+00:00\",\n    \"description\": \"Sent to new users after registration\",\n    \"html_content\": \"<h1>Welcome, @{{first_name}}!<\/h1><p>Thanks for joining.<\/p>\",\n    \"text_content\": \"Welcome, @{{first_name}}! Thanks for joining.\",\n    \"mjml_content\": null,\n    \"variables\": [\n      {\"key\": \"first_name\", \"label\": \"First Name\", \"default\": \"there\", \"required\": true}\n    ]\n  }\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Template not found\"\n  }\n}",
                            "name": "Template Not Found"
                        }
                    ]
                },
                {
                    "name": "Update Template",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-templates\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-templates\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the template."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"Monthly Newsletter v2\",\"category\":\"marketing\",\"subject_template\":\"Your @{{month}} Newsletter - Updated\",\"html_content\":\"<h1>Hello @{{first_name}}<\\\/h1><p>New content.<\\\/p>\",\"text_content\":\"Hello @{{first_name}}, new content.\",\"description\":\"Updated monthly newsletter\",\"variables\":[\"architecto\"],\"is_active\":true}"
                        },
                        "description": "Update an existing email template. Only organization-owned templates can be edited;\nsystem templates require super admin privileges. All fields are optional; only\nprovided fields will be updated."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"Monthly Newsletter v2\",\n    \"slug\": \"monthly-newsletter\",\n    \"category\": \"marketing\",\n    \"subject_template\": \"Your @{{month}} Newsletter - Updated\",\n    \"is_system\": false,\n    \"is_active\": true,\n    \"version\": 1,\n    \"times_used\": 150,\n    \"created_at\": \"2026-01-10T10:00:00+00:00\",\n    \"updated_at\": \"2026-01-15T14:30:00+00:00\",\n    \"description\": \"Updated monthly newsletter\",\n    \"html_content\": \"<h1>Hello @{{first_name}}<\/h1><p>New content.<\/p>\",\n    \"text_content\": \"Hello @{{first_name}}, new content.\",\n    \"mjml_content\": null,\n    \"variables\": []\n  },\n  \"message\": \"Template updated.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"FORBIDDEN\",\n    \"message\": \"System templates cannot be edited\"\n  }\n}",
                            "name": "System Template"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Template not found\"\n  }\n}",
                            "name": "Template Not Found"
                        }
                    ]
                },
                {
                    "name": "Delete Template",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-templates\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-templates\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the template."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Soft-delete an email template. System templates require super admin privileges\nto delete. Deleted templates are no longer available for sending but their\ndata is preserved for historical reference."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Template deleted.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"FORBIDDEN\",\n    \"message\": \"System templates cannot be deleted\"\n  }\n}",
                            "name": "System Template"
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Template not found\"\n  }\n}",
                            "name": "Template Not Found"
                        }
                    ]
                },
                {
                    "name": "Preview Template",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-templates\/:id\/preview",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-templates\/:id\/preview",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the template."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"data\":{\"first_name\":\"John\",\"month\":\"January\"}}"
                        },
                        "description": "Render a template with sample data and return the resulting subject, HTML, and\nplain-text content. Useful for previewing how merge tags will be replaced before\nsending. Pass variable values in the `data` object."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"subject\": \"Welcome, John!\",\n    \"html_content\": \"<h1>Welcome, John!<\/h1><p>Thanks for joining.<\/p>\",\n    \"text_content\": \"Welcome, John! Thanks for joining.\"\n  }\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Template not found\"\n  }\n}",
                            "name": "Template Not Found"
                        }
                    ]
                },
                {
                    "name": "Duplicate Template",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/email-templates\/:id\/duplicate",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/email-templates\/:id\/duplicate",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the template to duplicate."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Create a copy of an existing template in your organization. The copy will have\n\" (Copy)\" appended to its name and a unique slug with a timestamp suffix.\nUseful for customizing system templates or creating variations of existing ones."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9b8f3e6d-2345-6789-01bc-def123456789\",\n    \"name\": \"Welcome Email (Copy)\",\n    \"slug\": \"welcome-email-copy-1705312200\",\n    \"category\": \"onboarding\",\n    \"subject_template\": \"Welcome, @{{first_name}}!\",\n    \"is_system\": false,\n    \"is_active\": true,\n    \"version\": 1,\n    \"times_used\": 0,\n    \"created_at\": \"2026-01-15T10:30:00+00:00\",\n    \"updated_at\": \"2026-01-15T10:30:00+00:00\",\n    \"description\": \"Sent to new users after registration\",\n    \"html_content\": \"<h1>Welcome, @{{first_name}}!<\/h1><p>Thanks for joining.<\/p>\",\n    \"text_content\": \"Welcome, @{{first_name}}! Thanks for joining.\",\n    \"mjml_content\": null,\n    \"variables\": [\n      {\"key\": \"first_name\", \"label\": \"First Name\", \"default\": \"there\", \"required\": true}\n    ]\n  },\n  \"message\": \"Template duplicated.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Template not found\"\n  }\n}",
                            "name": "Template Not Found"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Email Campaigns",
            "description": "\nAPIs for creating, managing, and sending email campaigns. Campaigns follow a lifecycle:\ndraft -> sending\/scheduled -> completed\/cancelled. Only draft campaigns can be edited or deleted.",
            "item": [
                {
                    "name": "List Campaigns",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "draft",
                                    "description": "Filter by campaign status. Options: draft, scheduled, sending, paused, completed, cancelled, failed.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "10",
                                    "description": "Number of results per page (default 25).",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns?status=draft&per_page=10"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve a paginated list of all email campaigns for your organization, sorted by newest first.\nOptionally filter by campaign status."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n        \"name\": \"January Newsletter\",\n        \"status\": \"completed\",\n        \"subject\": \"Your January Update\",\n        \"from_email\": \"hello@exosend.com\",\n        \"total_recipients\": 5000,\n        \"total_sent\": 4980,\n        \"total_opened\": 2100,\n        \"total_clicked\": 450,\n        \"total_bounced\": 20,\n        \"created_at\": \"2026-01-10T10:00:00+00:00\"\n      }\n    ],\n    \"pagination\": {\n      \"total\": 15,\n      \"per_page\": 25,\n      \"current_page\": 1,\n      \"last_page\": 1\n    }\n  }\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"January Newsletter\",\"description\":\"Monthly newsletter for January 2026\",\"email_template_id\":\"9a7f2e5c-1234-5678-90ab-cdef12345678\",\"subject\":\"Your January Update\",\"html_content\":\"<h1>January Update<\\\/h1><p>Here are our latest updates.<\\\/p>\",\"text_content\":\"Here are our latest updates.\",\"template_variables\":{\"month\":\"January\",\"year\":\"2026\"},\"email_domain_id\":\"9a7f2e5c-1234-5678-90ab-cdef12345678\",\"from_email\":\"hello@exosend.com\",\"from_name\":\"ExoSend Team\",\"reply_to\":\"support@exosend.com\",\"target_list_ids\":[\"9a7f2e5c-1234-5678-90ab-cdef12345678\"],\"segment_filters\":{\"status\":\"active\"},\"send_rate_per_minute\":500,\"batch_size\":100,\"timezone\":\"Asia\\\/Yekaterinburg\",\"scheduled_at\":\"2026-04-16T12:41:38\"}"
                        },
                        "description": "Create a new email campaign in draft status. The campaign can then be sent immediately\nor scheduled for later delivery. You can specify target contact lists and optionally\nuse a pre-built template."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter\",\n    \"status\": \"draft\",\n    \"subject\": \"Your January Update\",\n    \"from_email\": \"hello@exosend.com\",\n    \"from_name\": \"ExoSend Team\",\n    \"total_recipients\": 0,\n    \"total_sent\": 0,\n    \"created_at\": \"2026-01-15T10:00:00+00:00\"\n  },\n  \"message\": \"Campaign created.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_LIST\",\n    \"message\": \"One or more target lists do not exist or do not belong to your organization\"\n  }\n}",
                            "name": "Invalid Target List"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"name\": [\"The name field is required.\"],\n      \"subject\": [\"The subject field is required.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Get Campaign Details",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve full details of a specific campaign, including computed engagement rates\n(open rate, click rate, bounce rate) if the campaign has been sent."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter\",\n    \"status\": \"completed\",\n    \"subject\": \"Your January Update\",\n    \"from_email\": \"hello@exosend.com\",\n    \"from_name\": \"ExoSend Team\",\n    \"total_recipients\": 5000,\n    \"total_sent\": 4980,\n    \"total_opened\": 2100,\n    \"total_clicked\": 450,\n    \"total_bounced\": 20,\n    \"open_rate\": \"42.2%\",\n    \"click_rate\": \"9.0%\",\n    \"bounce_rate\": \"0.4%\",\n    \"created_at\": \"2026-01-10T10:00:00+00:00\",\n    \"sent_at\": \"2026-01-10T12:00:00+00:00\",\n    \"completed_at\": \"2026-01-10T13:30:00+00:00\"\n  }\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        }
                    ]
                },
                {
                    "name": "Update Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"January Newsletter v2\",\"description\":\"Revised newsletter content\",\"email_template_id\":\"9a7f2e5c-1234-5678-90ab-cdef12345678\",\"subject\":\"Your Updated January Newsletter\",\"html_content\":\"<h1>Updated Content<\\\/h1>\",\"text_content\":\"Updated content.\",\"template_variables\":{\"month\":\"February\"},\"from_email\":\"newsletter@exosend.com\",\"from_name\":\"ExoSend Newsletter\",\"reply_to\":\"support@exosend.com\",\"target_list_ids\":[\"9a7f2e5c-1234-5678-90ab-cdef12345678\"],\"send_rate_per_minute\":300,\"timezone\":\"Asia\\\/Yekaterinburg\",\"scheduled_at\":\"2026-04-16T12:41:38\"}"
                        },
                        "description": "Update an existing campaign. Only campaigns in draft status can be updated.\nAll fields are optional; only provided fields will be modified."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter v2\",\n    \"status\": \"draft\",\n    \"subject\": \"Your Updated January Newsletter\",\n    \"from_email\": \"newsletter@exosend.com\",\n    \"created_at\": \"2026-01-10T10:00:00+00:00\",\n    \"updated_at\": \"2026-01-15T14:30:00+00:00\"\n  },\n  \"message\": \"Campaign updated.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_STATUS\",\n    \"message\": \"Only draft campaigns can be updated\"\n  }\n}",
                            "name": "Not Draft Status"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_LIST\",\n    \"message\": \"One or more target lists do not exist or do not belong to your organization\"\n  }\n}",
                            "name": "Invalid Target List"
                        }
                    ]
                },
                {
                    "name": "Send Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id\/send",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id\/send",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Start sending a draft campaign immediately. The campaign status will change to \"sending\"\nand emails will be dispatched to all target recipients asynchronously."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter\",\n    \"status\": \"sending\",\n    \"total_recipients\": 5000,\n    \"sent_at\": \"2026-01-15T12:00:00+00:00\"\n  },\n  \"message\": \"Campaign sending started.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_STATUS\",\n    \"message\": \"Only draft campaigns can be sent\"\n  }\n}",
                            "name": "Not Draft Status"
                        }
                    ]
                },
                {
                    "name": "Schedule Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id\/schedule",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id\/schedule",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"scheduled_at\":\"2026-02-01T09:00:00Z\",\"timezone\":\"Asia\\\/Yekaterinburg\"}"
                        },
                        "description": "Schedule a draft campaign for future delivery at the specified date and time.\nThe campaign status will change to \"scheduled\" and sending will begin automatically\nat the scheduled time."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter\",\n    \"status\": \"scheduled\",\n    \"scheduled_at\": \"2026-02-01T09:00:00+00:00\"\n  },\n  \"message\": \"Campaign scheduled.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_STATUS\",\n    \"message\": \"Only draft campaigns can be scheduled\"\n  }\n}",
                            "name": "Not Draft Status"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"scheduled_at\": [\"The scheduled at must be a date after now.\"]\n    }\n  }\n}",
                            "name": "Past Date"
                        }
                    ]
                },
                {
                    "name": "Pause Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id\/pause",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id\/pause",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Pause a campaign that is currently sending. Emails already queued will still be\ndelivered, but no new emails will be dispatched until the campaign is resumed."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter\",\n    \"status\": \"paused\",\n    \"total_sent\": 2500,\n    \"total_recipients\": 5000\n  },\n  \"message\": \"Campaign paused.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_STATUS\",\n    \"message\": \"Only sending campaigns can be paused\"\n  }\n}",
                            "name": "Not Sending Status"
                        }
                    ]
                },
                {
                    "name": "Resume Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id\/resume",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id\/resume",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Resume a previously paused campaign. Email dispatch will continue from where\nit left off, sending to remaining recipients."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter\",\n    \"status\": \"sending\",\n    \"total_sent\": 2500,\n    \"total_recipients\": 5000\n  },\n  \"message\": \"Campaign resumed.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_STATUS\",\n    \"message\": \"Only paused campaigns can be resumed\"\n  }\n}",
                            "name": "Not Paused Status"
                        }
                    ]
                },
                {
                    "name": "Cancel Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id\/cancel",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id\/cancel",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Cancel a campaign that is in draft, scheduled, sending, or paused status.\nCompleted or already-cancelled campaigns cannot be cancelled. Emails already\nsent will not be affected."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"January Newsletter\",\n    \"status\": \"cancelled\",\n    \"total_sent\": 2500,\n    \"total_recipients\": 5000\n  },\n  \"message\": \"Campaign cancelled.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_STATUS\",\n    \"message\": \"This campaign cannot be cancelled\"\n  }\n}",
                            "name": "Invalid Status"
                        }
                    ]
                },
                {
                    "name": "Delete Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/campaigns\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/campaigns\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Permanently delete a draft campaign. Only campaigns in draft status can be deleted.\nCampaigns that have been sent, scheduled, or completed cannot be deleted."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Campaign deleted.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_STATUS\",\n    \"message\": \"Only draft campaigns can be deleted\"\n  }\n}",
                            "name": "Not Draft Status"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Contacts",
            "description": "\nAPIs for managing email contacts. Contacts are individual email recipients that can be\norganized into lists for campaign targeting. Supports CRUD operations and CSV import.",
            "item": [
                {
                    "name": "List Contacts",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contacts",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "active",
                                    "description": "Filter by contact status. Options: active, unsubscribed, bounced, complained.",
                                    "disabled": false
                                },
                                {
                                    "key": "search",
                                    "value": "john",
                                    "description": "Search contacts by email, first name, or last name.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "50",
                                    "description": "Number of results per page (default 25).",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/contacts?status=active&search=john&per_page=50"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve a paginated list of all contacts for your organization. Supports filtering\nby status and full-text search across email, first name, and last name."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n        \"email\": \"john@example.com\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"status\": \"active\",\n        \"custom_fields\": {\"company\": \"Acme Inc\"},\n        \"subscribed_at\": \"2026-01-10T10:00:00+00:00\",\n        \"created_at\": \"2026-01-10T10:00:00+00:00\"\n      }\n    ],\n    \"pagination\": {\n      \"total\": 1250,\n      \"per_page\": 25,\n      \"current_page\": 1,\n      \"last_page\": 50\n    }\n  }\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create Contact",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contacts",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contacts"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"john@example.com\",\"first_name\":\"John\",\"last_name\":\"Doe\",\"custom_fields\":{\"company\":\"Acme Inc\",\"role\":\"Developer\"}}"
                        },
                        "description": "Add a new contact to your organization. The contact will be automatically subscribed\nupon creation. Each email address must be unique within the organization."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"email\": \"john@example.com\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"status\": \"active\",\n    \"custom_fields\": {\"company\": \"Acme Inc\", \"role\": \"Developer\"},\n    \"subscribed_at\": \"2026-01-15T10:00:00+00:00\",\n    \"created_at\": \"2026-01-15T10:00:00+00:00\"\n  },\n  \"message\": \"Contact created.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"CONTACT_EXISTS\",\n    \"message\": \"A contact with this email already exists\"\n  }\n}",
                            "name": "Contact Already Exists"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"email\": [\"The email field is required.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Update Contact",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contacts\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contacts\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the contact."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"newemail@example.com\",\"first_name\":\"Jane\",\"last_name\":\"Smith\",\"custom_fields\":{\"company\":\"New Corp\"},\"status\":\"unsubscribed\"}"
                        },
                        "description": "Update an existing contact's information. All fields are optional; only provided\nfields will be modified."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"email\": \"newemail@example.com\",\n    \"first_name\": \"Jane\",\n    \"last_name\": \"Smith\",\n    \"status\": \"active\",\n    \"custom_fields\": {\"company\": \"New Corp\"},\n    \"subscribed_at\": \"2026-01-10T10:00:00+00:00\",\n    \"created_at\": \"2026-01-10T10:00:00+00:00\",\n    \"updated_at\": \"2026-01-15T14:30:00+00:00\"\n  },\n  \"message\": \"Contact updated.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Contact not found\"\n  }\n}",
                            "name": "Contact Not Found"
                        }
                    ]
                },
                {
                    "name": "Delete Contact",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contacts\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contacts\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the contact."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Permanently delete a contact from your organization. This also removes the contact\nfrom all associated contact lists."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Contact deleted.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Contact not found\"\n  }\n}",
                            "name": "Contact Not Found"
                        }
                    ]
                },
                {
                    "name": "Import Contacts from CSV",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contacts\/import",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contacts\/import"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "multipart\/form-data"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "list_id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "type": "text",
                                    "description": "optional UUID of a contact list to add imported contacts to."
                                },
                                {
                                    "key": "file",
                                    "src": [],
                                    "type": "file"
                                }
                            ]
                        },
                        "description": "Import contacts from a CSV file. The CSV should have columns for email, first_name,\nand last_name (at minimum). Duplicate emails are automatically skipped. Optionally\nassign all imported contacts to a specific contact list. Maximum file size: 10MB."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"imported\": 450,\n    \"skipped\": 12,\n    \"errors\": [\n      {\"row\": 5, \"error\": \"Invalid email format\"},\n      {\"row\": 23, \"error\": \"Missing required email field\"}\n    ]\n  },\n  \"message\": \"Import completed.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"file\": [\"The file field is required.\"],\n      \"list_id\": [\"The list id must be a valid UUID.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Contact Lists",
            "description": "\nAPIs for managing contact lists. Lists are collections of contacts used for targeting\nemail campaigns. Contacts can belong to multiple lists simultaneously.",
            "item": [
                {
                    "name": "List Contact Lists",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contact-lists",
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "10",
                                    "description": "Number of results per page (default 25).",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/contact-lists?per_page=10"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve a paginated list of all contact lists for your organization, including\nthe number of contacts in each list."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n        \"name\": \"Newsletter Subscribers\",\n        \"description\": \"Users who opted in to the monthly newsletter\",\n        \"is_default\": true,\n        \"contacts_count\": 3500,\n        \"created_at\": \"2026-01-10T10:00:00+00:00\",\n        \"updated_at\": \"2026-01-15T14:30:00+00:00\"\n      }\n    ],\n    \"pagination\": {\n      \"total\": 8,\n      \"per_page\": 25,\n      \"current_page\": 1,\n      \"last_page\": 1\n    }\n  }\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create Contact List",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contact-lists",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contact-lists"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"Newsletter Subscribers\",\"description\":\"Users who opted in to the monthly newsletter\",\"is_default\":false}"
                        },
                        "description": "Create a new contact list for your organization. List names must be unique\nwithin the organization."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"Newsletter Subscribers\",\n    \"description\": \"Users who opted in to the monthly newsletter\",\n    \"is_default\": false,\n    \"created_at\": \"2026-01-15T10:00:00+00:00\",\n    \"updated_at\": \"2026-01-15T10:00:00+00:00\"\n  },\n  \"message\": \"Contact list created.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"LIST_EXISTS\",\n    \"message\": \"A list with this name already exists\"\n  }\n}",
                            "name": "List Already Exists"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"name\": [\"The name field is required.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Update Contact List",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contact-lists\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contact-lists\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the contact list."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"Premium Subscribers\",\"description\":\"Premium tier newsletter subscribers\",\"is_default\":true}"
                        },
                        "description": "Update an existing contact list's name, description, or default status.\nAll fields are optional; only provided fields will be modified."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"name\": \"Premium Subscribers\",\n    \"description\": \"Premium tier newsletter subscribers\",\n    \"is_default\": true,\n    \"created_at\": \"2026-01-10T10:00:00+00:00\",\n    \"updated_at\": \"2026-01-15T14:30:00+00:00\"\n  },\n  \"message\": \"Contact list updated.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Contact list not found\"\n  }\n}",
                            "name": "List Not Found"
                        }
                    ]
                },
                {
                    "name": "Delete Contact List",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contact-lists\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contact-lists\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the contact list."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Delete a contact list. This removes the list itself but does not delete\nthe contacts that were in the list. Contacts will remain in the organization."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Contact list deleted.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Contact list not found\"\n  }\n}",
                            "name": "List Not Found"
                        }
                    ]
                },
                {
                    "name": "Add Contacts to List",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contact-lists\/:id\/contacts",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contact-lists\/:id\/contacts",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the contact list."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"contact_ids\":[\"9a7f2e5c-1234-5678-90ab-cdef12345678\",\"9b8f3e6d-2345-6789-01bc-def123456789\"]}"
                        },
                        "description": "Add one or more existing contacts to a contact list. Contacts that are already\nin the list will be silently skipped (no duplicates). All contact IDs must\nbelong to your organization."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Contacts added to list.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Contact list not found\"\n  }\n}",
                            "name": "List Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"contact_ids\": [\"The contact ids field is required.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Remove Contact from List",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/contact-lists\/:id\/contacts\/:contactId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/contact-lists\/:id\/contacts\/:contactId",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the contact list."
                                },
                                {
                                    "id": "contactId",
                                    "key": "contactId",
                                    "value": "9b8f3e6d-2345-6789-01bc-def123456789",
                                    "description": "The UUID of the contact to remove."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Remove a single contact from a contact list. The contact itself is not deleted\nand remains in the organization. If the contact is not in the list, the\noperation completes silently."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Contact removed from list.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Contact list not found\"\n  }\n}",
                            "name": "List Not Found"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Analytics",
            "description": "\nAPIs for retrieving email analytics and engagement metrics. Includes organization-level\noverviews, per-campaign statistics, link tracking, device breakdowns, and individual\nemail event timelines.",
            "item": [
                {
                    "name": "Organization Overview",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/analytics\/overview",
                            "query": [
                                {
                                    "key": "from",
                                    "value": "2026-01-01",
                                    "description": "optional Start date for the analytics period (ISO 8601 format). Defaults to 30 days ago.",
                                    "disabled": false
                                },
                                {
                                    "key": "to",
                                    "value": "2026-01-31",
                                    "description": "optional End date for the analytics period (ISO 8601 format). Defaults to today.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/analytics\/overview?from=2026-01-01&to=2026-01-31"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve aggregate email analytics for your organization over a specified date range.\nIncludes totals for sent, delivered, opened, clicked, bounced, and complained emails."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"total_sent\": 12500,\n    \"total_delivered\": 12300,\n    \"total_opened\": 5200,\n    \"total_clicked\": 1100,\n    \"total_bounced\": 150,\n    \"total_complained\": 5,\n    \"delivery_rate\": 98.4,\n    \"open_rate\": 42.3,\n    \"click_rate\": 8.9,\n    \"bounce_rate\": 1.2\n  }\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Campaign Analytics",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/analytics\/campaigns\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/analytics\/campaigns\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve detailed analytics for a specific email campaign, including delivery,\nengagement, and bounce statistics."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"campaign_id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"campaign_name\": \"January Newsletter\",\n    \"total_sent\": 5000,\n    \"total_delivered\": 4950,\n    \"total_opened\": 2100,\n    \"total_clicked\": 450,\n    \"total_bounced\": 50,\n    \"total_complained\": 2,\n    \"open_rate\": 42.4,\n    \"click_rate\": 9.1,\n    \"bounce_rate\": 1.0,\n    \"unsubscribe_rate\": 0.3\n  }\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        }
                    ]
                },
                {
                    "name": "Campaign Link Clicks",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/analytics\/campaigns\/:id\/links",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/analytics\/campaigns\/:id\/links",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve click-tracking data for all links in a campaign, sorted by total clicks.\nShows which URLs were clicked and how many times."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"url\": \"https:\/\/exosend.com\/pricing\",\n      \"total_clicks\": 230,\n      \"unique_clicks\": 180\n    },\n    {\n      \"url\": \"https:\/\/exosend.com\/docs\",\n      \"total_clicks\": 145,\n      \"unique_clicks\": 120\n    }\n  ]\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        }
                    ]
                },
                {
                    "name": "Campaign Device Breakdown",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/analytics\/campaigns\/:id\/devices",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/analytics\/campaigns\/:id\/devices",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the campaign."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve device and email client breakdown for a campaign. Shows which devices,\noperating systems, and email clients recipients used to open the campaign emails."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"devices\": [\n      {\"device\": \"Desktop\", \"count\": 1200, \"percentage\": 57.1},\n      {\"device\": \"Mobile\", \"count\": 750, \"percentage\": 35.7},\n      {\"device\": \"Tablet\", \"count\": 150, \"percentage\": 7.1}\n    ],\n    \"clients\": [\n      {\"client\": \"Gmail\", \"count\": 900, \"percentage\": 42.9},\n      {\"client\": \"Apple Mail\", \"count\": 600, \"percentage\": 28.6},\n      {\"client\": \"Outlook\", \"count\": 350, \"percentage\": 16.7}\n    ]\n  }\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Campaign not found\"\n  }\n}",
                            "name": "Campaign Not Found"
                        }
                    ]
                },
                {
                    "name": "Email Event Timeline",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/analytics\/emails\/:id\/events",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/analytics\/emails\/:id\/events",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the email."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve the full event timeline for a specific email, including delivery,\nopen, click, bounce, and complaint events in chronological order."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"9b8f3e6d-2345-6789-01bc-def123456789\",\n      \"email_id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"event_type\": \"delivered\",\n      \"occurred_at\": \"2026-01-15T10:30:05+00:00\",\n      \"metadata\": {\"smtp_code\": 250}\n    },\n    {\n      \"id\": \"9c9f4f7e-3456-7890-12cd-ef1234567890\",\n      \"email_id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"event_type\": \"opened\",\n      \"occurred_at\": \"2026-01-15T11:00:00+00:00\",\n      \"metadata\": {\"user_agent\": \"Mozilla\/5.0\", \"ip\": \"192.168.1.1\"}\n    },\n    {\n      \"id\": \"9d0f5g8f-4567-8901-23de-f12345678901\",\n      \"email_id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"event_type\": \"clicked\",\n      \"occurred_at\": \"2026-01-15T11:05:30+00:00\",\n      \"metadata\": {\"url\": \"https:\/\/exosend.com\/pricing\", \"user_agent\": \"Mozilla\/5.0\"}\n    }\n  ]\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Email not found\"\n  }\n}",
                            "name": "Email Not Found"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Suppression List",
            "description": "\nAPIs for managing your email suppression list. Suppressed email addresses will not receive\nany emails from your organization. Addresses can be suppressed manually, or automatically\nvia bounces, complaints, and unsubscribes.",
            "item": [
                {
                    "name": "List Suppressions",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/suppressions",
                            "query": [
                                {
                                    "key": "reason",
                                    "value": "hard_bounce",
                                    "description": "Filter by suppression reason. Options: hard_bounce, soft_bounce, complaint, unsubscribed, manual, list_import.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "50",
                                    "description": "Number of results per page (default 25).",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/suppressions?reason=hard_bounce&per_page=50"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve a paginated list of all suppressed email addresses for your organization.\nOptionally filter by suppression reason."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"data\": [\n      {\n        \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n        \"email\": \"bounced@example.com\",\n        \"reason\": \"hard_bounce\",\n        \"details\": \"550 Mailbox not found\",\n        \"created_at\": \"2026-01-10T10:00:00+00:00\"\n      },\n      {\n        \"id\": \"9b8f3e6d-2345-6789-01bc-def123456789\",\n        \"email\": \"unsubscribed@example.com\",\n        \"reason\": \"unsubscribed\",\n        \"details\": null,\n        \"created_at\": \"2026-01-12T15:30:00+00:00\"\n      }\n    ],\n    \"pagination\": {\n      \"total\": 25,\n      \"per_page\": 25,\n      \"current_page\": 1,\n      \"last_page\": 1\n    }\n  }\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Suppress Email Address",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/suppressions",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/suppressions"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"user@example.com\",\"reason\":\"manual\",\"details\":\"Requested removal via support ticket #1234\"}"
                        },
                        "description": "Add an email address to your organization's suppression list. Suppressed addresses\nwill not receive any future emails. If the address is already suppressed, the\nexisting suppression record is returned."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"email\": \"user@example.com\",\n    \"reason\": \"manual\",\n    \"details\": \"Requested removal via support ticket #1234\",\n    \"created_at\": \"2026-01-15T10:00:00+00:00\"\n  },\n  \"message\": \"Email suppressed.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"email\": [\"The email field is required.\"],\n      \"reason\": [\"The selected reason is invalid.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Unsuppress Email Address",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/suppressions\/:email",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/suppressions\/:email",
                            "variable": [
                                {
                                    "id": "email",
                                    "key": "email",
                                    "value": "user%40example.com",
                                    "description": "The email address to unsuppress."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Remove an email address from your organization's suppression list, allowing\nfuture emails to be delivered to this address again."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Email unsuppressed.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Suppression not found\"\n  }\n}",
                            "name": "Suppression Not Found"
                        }
                    ]
                },
                {
                    "name": "Check Suppression Status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/suppressions\/check\/:email",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/suppressions\/check\/:email",
                            "variable": [
                                {
                                    "id": "email",
                                    "key": "email",
                                    "value": "user%40example.com",
                                    "description": "The email address to check."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Check whether a specific email address is on your organization's suppression list.\nReturns a boolean indicating the suppression status."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"email\": \"user@example.com\",\n    \"is_suppressed\": true\n  }\n}",
                            "name": "Suppressed"
                        },
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"email\": \"active@example.com\",\n    \"is_suppressed\": false\n  }\n}",
                            "name": "Not Suppressed"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Account Management",
            "description": "\nAPIs for managing your ExoSend account balance and credits.",
            "item": [
                {
                    "name": "Get Credit Balance",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/balance",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/balance"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve your organization's current credit balance. Credits are used to send SMS messages,\nwith costs varying by destination country and message length."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"balance\": 99.965,\n    \"currency\": \"EUR\",\n    \"organization\": \"ExoClass\"\n  }\n}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Sender ID Management",
            "description": "\nAPIs for managing sender IDs (sender names that appear on SMS messages).\nSender IDs must be approved by administrators and verified by providers before use.",
            "item": [
                {
                    "name": "List Sender IDs",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sender-ids",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "verified",
                                    "description": "Filter by status. Options: verified, pending, approved, rejected, all. Default: verified.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/v1\/sender-ids?status=verified"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve all sender IDs for your organization with optional status filtering.\nBy default, only verified sender IDs are returned."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n      \"sender_id\": \"EXOCLASS\",\n      \"admin_status\": \"approved\",\n      \"provider_status\": \"verified\",\n      \"is_verified\": true,\n      \"is_default\": true,\n      \"rejection_reason\": null,\n      \"message_count\": 42,\n      \"created_at\": \"2026-01-01T10:00:00+00:00\",\n      \"approved_at\": \"2026-01-01T12:00:00+00:00\",\n      \"verified_at\": \"2026-01-01T14:00:00+00:00\"\n    },\n    {\n      \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345679\",\n      \"sender_id\": \"EXOSMS\",\n      \"admin_status\": \"approved\",\n      \"provider_status\": \"verified\",\n      \"is_verified\": true,\n      \"is_default\": false,\n      \"rejection_reason\": null,\n      \"message_count\": 15,\n      \"created_at\": \"2026-01-02T10:00:00+00:00\",\n      \"approved_at\": \"2026-01-02T11:00:00+00:00\",\n      \"verified_at\": \"2026-01-02T13:00:00+00:00\"\n    }\n  ]\n}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Request New Sender ID",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sender-ids",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sender-ids"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"sender_id\":\"EXOCLASS\"}"
                        },
                        "description": "Submit a new sender ID request for approval. The sender ID will be created in pending status\nand must go through a two-stage approval process:\n1. Admin approval (manual review by ExoSend administrators)\n2. Provider verification (automatic verification with SMS provider)\n\nOnly after both stages can the sender ID be used for sending messages."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"sender_id\": \"EXOCLASS\",\n    \"admin_status\": \"pending\",\n    \"provider_status\": \"pending\",\n    \"is_verified\": false,\n    \"is_default\": false,\n    \"created_at\": \"2026-01-03T14:30:00+00:00\"\n  },\n  \"message\": \"Sender ID request submitted. Awaiting approval from administrator.\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"The given data was invalid\",\n    \"details\": {\n      \"sender_id\": [\"The sender id must be between 3 and 11 characters.\"]\n    }\n  }\n}",
                            "name": "Validation Error"
                        }
                    ]
                },
                {
                    "name": "Set Default Sender ID",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sender-ids\/:id\/default",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sender-ids\/:id\/default",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the sender ID."
                                }
                            ]
                        },
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Set a verified sender ID as the default for your organization.\nOnly verified sender IDs can be set as default. Automatically unsets\nany previously set default sender ID."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"9a7f2e5c-1234-5678-90ab-cdef12345678\",\n    \"sender_id\": \"EXOCLASS\",\n    \"is_verified\": true,\n    \"is_default\": true\n  },\n  \"message\": \"Sender ID set as default\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Sender ID not found\"\n  }\n}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_VERIFIED\",\n    \"message\": \"Only verified sender IDs can be set as default. Current status: pending approval.\"\n  }\n}",
                            "name": "Not Verified"
                        }
                    ]
                },
                {
                    "name": "Delete Sender ID",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sender-ids\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sender-ids\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "9a7f2e5c-1234-5678-90ab-cdef12345678",
                                    "description": "The UUID of the sender ID."
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Delete a sender ID from your organization. Sender IDs with existing messages\nor set as default cannot be deleted."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\n  \"success\": true,\n  \"data\": null,\n  \"message\": \"Sender ID deleted successfully\"\n}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Sender ID not found\"\n  }\n}",
                            "name": "Not Found"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"IS_DEFAULT\",\n    \"message\": \"Cannot delete the default sender ID. Set another as default first.\"\n  }\n}",
                            "name": "Is Default"
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"HAS_MESSAGES\",\n    \"message\": \"Cannot delete sender ID with existing messages\",\n    \"details\": {\n      \"message_count\": 42\n    }\n  }\n}",
                            "name": "Has Messages"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Endpoints",
            "description": "",
            "item": [
                {
                    "name": "POST \/api\/v1\/public\/subscribe",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/public\/subscribe",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/public\/subscribe"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"gbailey@example.net\",\"name\":\"m\",\"list_token\":\"architecto\",\"website_url\":\"http:\\\/\\\/www.bailey.biz\\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\"}"
                        },
                        "description": "Creates\/finds a contact, invalidates previous tokens for the same\n(contact, list) pair, creates a new SubscriptionConfirmation, and\nsends a confirmation email. Response is always 200 with a generic\nmessage to avoid leaking whether the email is already subscribed."
                    },
                    "response": []
                },
                {
                    "name": "GET \/api\/v1\/public\/confirm\/{token}",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/public\/confirm\/:token",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/public\/confirm\/:token",
                            "variable": [
                                {
                                    "id": "token",
                                    "key": "token",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Validates the token, checks suppression, adds the contact to the list\n(which triggers automation enrollment via the ContactAddedToList event),\nand marks the confirmation as used."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "x-ratelimit-limit",
                                    "value": "30"
                                },
                                {
                                    "key": "x-ratelimit-remaining",
                                    "value": "29"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 500,
                            "body": "{\n    \"message\": \"Server Error\"\n}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "SMS Campaigns",
            "description": "\nAPIs for creating, managing, and sending bulk SMS campaigns.\nCampaigns follow a lifecycle: draft -> sending\/scheduled -> sent\/completed\/cancelled.",
            "item": [
                {
                    "name": "Create SMS Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/campaigns",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/campaigns"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"b\",\"message_content\":\"n\",\"sender_id_id\":\"6b72fe4a-5b40-307c-bc24-f79acf9a1bb9\",\"target_list_ids\":[\"977e5426-8d13-3824-86aa-b092f8ae52c5\"],\"contact_ids\":[\"d6fa562b-acd5-35ff-babb-d11194d3737b\"],\"manual_phones\":[\"+36\"],\"scheduled_at\":\"2052-05-10\",\"timezone\":\"Asia\\\/Yekaterinburg\",\"batch_size\":22,\"send_rate_per_minute\":7}"
                        },
                        "description": "Create a new SMS campaign. The campaign will be in draft status unless scheduled_at is provided,\nin which case it will be set to scheduled status."
                    },
                    "response": []
                },
                {
                    "name": "List SMS Campaigns",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/campaigns",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/campaigns"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve a paginated list of all SMS campaigns for your organization, sorted by newest first."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get SMS Campaign Details",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/campaigns\/:smsCampaign_id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/campaigns\/:smsCampaign_id",
                            "variable": [
                                {
                                    "id": "smsCampaign_id",
                                    "key": "smsCampaign_id",
                                    "value": "019d0af7-86c8-706b-9926-53d96221bbf3",
                                    "description": "The ID of the smsCampaign."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieve full details of a specific SMS campaign including refreshed stats."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Send SMS Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/campaigns\/:smsCampaign_id\/send",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/campaigns\/:smsCampaign_id\/send",
                            "variable": [
                                {
                                    "id": "smsCampaign_id",
                                    "key": "smsCampaign_id",
                                    "value": "019d0af7-86c8-706b-9926-53d96221bbf3",
                                    "description": "The ID of the smsCampaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Start sending a draft or scheduled campaign immediately."
                    },
                    "response": []
                },
                {
                    "name": "Pause SMS Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/campaigns\/:smsCampaign_id\/pause",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/campaigns\/:smsCampaign_id\/pause",
                            "variable": [
                                {
                                    "id": "smsCampaign_id",
                                    "key": "smsCampaign_id",
                                    "value": "019d0af7-86c8-706b-9926-53d96221bbf3",
                                    "description": "The ID of the smsCampaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Pause a campaign that is currently sending."
                    },
                    "response": []
                },
                {
                    "name": "Cancel SMS Campaign",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/v1\/sms\/campaigns\/:smsCampaign_id\/cancel",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/v1\/sms\/campaigns\/:smsCampaign_id\/cancel",
                            "variable": [
                                {
                                    "id": "smsCampaign_id",
                                    "key": "smsCampaign_id",
                                    "value": "019d0af7-86c8-706b-9926-53d96221bbf3",
                                    "description": "The ID of the smsCampaign."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Cancel a campaign that is sending, paused, or scheduled."
                    },
                    "response": []
                }
            ]
        }
    ],
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "Authorization",
                "type": "string"
            }
        ]
    }
}