Documentación de la API de InboxWarm
Documentación de referencia para la API REST de InboxWarm. Úsala junto con la colección de Postman de la API de InboxWarm.
En esta página
Cuentas de correo electrónico
Calentamiento
Capacidad de entrega
URL base#
https://app.inboxwarm.ai/api/v1Autenticación#
InboxWarm utiliza un esquema de autenticación mixto según el método HTTP:
Solicitudes GET y DELETE — envía tu clave de API como el parámetro de consulta api_key.
Solicitudes POST y PATCH — envía tu clave de API como un campo apiKey dentro del cuerpo JSON.
Genera y administra claves desde Developer kit > API Integration en la aplicación de InboxWarm. Cada clave otorga acceso completo a la cuenta en todos los endpoints que se indican a continuación.
Ejemplo — solicitud GET:
GET https://app.inboxwarm.ai/api/v1/email-accounts?api_key=YOUR_API_KEYEjemplo — cuerpo de una solicitud POST:
{
"apiKey": "YOUR_API_KEY",
...
}Límites de tasa#
GET /rate-limit — esta llamada no cuenta para tu cuota.Errores#
Los errores siguen una estructura coherente:
{
"error_code": "validation_error",
"message": "One or more fields are invalid.",
"details": {}
}Valores comunes de error_code: validation_error (400), not_found (404), conflict (409), unprocessable (422).
Índice de endpoints#
Cuentas de correo electrónico
/email-accountsListar cuentas de correo electrónicoPOST/email-accountsConectar cuenta de correo electrónicoPOST/email-accounts/bulk-connectConectar cuentas de correo electrónico en lotePOST/email-accounts/{emailAccountId}/disconnectDesconectar cuenta de correo electrónicoDELETE/email-accounts/{emailAccountId}Eliminar cuenta de correo electrónicoPOST/email-accounts/bulk-deleteEliminar cuentas de correo electrónico en loteGET/email-accounts/{emailAccountId}/statusObtener estado de cuenta de correo electrónicoPOST/email-accounts/bulk-statusEstado de cuentas de correo electrónico en loteCalentamiento
/warmup-settings/{emailAccountId}Obtener configuración de calentamientoPATCH/warmup-settings/{emailAccountId}Actualizar configuración de calentamientoGET/warmup-settings/languagesListar idiomas de calentamientoGET/warmup-settings/industriesListar industrias de calentamientoPOST/warmup-settings/{emailAccountId}/startIniciar calentamientoPOST/warmup-settings/{emailAccountId}/stopDetener calentamientoPOST/warmup-settings/bulk-actionAcción de calentamiento en lotePOST/warmup-settings/bulk-updateActualización de configuración de calentamiento en loteGET/warmup-status/{emailAccountId}Historial de actividad de calentamientoCapacidad de entrega
Sistema
Comprobación de estado#
https://app.inboxwarm.ai/api/v1/healthComprobación básica de disponibilidad de la API.
api_keyRespuestas
{
"status": "ok"
}Estado del límite de tasa#
https://app.inboxwarm.ai/api/v1/rate-limitConsulta el consumo actual del límite de tasa sin gastar una solicitud de tu cuota.
api_keyRespuestas
{
"limit": 20,
"remaining": 18,
"reset": 1752585600
}Cuentas de correo electrónico
Listar cuentas de correo electrónico#
https://app.inboxwarm.ai/api/v1/email-accountsLista las cuentas de correo electrónico conectadas con su estado actual. Admite búsqueda, paginación y ordenación. Usa la búsqueda para localizar el emailAccountId de una dirección si alguna vez necesitas volver a resolverlo.
api_keyParámetros de consulta
searchBuscar por dirección de correo electrónico o nombrestatusactive | warming | paused | error | auth-expiredsortsortByRespuestas
{
"items": [
{
"id": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "warming",
"createdAt": "2026-06-01T10:00:00.000Z"
},
{
"id": "12346",
"fromEmail": "sales@yourcompany.com",
"fromName": "Sales Team",
"type": "microsoft",
"status": "active",
"createdAt": "2026-06-03T14:20:00.000Z"
}
],
"total": 2,
"page": 1,
"limit": 20,
"totalPages": 1
}Conectar cuenta de correo electrónico#
https://app.inboxwarm.ai/api/v1/email-accountsConecta una cuenta de Gmail, Microsoft o SMTP/IMAP usando credenciales SMTP/IMAP (una contraseña de aplicación funciona para Gmail y Microsoft). Guarda el emailAccountId devuelto — todos los demás endpoints se basan en él.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"smtp": {
"host": "smtp.example.com",
"port": 587,
"password": "your-password",
"encryption": "TLS",
"userName": "smtp-username"
},
"imap": {
"host": "imap.example.com",
"port": 993,
"encryption": "SSL",
"userName": "imap-username"
}
}Respuestas
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "active"
}Conectar cuentas de correo electrónico en lote#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-connectConecta hasta 20 cuentas en una sola llamada. Cada entrada se valida y conecta de forma independiente — una cuenta incorrecta o duplicada no detiene a las demás — y la respuesta informa el éxito o el fallo de cada cuenta, en el mismo orden que la entrada.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccounts": [
{
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"smtp": { "host": "smtp.example.com", "port": 587, "password": "your-password", "encryption": "TLS", "userName": "smtp-username" },
"imap": { "host": "imap.example.com", "port": 993, "encryption": "SSL", "userName": "imap-username" }
},
{
"fromEmail": "sales@yourcompany.com",
"type": "microsoft",
"smtp": { "password": "app-specific-password" }
}
]
}Respuestas
{
"results": [
{
"success": true,
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "active"
},
{
"success": false,
"fromEmail": "sales@yourcompany.com",
"error_code": "already_connected",
"message": "This email address is already connected.",
"details": {}
}
]
}Desconectar cuenta de correo electrónico#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/disconnectPausa una cuenta sin eliminarla. La configuración y el historial se conservan para reconectar más adelante.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}"
}Respuestas
{
"emailAccountId": "12345",
"status": "disconnected"
}Eliminar cuenta de correo electrónico#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}Elimina permanentemente una cuenta y todos los datos e historial de calentamiento asociados.
api_keyRespuestas
Sin cuerpo de respuesta
Eliminar cuentas de correo electrónico en lote#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-deleteElimina permanentemente hasta 20 cuentas en una sola llamada.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
]
}Respuestas
{
"results": [
{
"emailAccountId": "12345",
"deleted": true
},
{
"emailAccountId": "12346",
"deleted": true
}
]
}Obtener estado de cuenta de correo electrónico#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/statusEstado detallado de una sola cuenta — salud de la conexión, estado del calentamiento, estado de autenticación, errores activos.
api_keyRespuestas
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"type": "gmail",
"authStatus": "connected",
"warmupStatus": "active",
"healthScore": 92,
"connectionError": null,
"lastConnectedAt": "2026-07-15T08:00:00.000Z"
}Estado de cuentas de correo electrónico en lote#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-statusEstado de hasta 50 cuentas en una sola llamada, devuelto en el mismo orden que los ID de entrada.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
]
}Respuestas
{
"results": [
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"type": "gmail",
"authStatus": "connected",
"warmupStatus": "active",
"healthScore": 92,
"connectionError": null,
"lastConnectedAt": "2026-07-15T08:00:00.000Z"
},
{
"emailAccountId": "12346",
"fromEmail": "sales@yourcompany.com",
"type": "microsoft",
"authStatus": "connected",
"warmupStatus": "paused",
"healthScore": 81,
"connectionError": null,
"lastConnectedAt": "2026-07-14T22:10:00.000Z"
}
]
}Calentamiento
Obtener configuración de calentamiento#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}Obtén la configuración de calentamiento actual de una cuenta.
api_keyRespuestas
{
"emailAccountId": "12345",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}Actualizar configuración de calentamiento#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}Actualiza una o más configuraciones de calentamiento de una cuenta: nombre del remitente, zona horaria, horario de envío, idioma, industria o temas. Solo se modifican los campos que envíes.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}Respuestas
{
"emailAccountId": "12345",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}Listar idiomas de calentamiento#
https://app.inboxwarm.ai/api/v1/warmup-settings/languagesLista todos los idiomas en los que se puede generar contenido de calentamiento, para que sepas qué valores acepta warmupLanguage.
api_keyRespuestas
{
"languages": [
{ "code": "en", "name": "English", "nativeName": "English", "script": "Latin" },
{ "code": "es", "name": "Spanish", "nativeName": "Español", "script": "Latin" },
{ "code": "ja", "name": "Japanese", "nativeName": "日本語", "script": "Japanese" }
]
}Listar industrias de calentamiento#
https://app.inboxwarm.ai/api/v1/warmup-settings/industriesLista todas las industrias objetivo y sus temas sugeridos, para que sepas qué valores aceptan targetIndustry y warmupTopics.
api_keyRespuestas
{
"industries": [
{
"key": "e_commerce",
"name": "E-Commerce",
"topics": [
"Abandoned cart follow-up",
"New product launch",
"Seasonal sale announcement",
"Order and shipping update",
"Customer review request"
]
},
{
"key": "saas_software",
"name": "SaaS / Software",
"topics": ["Feature announcement", "Onboarding tip", "Case study"]
}
]
}Iniciar calentamiento#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/startInicia el calentamiento de una cuenta.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}"
}Respuestas
{
"emailAccountId": "12345",
"warmupStatus": "active"
}Detener calentamiento#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/stopDetiene el calentamiento de una cuenta.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}"
}Respuestas
{
"emailAccountId": "12345",
"warmupStatus": "paused"
}Acción de calentamiento en lote#
https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-actionInicia o detiene el calentamiento de hasta 50 cuentas en una sola llamada.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"action": "start"
}Respuestas
{
"results": [
{
"emailAccountId": "12345",
"status": "ok"
},
{
"emailAccountId": "12346",
"status": "ok"
}
]
}Actualización de configuración de calentamiento en lote#
https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-updateAplica la configuración de horario y/o contenido a hasta 50 cuentas en una sola llamada.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"apply": ["language", "window"],
"warmupLanguage": "es",
"sendingWindowStartTime": "06:00",
"sendingWindowEndTime": "10:00"
}Respuestas
{
"updatedCount": 2
}Historial de actividad de calentamiento#
https://app.inboxwarm.ai/api/v1/warmup-status/{emailAccountId}Actividad de calentamiento de hoy para una cuenta: enviados, recibidos, respondidos, spam, rebotados.
api_keyRespuestas
{
"emailAccountId": "12345",
"date": "2026-07-15",
"current": "active",
"dailySendingLimit": 10,
"sent": 12,
"received": 10,
"replied": 7,
"spam": 1,
"bounced": 0
}Capacidad de entrega
Obtener puntuación de configuración#
https://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}Puntuación de salud de configuración en caché (comprobaciones de DMARC, SPF, DKIM, MX, lista negra) para una cuenta.
api_keyRespuestas
{
"emailAccountId": "12345",
"emailAccountScore": 86,
"dmarcScore": 15,
"spfScore": 29,
"dkimScore": 18,
"mxRecordScore": 9,
"ipBlacklistScore": 5,
"domainBlacklistScore": 10,
"updatedAt": "2026-07-14T10:30:00.000Z",
"manualLastRefreshedAt": "2026-07-14T10:30:00.000Z"
}Actualizar puntuación de configuración#
https://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}/refreshRecalcula de forma sincrónica la puntuación de configuración de una cuenta.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}"
}Respuestas
{
"emailAccountId": "12345",
"emailAccountScore": 88,
"dmarcScore": 15,
"spfScore": 29,
"dkimScore": 18,
"mxRecordScore": 9,
"ipBlacklistScore": 7,
"domainBlacklistScore": 10,
"updatedAt": "2026-07-15T09:00:00.000Z",
"manualLastRefreshedAt": "2026-07-15T09:00:00.000Z"
}Comprobación de estado de DNS#
https://app.inboxwarm.ai/api/v1/dns-health/{emailAccountId}Búsqueda de DNS en vivo para el dominio de envío de la cuenta — aprobado/fallido para SPF, DKIM, DMARC, MX.
api_keyRespuestas
{
"emailAccountId": "12345",
"spf": "pass",
"dkim": "pass",
"dmarc": "pass",
"mx": "pass",
"cachedAt": "2026-07-15T09:00:00.000Z"
}Obtener puntuación de capacidad de entrega#
https://app.inboxwarm.ai/api/v1/deliverability-score/{emailAccountId}Tasa de capacidad de entrega general y por ESP de bandeja de entrada frente a spam para un rango de fechas.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"startDate": "2026-06-01",
"endDate": "2026-06-30",
"esps": [
"gmail",
"outlook",
"other"
]
}Respuestas
{
"emailAccountId": "12345",
"totalDeliverabilityRate": 88,
"totalSentCount": 1500,
"totalInboxCount": 1320,
"totalSpamInboxCount": 180,
"gmail": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
},
"outlook": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
},
"other": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
}
}Informes
Panel#
https://app.inboxwarm.ai/api/v1/dashboardResumen de calentamiento de toda la cuenta en todas las bandejas de entrada conectadas.
api_keyRespuestas
{
"totalAccounts": 42,
"activeWarmups": 30,
"pausedWarmups": 8,
"accountsWithErrors": 2,
"avgSetupScore": 78.5
}Informe de una sola cuenta#
https://app.inboxwarm.ai/api/v1/reportsInforme diario de calentamiento para una cuenta durante un rango de fechas.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30"
}Respuestas
{
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30",
"days": [
{
"date": "2026-06-15",
"sent": 25,
"inbox": 20,
"received": 22,
"spam": 3,
"bounced": 1,
"undelivered": 0,
"replied": 5,
"deliverabilityRate": 92.5
}
]
}Informe en lote#
https://app.inboxwarm.ai/api/v1/reports/bulkInformes diarios de calentamiento para hasta 50 cuentas durante un rango de fechas.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"from": "2026-06-01",
"to": "2026-06-30"
}Respuestas
{
"reports": [
{
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30",
"days": [
{
"date": "2026-06-15",
"sent": 25,
"inbox": 20,
"received": 22,
"spam": 3,
"bounced": 1,
"undelivered": 0,
"replied": 5,
"deliverabilityRate": 92.5
}
]
}
]
}Exportar informe#
https://app.inboxwarm.ai/api/v1/reports/exportInicia una exportación asíncrona en CSV de los informes de calentamiento, entregada por correo electrónico cuando esté lista.
apiKeyCuerpo de la solicitud
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"from": "2026-06-01",
"to": "2026-06-30"
}Respuestas
{
"jobId": "a1b2c3d4",
"status": "queued"
}