DELETE /api/v1/signup-pages/{id}
Removes a sign-up page. Its public address stops answering right away.
There is no undo, and the address is not reserved. Deleting frees the
slug: any link you
published to it is dead, and a new page could take the same address later. Set status to draft
instead if you only want the page off the air.Authorization
| Role in the organization | This endpoint |
|---|---|
OWNER | Allowed |
ADMIN | Allowed |
MEMBER | Refused — 403 |
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Required. The page to delete |
Example
bash
curl -X DELETE -H "x-api-key: $AGENTMAIL_API_KEY" \
"https://www.agentsmail.io/api/v1/signup-pages/$SIGNUP_PAGE_ID"Response
200 OK— the id of what was removed.401 Unauthorized— missing or invalid key, or its owner left the organization.403 Forbidden— the key's owner is amemberof the organization, not anadmin.404 Not Found— no such page, or it belongs to another organization. Nothing was deleted, and the API never confirms that an id exists to a caller who has no right to it.429 Too Many Requests— the key is over its rate limit.
Response fields
| Field | Type | Description |
|---|---|---|
success | boolean | Indicates if the operation was successful |
data.id | string | Identifier of what was removed |
Example response
json
{
"success": true,
"data": {
"id": "3d3d3d3d-4444-4eee-9fff-000011112222"
}
}Agent recipe
Take the page off the air first, look at what it was feeding, and only then delete — an unpublish is reversible, this call is not:js
await patch(`/api/v1/signup-pages/${pageId}`, {status: 'draft'})
const page = (await get(`/api/v1/signup-pages/${pageId}`)).data
// page.listId keeps the subscribers: nothing here removes a contact
await del(`/api/v1/signup-pages/${pageId}`)Notes
- The contacts stay. They belong to the list, not to the page that collected them, and they keep their own unsubscribe link.
- Deleting a page that was already a draft changes nothing visible to anyone: it was answering a not-found page already.