{
    "info": {
        "_postman_id": "dfa883f4-4af6-4271-ac68-664000895128",
        "name": "BYOMailer API",
        "description": "API collection for BYOMailer. Set the api_token variable to your generated API token before making requests.",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{api_token}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "base_url",
            "value": "https://byomailer.com",
            "type": "string"
        },
        {
            "key": "api_token",
            "value": "",
            "type": "string"
        }
    ],
    "item": [
        {
            "name": "Contacts",
            "description": "Manage contacts within lists",
            "item": [
                {
                    "name": "List Contacts",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/contacts",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "contacts"
                            ]
                        },
                        "description": "List all contacts for the authenticated client. Cursor-paginated. Supports filters: lists[], tags[], topics[], search, include_unsubscribed, per_page, cursor."
                    },
                    "response": []
                },
                {
                    "name": "Get Contact",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/contacts/:contactId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "contacts",
                                ":contactId"
                            ],
                            "variable": [
                                {
                                    "key": "contactId",
                                    "value": "1",
                                    "description": "The contact id"
                                }
                            ]
                        },
                        "description": "Retrieve a single contact by ID, including tags, lists, and topics."
                    },
                    "response": []
                },
                {
                    "name": "Create/Update Contact in List",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId/contacts",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId",
                                "contacts"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                }
                            ]
                        },
                        "description": "Create a new contact or update an existing one and assign them to the specified list.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"email\": \"john@example.com\",\n    \"name\": \"John Doe\",\n    \"tags\": [\n        \"newsletter\",\n        \"customer\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update Contact",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/contacts/:contactId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "contacts",
                                ":contactId"
                            ],
                            "variable": [
                                {
                                    "key": "contactId",
                                    "value": "1",
                                    "description": "The contact id"
                                }
                            ]
                        },
                        "description": "Update an existing contact by ID.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Jane Doe\",\n    \"tags\": [\n        \"vip\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Unsubscribe Contact",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/contacts/:contactId/unsubscribe",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "contacts",
                                ":contactId",
                                "unsubscribe"
                            ],
                            "variable": [
                                {
                                    "key": "contactId",
                                    "value": "1",
                                    "description": "The contact id"
                                }
                            ]
                        },
                        "description": "Unsubscribe a contact. The contact is marked as unsubscribed and will no longer receive emails."
                    },
                    "response": []
                },
                {
                    "name": "Remove Contact from List",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId/contacts/:contactId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId",
                                "contacts",
                                ":contactId"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                },
                                {
                                    "key": "contactId",
                                    "value": "1",
                                    "description": "The contact id"
                                }
                            ]
                        },
                        "description": "Remove a contact from a specific list. The contact is not deleted, only disassociated from the list."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Lists",
            "description": "Manage mailing lists",
            "item": [
                {
                    "name": "Get All Lists",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists"
                            ]
                        },
                        "description": "Retrieve all mailing lists for the authenticated client. Cursor-paginated (per_page up to 100, cursor for next/previous page; response includes meta.next_cursor / meta.prev_cursor)."
                    },
                    "response": []
                },
                {
                    "name": "Create List",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists"
                            ]
                        },
                        "description": "Create a new mailing list.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"My Newsletter List\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update List",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                }
                            ]
                        },
                        "description": "Update an existing mailing list.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Updated List Name\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete List",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                }
                            ]
                        },
                        "description": "Delete a mailing list."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Tags",
            "description": "Manage contact tags",
            "item": [
                {
                    "name": "Get All Tags",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/tags",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "tags"
                            ]
                        },
                        "description": "Retrieve all tags for the authenticated client. Cursor-paginated (per_page up to 100, cursor for next/previous page; response includes meta.next_cursor / meta.prev_cursor)."
                    },
                    "response": []
                },
                {
                    "name": "Create Tag",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/tags",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "tags"
                            ]
                        },
                        "description": "Create a new tag.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"newsletter\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update Tag",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/tags/:tagId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "tags",
                                ":tagId"
                            ],
                            "variable": [
                                {
                                    "key": "tagId",
                                    "value": "1",
                                    "description": "The tag id"
                                }
                            ]
                        },
                        "description": "Update an existing tag.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"updated-tag\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete Tag",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/tags/:tagId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "tags",
                                ":tagId"
                            ],
                            "variable": [
                                {
                                    "key": "tagId",
                                    "value": "1",
                                    "description": "The tag id"
                                }
                            ]
                        },
                        "description": "Delete a tag."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Topics",
            "description": "Manage topics within a list. Subscribers manage their preferences per topic via the preference center.",
            "item": [
                {
                    "name": "Get All Topics",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId/topics",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId",
                                "topics"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                }
                            ]
                        },
                        "description": "Retrieve all topics for a given list. Cursor-paginated (per_page up to 100, cursor for next/previous page; response includes meta.next_cursor / meta.prev_cursor)."
                    },
                    "response": []
                },
                {
                    "name": "Create Topic",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId/topics",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId",
                                "topics"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                }
                            ]
                        },
                        "description": "Create a new topic on a list. All existing contacts on the list will be auto-subscribed to the new topic asynchronously.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Product Updates\",\n    \"description\": \"Release notes and feature announcements\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update Topic",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId/topics/:topicId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId",
                                "topics",
                                ":topicId"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                },
                                {
                                    "key": "topicId",
                                    "value": "1",
                                    "description": "The topic id"
                                }
                            ]
                        },
                        "description": "Update a topic.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Product News\",\n    \"description\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete Topic",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/lists/:listId/topics/:topicId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "lists",
                                ":listId",
                                "topics",
                                ":topicId"
                            ],
                            "variable": [
                                {
                                    "key": "listId",
                                    "value": "1",
                                    "description": "The list id"
                                },
                                {
                                    "key": "topicId",
                                    "value": "1",
                                    "description": "The topic id"
                                }
                            ]
                        },
                        "description": "Delete a topic and all subscription state for it."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Blocks",
            "description": "Manage reusable HTML content blocks",
            "item": [
                {
                    "name": "Get All Blocks",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/blocks",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "blocks"
                            ]
                        },
                        "description": "Retrieve all blocks for the authenticated client. Cursor-paginated (per_page up to 100, cursor for next/previous page; response includes meta.next_cursor / meta.prev_cursor)."
                    },
                    "response": []
                },
                {
                    "name": "Get Block",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/blocks/:blockId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "blocks",
                                ":blockId"
                            ],
                            "variable": [
                                {
                                    "key": "blockId",
                                    "value": "1",
                                    "description": "The block id"
                                }
                            ]
                        },
                        "description": "Retrieve a single block by ID."
                    },
                    "response": []
                },
                {
                    "name": "Create Block",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/blocks",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "blocks"
                            ]
                        },
                        "description": "Create a new reusable HTML content block. The name must be lowercase with underscores only. The html_content is validated for safe HTML \u2014 script tags, iframes, event handlers, and other unsafe elements are rejected.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"footer_links\",\n    \"html_content\": \"<div><a href=\\\"https://example.com\\\">Home</a></div>\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update Block",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/blocks/:blockId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "blocks",
                                ":blockId"
                            ],
                            "variable": [
                                {
                                    "key": "blockId",
                                    "value": "1",
                                    "description": "The block id"
                                }
                            ]
                        },
                        "description": "Update an existing block. The html_content is validated for safe HTML.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"updated_footer\",\n    \"html_content\": \"<div><a href=\\\"https://example.com\\\">Updated Home</a></div>\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete Block",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/blocks/:blockId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "blocks",
                                ":blockId"
                            ],
                            "variable": [
                                {
                                    "key": "blockId",
                                    "value": "1",
                                    "description": "The block id"
                                }
                            ]
                        },
                        "description": "Delete a block."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Newsletters",
            "description": "Manage newsletters",
            "item": [
                {
                    "name": "List Newsletters",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Retrieve newsletters for the authenticated client. Cursor-paginated (per_page, cursor). Filter by ?status=draft|scheduled|queued|ab_testing|sent|failed, ?search=<title or subject>, and ?project=<projectId> (only newsletters assigned to that project). Response omits html_content/text_content (use show endpoint for full body) and includes metrics, total_contacts_reached, ab_test_enabled, content_variables, project_ids, and meta.next_cursor / meta.prev_cursor."
                    },
                    "response": []
                },
                {
                    "name": "Get Newsletter",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters/:newsletterId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters",
                                ":newsletterId"
                            ],
                            "variable": [
                                {
                                    "key": "newsletterId",
                                    "value": "1",
                                    "description": "The newsletter id"
                                }
                            ]
                        },
                        "description": "Retrieve a single newsletter by ID. Response includes metrics, total_contacts_reached, ab_test_enabled, A/B side fields, content_variables, segment_id (read-only \u2014 set when targeting a saved segment), and filters (the segment's resolved audience when segment_id is set)."
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 Simple Draft",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Minimal draft creation. Title defaults to \"Untitled newsletter\" when omitted.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"March Product Update\",\n    \"subject\": \"What's new in March\",\n    \"preview_text\": \"Three new things, two hot takes, one demo\",\n    \"html_content\": \"<h1>March Update</h1><p>Here is what is new...</p>\",\n    \"status\": \"draft\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 With Filters",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Create a newsletter targeted to a contact segment. See the Filters reference for full schema. Tags use names; lists/topics use numeric IDs; attributes use {key, operator, value} objects.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"VIP Promo\",\n    \"subject\": \"Exclusive offer for our top customers\",\n    \"html_content\": \"<p>You unlocked it.</p>\",\n    \"status\": \"draft\",\n    \"filters\": [\n        {\n            \"connector\": \"and\",\n            \"category\": \"tags\",\n            \"mode\": \"any\",\n            \"values\": [\n                \"vip\",\n                \"premium\"\n            ]\n        },\n        {\n            \"connector\": \"and\",\n            \"category\": \"lists\",\n            \"mode\": \"all\",\n            \"values\": [\n                1\n            ]\n        },\n        {\n            \"connector\": \"and\",\n            \"category\": \"attributes\",\n            \"mode\": \"all\",\n            \"values\": [\n                {\n                    \"key\": \"age\",\n                    \"operator\": \"gt\",\n                    \"value\": \"21\"\n                }\n            ]\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 With Date / Engagement / Location Filters",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Date filters target the contact signup date (before/after/in_last/more_than/between). Engagement filters target newsletter opens/clicks/receipt (newsletter_id null = any newsletter). Location filters target country or timezone.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Re-engagement\",\n    \"subject\": \"We miss you\",\n    \"html_content\": \"<p>Come back.</p>\",\n    \"status\": \"draft\",\n    \"filters\": [\n        {\n            \"connector\": \"and\",\n            \"category\": \"date\",\n            \"operator\": \"more_than\",\n            \"values\": {\n                \"days\": 14\n            }\n        },\n        {\n            \"connector\": \"and\",\n            \"category\": \"engagement\",\n            \"operator\": \"not_opened\",\n            \"values\": {\n                \"newsletter_id\": null,\n                \"within\": \"last_n_days\",\n                \"days\": 90\n            }\n        },\n        {\n            \"connector\": \"and\",\n            \"category\": \"location\",\n            \"field\": \"country\",\n            \"mode\": \"any\",\n            \"values\": [\n                \"US\",\n                \"GB\"\n            ]\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 With A/B Test",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "When ab_test_enabled is true, you must include subject_b and html_content_b for variant B. The system stores both variants as separate Message rows (variant=a and variant=b) and the dispatcher splits the audience for the test phase.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Subject Line Test\",\n    \"status\": \"draft\",\n    \"ab_test_enabled\": true,\n    \"subject\": \"Variant A: Save 20% today\",\n    \"preview_text\": \"Inbox preheader for variant A\",\n    \"html_content\": \"<p>Variant A copy</p>\",\n    \"subject_b\": \"Variant B: Your 20% off ends tonight\",\n    \"preview_text_b\": \"Inbox preheader for variant B\",\n    \"html_content_b\": \"<p>Variant B copy</p>\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 With Template + Variables",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Use a saved email template plus content_variables as defaults for {{ variable }} placeholders rendered in the email. List available templates via GET /api/email-templates and resolve the default with GET /api/email-templates/default.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Welcome Drip\",\n    \"subject\": \"Welcome, {{ first_name }}!\",\n    \"html_content\": \"<p>Hi {{ first_name }}, welcome to {{ company }}.</p>\",\n    \"status\": \"draft\",\n    \"email_template_id\": 1,\n    \"content_variables\": {\n        \"first_name\": \"Friend\",\n        \"company\": \"Acme Inc.\"\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 Assigned to Projects",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Attach the newsletter to one or more projects via project_ids (numeric project IDs owned by the client). Also accepted on PATCH \u2014 passing project_ids replaces the full set; an empty array detaches all projects.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Q3 Launch Announcement\",\n    \"subject\": \"The Q3 launch is here\",\n    \"html_content\": \"<p>Say hello to the new lineup.</p>\",\n    \"status\": \"draft\",\n    \"project_ids\": [\n        1,\n        2\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 Schedule For Later",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Send status=live with a future UTC scheduled_at. The newsletter is stored as \"scheduled\" and dispatched by the scheduler when due. Requires a verified email_identity_id. scheduled_at must be an ISO 8601 datetime in UTC.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Black Friday Tease\",\n    \"subject\": \"Doors open Friday\",\n    \"html_content\": \"<p>Mark your calendar.</p>\",\n    \"status\": \"live\",\n    \"scheduled_at\": \"2026-11-26T08:00:00Z\",\n    \"email_identity_id\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create Newsletter \u2014 Send Now",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters"
                            ]
                        },
                        "description": "Send immediately. status=live requires scheduled_at \u2014 pass the current UTC ISO 8601 timestamp to dispatch right away. Requires a verified email_identity_id and the user must have SES bulk send permissions.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Hotfix announcement\",\n    \"subject\": \"Service restored\",\n    \"html_content\": \"<p>All systems normal.</p>\",\n    \"status\": \"live\",\n    \"scheduled_at\": \"{{$isoTimestamp}}\",\n    \"email_identity_id\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update Newsletter",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters/:newsletterId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters",
                                ":newsletterId"
                            ],
                            "variable": [
                                {
                                    "key": "newsletterId",
                                    "value": "1",
                                    "description": "The newsletter id"
                                }
                            ]
                        },
                        "description": "Update a draft or scheduled newsletter. Queued, sent, ab_testing, or failed newsletters return 422 with status validation error. All fields are optional but at least one must be provided. To go live, supply enough data so the result has subject, html_content, and a verified email_identity_id (from this request or already on record). scheduled_at is rejected unless status is \"live\".",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Updated March Product Update\",\n    \"subject\": \"Updated: What's new in March\",\n    \"html_content\": \"<h1>March Update</h1><p>Updated content...</p>\",\n    \"status\": \"draft\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete Newsletter",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters/:newsletterId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters",
                                ":newsletterId"
                            ],
                            "variable": [
                                {
                                    "key": "newsletterId",
                                    "value": "1",
                                    "description": "The newsletter id"
                                }
                            ]
                        },
                        "description": "Delete a draft or scheduled newsletter. Queued, sent, ab_testing, or failed newsletters return 422."
                    },
                    "response": []
                },
                {
                    "name": "Send Test Email",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters/:newsletterId/test-mail",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters",
                                ":newsletterId",
                                "test-mail"
                            ],
                            "variable": [
                                {
                                    "key": "newsletterId",
                                    "value": "1",
                                    "description": "The newsletter id"
                                }
                            ]
                        },
                        "description": "Send a test version of the newsletter to the authenticated user's email. Requires the newsletter to have a sender (email_identity_id on its message)."
                    },
                    "response": []
                },
                {
                    "name": "Pick A/B Winner",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters/:newsletterId/ab-winner",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters",
                                ":newsletterId",
                                "ab-winner"
                            ],
                            "variable": [
                                {
                                    "key": "newsletterId",
                                    "value": "1",
                                    "description": "The newsletter id"
                                }
                            ]
                        },
                        "description": "Choose the winning A/B variant after the test phase. Only available while the newsletter is in \"ab_testing\" status. Marks the newsletter \"sent\" and stores ab_test_winner_variant.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"winner_variant\": \"a\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Preview Recipient Count",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters/contacts/preview",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters",
                                "contacts",
                                "preview"
                            ]
                        },
                        "description": "Returns the number of contacts that would receive a newsletter with the given filters. Useful for validating audience size before going live.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"filters\": [\n        {\n            \"connector\": \"and\",\n            \"category\": \"tags\",\n            \"mode\": \"any\",\n            \"values\": [\n                \"vip\"\n            ]\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get Detected Variables",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/newsletters/:newsletterId/variables",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "newsletters",
                                ":newsletterId",
                                "variables"
                            ],
                            "variable": [
                                {
                                    "key": "newsletterId",
                                    "value": "1",
                                    "description": "The newsletter id"
                                }
                            ]
                        },
                        "description": "Returns the list of {{ variables }} detected in the newsletter's subject and HTML body, plus the current content_variables defaults map. Reserved names (content, unsubscribe_url, preferences_url, opt_in_url) are excluded."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Sequences",
            "description": "Read automated email sequences, their step content and delivery stats, and set step filters",
            "item": [
                {
                    "name": "Get All Sequences",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/sequences",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sequences"
                            ]
                        },
                        "description": "Retrieve a cursor-paginated list of sequences for the authenticated account. Supports filtering by status (draft, live, paused), search (partial name match), and project (?project=<projectId> \u2014 only sequences assigned to that project). Pagination via per_page and cursor (meta.next_cursor / meta.prev_cursor)."
                    },
                    "response": []
                },
                {
                    "name": "Get Sequence",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/sequences/:sequenceId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sequences",
                                ":sequenceId"
                            ],
                            "variable": [
                                {
                                    "key": "sequenceId",
                                    "value": "1",
                                    "description": "The sequence id"
                                }
                            ]
                        },
                        "description": "Retrieve a single sequence with the full content of every step."
                    },
                    "response": []
                },
                {
                    "name": "Get Sequence Stats",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/sequences/:sequenceId/stats",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sequences",
                                ":sequenceId",
                                "stats"
                            ],
                            "variable": [
                                {
                                    "key": "sequenceId",
                                    "value": "1",
                                    "description": "The sequence id"
                                }
                            ]
                        },
                        "description": "Retrieve sequence-level delivery and engagement stats: contact, unsubscribe and click totals plus aggregate mail metrics across all steps."
                    },
                    "response": []
                },
                {
                    "name": "Get Sequence Step",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/sequences/:sequenceId/steps/:sequenceStepId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sequences",
                                ":sequenceId",
                                "steps",
                                ":sequenceStepId"
                            ],
                            "variable": [
                                {
                                    "key": "sequenceId",
                                    "value": "1",
                                    "description": "The sequence id"
                                },
                                {
                                    "key": "sequenceStepId",
                                    "value": "1",
                                    "description": "The sequence step id"
                                }
                            ]
                        },
                        "description": "Retrieve the full content of a single sequence step."
                    },
                    "response": []
                },
                {
                    "name": "Update Sequence Step Filters",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/sequences/:sequenceId/steps/:sequenceStepId/filters",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sequences",
                                ":sequenceId",
                                "steps",
                                ":sequenceStepId",
                                "filters"
                            ],
                            "variable": [
                                {
                                    "key": "sequenceId",
                                    "value": "1",
                                    "description": "The sequence id"
                                },
                                {
                                    "key": "sequenceStepId",
                                    "value": "1",
                                    "description": "The sequence step id"
                                }
                            ]
                        },
                        "description": "Replace the filters of a single sequence step. A contact who does not match them skips only this email and continues to the next step. Works on draft and live steps. Send an empty filters array to clear them. Returns the updated step.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"filters\": [\n        {\n            \"connector\": \"and\",\n            \"category\": \"tags\",\n            \"mode\": \"any\",\n            \"values\": [\n                \"vip\"\n            ]\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get Sequence Step Stats",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/sequences/:sequenceId/steps/:sequenceStepId/stats",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "sequences",
                                ":sequenceId",
                                "steps",
                                ":sequenceStepId",
                                "stats"
                            ],
                            "variable": [
                                {
                                    "key": "sequenceId",
                                    "value": "1",
                                    "description": "The sequence id"
                                },
                                {
                                    "key": "sequenceStepId",
                                    "value": "1",
                                    "description": "The sequence step id"
                                }
                            ]
                        },
                        "description": "Retrieve delivery and engagement stats for a single sequence step: contacts reached, unsubscribe and click totals plus mail metrics."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Projects",
            "description": "Organize newsletters, sequences, and automations into named projects. Filter newsletters and sequences by project via ?project=<projectId>.",
            "item": [
                {
                    "name": "List Projects",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/projects",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "projects"
                            ]
                        },
                        "description": "Retrieve all projects for the authenticated client. Cursor-paginated (per_page up to 100, cursor for next/previous page; response includes meta.next_cursor / meta.prev_cursor). Each project includes newsletters_count, sequences_count, automations_count, and visual_automations_count."
                    },
                    "response": []
                },
                {
                    "name": "Get Project",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/projects/:projectId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "projects",
                                ":projectId"
                            ],
                            "variable": [
                                {
                                    "key": "projectId",
                                    "value": "1",
                                    "description": "The project id"
                                }
                            ]
                        },
                        "description": "Retrieve a single project by ID, including attached resource counts."
                    },
                    "response": []
                },
                {
                    "name": "Create Project",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/projects",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "projects"
                            ]
                        },
                        "description": "Create a new project. The name must be unique per account (case-insensitive).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Q3 Launch\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update Project",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/projects/:projectId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "projects",
                                ":projectId"
                            ],
                            "variable": [
                                {
                                    "key": "projectId",
                                    "value": "1",
                                    "description": "The project id"
                                }
                            ]
                        },
                        "description": "Rename a project. The name must be unique per account (case-insensitive).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Q3 Product Launch\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete Project",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/projects/:projectId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "projects",
                                ":projectId"
                            ],
                            "variable": [
                                {
                                    "key": "projectId",
                                    "value": "1",
                                    "description": "The project id"
                                }
                            ]
                        },
                        "description": "Delete a project. Attached newsletters, sequences, and automations are detached, not deleted."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Email Identities",
            "description": "Inspect verified sender identities",
            "item": [
                {
                    "name": "List Email Identities",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/email-identities",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "email-identities"
                            ]
                        },
                        "description": "Retrieve all email identities for the authenticated client. Cursor-paginated (per_page up to 100, cursor for next/previous page; response includes meta.next_cursor / meta.prev_cursor). Filter by ?identity_status=verified|pending|failed."
                    },
                    "response": []
                },
                {
                    "name": "Get Email Identity",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/email-identities/:emailIdentityId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "email-identities",
                                ":emailIdentityId"
                            ],
                            "variable": [
                                {
                                    "key": "emailIdentityId",
                                    "value": "1",
                                    "description": "The email identity id"
                                }
                            ]
                        },
                        "description": "Retrieve a single email identity by ID."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Email Templates",
            "description": "Browse saved email templates and the account default",
            "item": [
                {
                    "name": "List Email Templates",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/email-templates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "email-templates"
                            ]
                        },
                        "description": "Retrieve email templates for the authenticated client. Cursor-paginated (per_page up to 100, cursor for next/previous page; response includes meta.next_cursor / meta.prev_cursor). Returns active templates by default; pass ?archived=true for archived templates. Each item exposes is_default and is_system flags."
                    },
                    "response": []
                },
                {
                    "name": "Get Default Template",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/email-templates/default",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "email-templates",
                                "default"
                            ]
                        },
                        "description": "Retrieve the active default email template for the authenticated client. Returns {\"data\": null} when none is set."
                    },
                    "response": []
                },
                {
                    "name": "Get Email Template",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/email-templates/:emailTemplateId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "email-templates",
                                ":emailTemplateId"
                            ],
                            "variable": [
                                {
                                    "key": "emailTemplateId",
                                    "value": "1",
                                    "description": "The email template id"
                                }
                            ]
                        },
                        "description": "Retrieve a single email template by ID."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Email Logs",
            "description": "View SES API request and response logs",
            "item": [
                {
                    "name": "Get All Email Logs",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/email-logs",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "email-logs"
                            ]
                        },
                        "description": "Retrieve a cursor-paginated list of email logs for the authenticated account. Supports filtering by status, operation, recipient. Pagination via per_page and cursor (meta.next_cursor / meta.prev_cursor)."
                    },
                    "response": []
                },
                {
                    "name": "Get Email Log",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/email-logs/:emailLogId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "email-logs",
                                ":emailLogId"
                            ],
                            "variable": [
                                {
                                    "key": "emailLogId",
                                    "value": "1",
                                    "description": "The email log id"
                                }
                            ]
                        },
                        "description": "Retrieve a single email log entry by ID."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Webhook Endpoints",
            "description": "Register HTTPS endpoints that receive signed POST callbacks on subscription, send, and sequence events. Admin-only.",
            "item": [
                {
                    "name": "List Webhook Endpoints",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints"
                            ]
                        },
                        "description": "Retrieve all webhook endpoints for the authenticated client. Cursor-paginated. The signing secret is never returned here."
                    },
                    "response": []
                },
                {
                    "name": "Create Webhook Endpoint",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints"
                            ]
                        },
                        "description": "Create an endpoint. The plaintext signing secret is returned ONCE in this response \u2014 store it to verify the X-Byomailer-Signature header.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"url\": \"https://example.com/webhooks/byomailer\",\n    \"events\": [\n        \"contact.subscribed\",\n        \"newsletter.sent\"\n    ],\n    \"description\": \"CRM sync\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get Webhook Endpoint",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints/:webhookEndpointId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints",
                                ":webhookEndpointId"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpointId",
                                    "value": "1",
                                    "description": "The webhook endpoint id"
                                }
                            ]
                        },
                        "description": "Retrieve a single endpoint (without the secret)."
                    },
                    "response": []
                },
                {
                    "name": "Update Webhook Endpoint",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints/:webhookEndpointId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints",
                                ":webhookEndpointId"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpointId",
                                    "value": "1",
                                    "description": "The webhook endpoint id"
                                }
                            ]
                        },
                        "description": "Update only active and description. URL and events are immutable \u2014 recreate the endpoint to change them.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"active\": false,\n    \"description\": \"Paused for maintenance\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete Webhook Endpoint",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints/:webhookEndpointId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints",
                                ":webhookEndpointId"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpointId",
                                    "value": "1",
                                    "description": "The webhook endpoint id"
                                }
                            ]
                        },
                        "description": "Delete an endpoint and stop all deliveries to it."
                    },
                    "response": []
                },
                {
                    "name": "List Deliveries",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints/:webhookEndpointId/deliveries",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints",
                                ":webhookEndpointId",
                                "deliveries"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpointId",
                                    "value": "1",
                                    "description": "The webhook endpoint id"
                                }
                            ]
                        },
                        "description": "Cursor-paginated delivery log for an endpoint (status, response code, truncated body, attempts)."
                    },
                    "response": []
                },
                {
                    "name": "Send Test Delivery",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints/:webhookEndpointId/test",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints",
                                ":webhookEndpointId",
                                "test"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpointId",
                                    "value": "1",
                                    "description": "The webhook endpoint id"
                                }
                            ]
                        },
                        "description": "Queue a sample test delivery to the endpoint. Rate-limited per client."
                    },
                    "response": []
                },
                {
                    "name": "Regenerate Secret",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json",
                                "type": "text"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json",
                                "type": "text"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/api/v1/webhook-endpoints/:webhookEndpointId/secret",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "api",
                                "v1",
                                "webhook-endpoints",
                                ":webhookEndpointId",
                                "secret"
                            ],
                            "variable": [
                                {
                                    "key": "webhookEndpointId",
                                    "value": "1",
                                    "description": "The webhook endpoint id"
                                }
                            ]
                        },
                        "description": "Rotate the signing secret. The new plaintext secret is returned ONCE; existing receivers fail signature verification until updated."
                    },
                    "response": []
                }
            ]
        }
    ]
}