GET /api/v1/campaigns
Lista las campañas de tu organización, con el texto de vista previa guardado bajo sus dos nombres compatibles.
Autorización
| Rol en la organización | Este endpoint |
|---|---|
OWNER | Permitido |
ADMIN | Permitido |
MEMBER | Permitido |
Parámetros de consulta
| Parámetro | Tipo | Descripción |
|---|---|---|
status | string | draft, scheduled, paused, sending, sent, failed |
search | string | Coincide con el nombre de la campaña, sin distinguir mayúsculas |
page | number | Por defecto 1 |
limit | number | Por defecto 20, máximo 100 |
Ejemplo
bash
curl -H "x-api-key: $AGENTMAIL_API_KEY" \
"https://www.agentsmail.io/api/v1/campaigns?status=sent&limit=20"Respuesta
200 OK: la llamada tuvo éxito.401 Unauthorized: clave ausente o no válida, o su propietario dejó la organización.429 Too Many Requests: más de 120 solicitudes en un minuto para esta clave.
Campos de la respuesta
data es un array de campañas, con un objeto pagination al lado.
| Campo | Tipo | Descripción |
|---|---|---|
success | boolean | Indica si la operación tuvo éxito |
data | array | Objetos de campaña. |
data[].campaignUrl | string | null | Página de la campaña. |
data[].campaignEditorUrl | string | null | Editor del contenido de un borrador editable. |
data[].campaignStatsUrl | string | null | Estadísticas de una campaña enviada. |
data[].campaignPreviewUrl | string | null | Vista previa interna de una campaña enviada. |
data[].publicCampaignUrl | string | null | Archivo compartible de una campaña enviada con archivos públicos activados. |
data[].id | string | Identificador de la campaña |
data[].name | string | Su nombre interno |
data[].subject | string | El asunto que ven los destinatarios |
data[].previewText | string | null | Texto de vista previa guardado |
data[].preheader | string | null | Alias compatible, igual a data[].previewText |
data[].status | string | draft, scheduled, paused, sending, sent, failed |
data[].listId | string | La lista a la que apunta |
data[].tagId | string | null | Etiqueta opcional que limita el público. |
data[].topicId | string | null | El tema editorial que lleva, si lo hay |
data[].scheduledAt | string \ | null |
data[].sentAt | string \ | null |
data[].createdAt / updatedAt | string | Fechas ISO |
pagination | object | {total, page, limit, totalPages} |
en por defecto). Los enlaces no disponibles son null; todos son null si la organización no tiene slug de URL. Los enlaces internos requieren iniciar sesión y tener acceso a la organización; solo publicCampaignUrl es público. Los agentes API y MCP muestran las URL pertinentes no nulas como enlaces Markdown, por ejemplo [Abrir campaña](campaignUrl) con la URL recibida. Crear o consultar una campaña no la publica.
Ejemplo de respuesta
json
{
"success": true,
"data": [
{
"id": "4d19c0a2",
"name": "Newsletter",
"subject": "August news",
"previewText": "Three new things this month",
"preheader": "Three new things this month",
"status": "sent",
"listId": "0b7c51e8",
"scheduledAt": "2026-08-23T10:22:05.000Z",
"sentAt": "2026-08-23T10:22:05.000Z",
"tagId": null,
"createdAt": "2026-08-23T10:20:05.000Z",
"updatedAt": "2026-08-23T10:22:05.000Z",
"campaignUrl": "https://www.agentsmail.io/es/team/my-team/campaigns/4d19c0a2",
"campaignEditorUrl": null,
"campaignStatsUrl": "https://www.agentsmail.io/es/team/my-team/campaigns/4d19c0a2/stats",
"campaignPreviewUrl": "https://www.agentsmail.io/es/team/my-team/campaigns/4d19c0a2/preview",
"publicCampaignUrl": "https://www.agentsmail.io/es/public/my-team/newsletter"
}
],
"pagination": {
"total": 1,
"page": 1,
"limit": 20,
"totalPages": 1
}
}