GET /api/v1/signup-pages/{id}
Une page d'inscription, avec son content — c'est l'appel qui vous donne le HTML que la liste ne transporte pas.
Autorisation
| Rôle dans l'organisation | Cet endpoint |
|---|---|
OWNER | Autorisé |
ADMIN | Autorisé |
MEMBER | Autorisé |
Paramètres de chemin
| Paramètre | Type | Description |
|---|---|---|
id | string | Obligatoire. La page à lire |
Exemple
bash
curl -H "x-api-key: $AGENTMAIL_API_KEY" \
"https://www.agentsmail.io/api/v1/signup-pages/$SIGNUP_PAGE_ID"Réponse
200 OK— la page et son HTML.401 Unauthorized— clé absente ou invalide, ou son propriétaire a quitté l'organisation.404 Not Found— aucune page de ce type, ou elle appartient à une autre organisation. L'API ne confirme jamais qu'un identifiant existe à un appelant qui n'y a pas droit.429 Too Many Requests— la clé a dépassé sa limite de débit.
Champs de la réponse
| Champ | Type | Description |
|---|---|---|
success | boolean | Indique si l'opération a réussi |
data.id | string | Identifiant unique de la page |
data.name | string | Nom interne, celui que seule votre équipe voit |
data.slug | string | Dernière partie de l'adresse publique |
data.status | string | draft ou published |
data.listId | string | La liste qui reçoit les inscrits |
data.content | string | Le HTML de la page |
data.sourceTemplateName | string | null | Le thème dont elle a été copiée, null pour un HTML collé |
data.heroTitle | string | Le titre que lisent les visiteurs |
data.heroSubtitle | string | null | Le sous-titre, null s'il n'est pas défini |
data.submitLabel | string | Libellé du bouton d'inscription |
data.successMessage | string | Affiché après une inscription quand il n'y a pas de redirection |
data.redirectUrl | string | null | Où va le visiteur après s'être inscrit, null pour aucune redirection |
data.collectFirstName | boolean | Si le formulaire demande un prénom |
data.collectLastName | boolean | Si le formulaire demande un nom de famille |
data.createdAt | string | Date de création ISO |
data.updatedAt | string | Date ISO de la dernière modification |
Exemple de réponse
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"
}
}Remarques
- L'organisation ne figure jamais dans la réponse. C'est celle qu'ouvre votre clé, et vous la connaissez déjà.
- Une page
draftrépond200ici, alors même que son adresse publique répond par une page introuvable. Ce sont deux questions différentes.