GET /api/v1/signup-pages
Toutes les pages d'inscription de l'organisation, les plus récentes d'abord. C'est d'ici que vient l'id qu'exigent les autres appels sur les pages d'inscription.
Les lignes ne portent aucun HTML : le document d'une page pèse quelques kilo-octets, et vingt d'entre eux voyageraient pour rien. Demandez les pages une par une pour lire leur content.
Autorisation
| Rôle dans l'organisation | Cet endpoint |
|---|---|
OWNER | Autorisé |
ADMIN | Autorisé |
MEMBER | Autorisé |
Paramètres de requête
| Paramètre | Type | Description |
|---|---|---|
page | number | Numéro de page, 1 par défaut |
limit | number | Lignes par page, 20 par défaut, 100 au maximum |
search | string | Recherche dans le nom interne et dans le slug |
status | string | draft ou published. Toute autre valeur répond 400 |
listId | string | Uniquement les pages qui alimentent cette liste |
Exemple
bash
curl -H "x-api-key: $AGENTMAIL_API_KEY" \
"https://www.agentsmail.io/api/v1/signup-pages?status=published&limit=50"Réponse
200 OK— les pages de l'organisation. Une organisation qui n'en a aucune répond par un tableau vide.400 Bad Request—statusn'est nidraftnipublished. Tout renvoyer laisserait croire qu'aucune page ne porte le statut demandé.401 Unauthorized— clé absente ou invalide, ou son propriétaire a quitté l'organisation.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 | array | Les pages d'inscription |
data[].id | string | Identifiant unique — c'est l'identifiant que prend tout autre appel sur une page |
data[].name | string | Nom interne, celui que seule votre équipe voit |
data[].slug | string | La dernière partie de l'adresse publique |
data[].status | string | draft ou published |
data[].listId | string | La liste qui reçoit les inscrits |
data[].listName | string | Le nom de cette liste, pour vous éviter de la lire séparément |
data[].sourceTemplateName | string | null | Le thème dont la page a été copiée, null pour un HTML collé |
data[].createdAt | string | Date de création ISO |
data[].updatedAt | string | Date ISO de la dernière modification |
pagination.total | number | Nombre total de pages correspondant aux filtres |
pagination.page | number | Numéro de la page de résultats courante |
pagination.limit | number | Lignes par page |
pagination.totalPages | number | Nombre de pages de résultats |
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",
"listName": "Subscribers",
"sourceTemplateName": "Minimal",
"createdAt": "2026-08-01T10:00:00.000Z",
"updatedAt": "2026-08-02T10:00:00.000Z"
}
],
"pagination": {"total": 1, "page": 1, "limit": 20, "totalPages": 1}
}Remarques
contentne figure pas dans les lignes. Lisez une page seule pour obtenir son HTML.- Un
listIdappartenant à une autre organisation ne correspond simplement à rien : le filtre ne franchit jamais la frontière de l'organisation.