Get a sign-up page

GET /api/v1/signup-pages/{id} One sign-up page, with its content — this is the call that gives you the HTML the list does not carry.

Authorization

Role in the organizationThis endpoint
OWNERAllowed
ADMINAllowed
MEMBERAllowed
A key carries the role its creator holds in this organization — never a role on AgentsMail itself. See API keys.

Path parameters

ParameterTypeDescription
idstringRequired. The page to read

Example

bash
curl -H "x-api-key: $AGENTMAIL_API_KEY" \
  "https://www.agentsmail.io/api/v1/signup-pages/$SIGNUP_PAGE_ID"

Response

  • 200 OK — the page and its HTML.
  • 401 Unauthorized — missing or invalid key, or its owner left the organization.
  • 404 Not Found — no such page, or it belongs to another organization. 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

FieldTypeDescription
successbooleanIndicates if the operation was successful
data.idstringUnique identifier for the page
data.namestringInternal name, the one only your team sees
data.slugstringLast part of the public address
data.statusstringdraft or published
data.listIdstringThe list that receives the subscribers
data.contentstringThe HTML of the page
data.sourceTemplateNamestring | nullThe theme it was copied from, null for pasted HTML
data.heroTitlestringThe title visitors read
data.heroSubtitlestring | nullThe subtitle, null when unset
data.submitLabelstringLabel of the sign-up button
data.successMessagestringShown after a sign-up when there is no redirect
data.redirectUrlstring | nullWhere the visitor goes after signing up, null for none
data.collectFirstNamebooleanWhether the form asks for a first name
data.collectLastNamebooleanWhether the form asks for a last name
data.createdAtstringISO creation date
data.updatedAtstringISO date of the last change

Example response

json
{
  "success": true,
  "data": {
    "id": "3d3d3d3d-4444-4eee-9fff-000011112222",
    "name": "Newsletter footer",
    "slug": "newsletter",
    "status": "published",
    "listId": "9f8e7d6c-1111-4bbb-8ccc-ddddeeeeffff",
    "content": "<html><body><h1>{{heroTitle}}</h1>{{form}}</body></html>",
    "sourceTemplateName": "Minimal",
    "heroTitle": "Join the list",
    "heroSubtitle": "One email a month, no more.",
    "submitLabel": "Sign me up",
    "successMessage": "Check your inbox.",
    "redirectUrl": null,
    "collectFirstName": true,
    "collectLastName": false,
    "createdAt": "2026-08-01T10:00:00.000Z",
    "updatedAt": "2026-08-02T10:00:00.000Z"
  }
}

Notes

  • The organization is never in the answer. It is the one your key opens, and you already know it.
  • A draft page answers 200 here even though its public address answers a not-found page. The two are different questions.