Temps limité : 30% DE RÉDUCTION sur votre premier paiement.
Retour à la présentation de l'API

Documentation de l'API InboxWarm

Documentation de référence pour l'API REST d'InboxWarm. Utilisez-la conjointement avec la collection Postman de l'API InboxWarm.

URL de base#

https://app.inboxwarm.ai/api/v1

Authentification#

InboxWarm utilise un schéma d'authentification mixte selon la méthode HTTP :

GET

Requêtes GET et DELETE — envoyez votre clé API dans le paramètre de requête api_key.

POST

Requêtes POST et PATCH — envoyez votre clé API dans un champ apiKey à l'intérieur du corps JSON.

Générez et gérez les clés depuis Developer kit > API Integration dans l'application InboxWarm. Chaque clé accorde un accès complet au compte sur l'ensemble des points de terminaison ci-dessous.

Exemple — requête GET :

GET https://app.inboxwarm.ai/api/v1/email-accounts?api_key=YOUR_API_KEY

Exemple — corps d'une requête POST :

{
  "apiKey": "YOUR_API_KEY",
  ...
}

Limites de débit#

La limite par défaut est de 20 requêtes/minute par clé API. Vérifiez l'utilisation actuelle à tout moment via GET /rate-limit — cet appel n'est pas décompté de votre quota.

Erreurs#

Les erreurs suivent une forme cohérente :

{
  "error_code": "validation_error",
  "message": "One or more fields are invalid.",
  "details": {}
}

Valeurs error_code courantes : validation_error (400), not_found (404), conflict (409), unprocessable (422).

Index des points de terminaison#

Système

Vérification de l'état#

GEThttps://app.inboxwarm.ai/api/v1/health

Vérification de base de la disponibilité de l'API.

Auth:paramètre de requêteapi_key

Réponses

{
  "status": "ok"
}

État de la limite de débit#

GEThttps://app.inboxwarm.ai/api/v1/rate-limit

Vérifiez la consommation actuelle de la limite de débit sans décompter une requête de votre quota.

Auth:paramètre de requêteapi_key

Réponses

{
  "limit": 20,
  "remaining": 18,
  "reset": 1752585600
}

Comptes de messagerie

Lister les comptes de messagerie#

GEThttps://app.inboxwarm.ai/api/v1/email-accounts

Lister les comptes de messagerie connectés avec leur statut actuel. Prend en charge la recherche, la pagination et le tri. Utilisez la recherche pour retrouver l'emailAccountId d'une adresse si vous devez un jour le résoudre à nouveau.

Auth:paramètre de requêteapi_key

Paramètres de requête

searchRechercher par adresse e-mail ou nom
statusactive | warming | paused | error | auth-expired
sort
sortBy

Réponses

{
  "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
}

Connecter un compte de messagerie#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts

Connectez un compte Gmail, Microsoft ou SMTP/IMAP à l'aide d'identifiants SMTP/IMAP (un mot de passe d'application fonctionne pour Gmail et Microsoft). Conservez l'emailAccountId renvoyé — tous les autres points de terminaison s'appuient dessus.

Auth:champ du corpsapiKey

Corps de la requête

{
  "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"
  }
}

Réponses

{
  "emailAccountId": "12345",
  "fromEmail": "john@yourcompany.com",
  "fromName": "John Doe",
  "type": "gmail",
  "status": "active"
}

Connecter des comptes de messagerie en masse#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-connect

Connectez jusqu'à 20 comptes en un seul appel. Chaque entrée est validée et connectée indépendamment — un compte invalide ou en doublon n'interrompt pas les autres — et la réponse indique le succès ou l'échec pour chaque compte, dans le même ordre que celui de la requête.

Auth:champ du corpsapiKey

Corps de la requête

{
  "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" }
    }
  ]
}

Réponses

{
  "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": {}
    }
  ]
}

Déconnecter un compte de messagerie#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/disconnect

Mettez un compte en pause sans le supprimer. La configuration et l'historique sont conservés pour une reconnexion ultérieure.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}"
}

Réponses

{
  "emailAccountId": "12345",
  "status": "disconnected"
}

Supprimer un compte de messagerie#

DELETEhttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}

Supprimez définitivement un compte ainsi que toutes les données de préchauffage et l'historique associés.

Auth:paramètre de requêteapi_key

Réponses

Aucun corps de réponse

Supprimer des comptes de messagerie en masse#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-delete

Supprimez définitivement jusqu'à 20 comptes en un seul appel.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ]
}

Réponses

{
  "results": [
    {
      "emailAccountId": "12345",
      "deleted": true
    },
    {
      "emailAccountId": "12346",
      "deleted": true
    }
  ]
}

Obtenir le statut d'un compte de messagerie#

GEThttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/status

Statut détaillé d'un compte unique — santé de la connexion, état du préchauffage, statut d'authentification, erreurs actives.

Auth:paramètre de requêteapi_key

Réponses

{
  "emailAccountId": "12345",
  "fromEmail": "john@yourcompany.com",
  "type": "gmail",
  "authStatus": "connected",
  "warmupStatus": "active",
  "healthScore": 92,
  "connectionError": null,
  "lastConnectedAt": "2026-07-15T08:00:00.000Z"
}

Statut de comptes de messagerie en masse#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-status

Statut de jusqu'à 50 comptes en un seul appel, renvoyé dans le même ordre que les identifiants fournis.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ]
}

Réponses

{
  "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"
    }
  ]
}

Préchauffage

Obtenir les paramètres de préchauffage#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}

Récupérez la configuration de préchauffage actuelle d'un compte.

Auth:paramètre de requêteapi_key

Réponses

{
  "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"]
}

Mettre à jour les paramètres de préchauffage#

PATCHhttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}

Mettez à jour un ou plusieurs paramètres de préchauffage d'un compte — nom de l'expéditeur, fuseau horaire, planning d'envoi, langue, secteur d'activité ou sujets. Seuls les champs que vous envoyez sont modifiés.

Auth:champ du corpsapiKey

Corps de la requête

{
  "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"]
}

Réponses

{
  "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"]
}

Lister les langues de préchauffage#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/languages

Listez toutes les langues dans lesquelles le contenu de préchauffage peut être généré, afin de savoir quelles valeurs warmupLanguage accepte.

Auth:paramètre de requêteapi_key

Réponses

{
  "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" }
  ]
}

Lister les secteurs d'activité de préchauffage#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/industries

Listez tous les secteurs d'activité cibles et leurs sujets suggérés, afin de savoir quelles valeurs targetIndustry et warmupTopics acceptent.

Auth:paramètre de requêteapi_key

Réponses

{
  "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"]
    }
  ]
}

Démarrer le préchauffage#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/start

Démarrez le préchauffage pour un compte.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}"
}

Réponses

{
  "emailAccountId": "12345",
  "warmupStatus": "active"
}

Arrêter le préchauffage#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/stop

Arrêtez le préchauffage pour un compte.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}"
}

Réponses

{
  "emailAccountId": "12345",
  "warmupStatus": "paused"
}

Action de préchauffage en masse#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/bulk-action

Démarrez ou arrêtez le préchauffage pour jusqu'à 50 comptes en un seul appel.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "action": "start"
}

Réponses

{
  "results": [
    {
      "emailAccountId": "12345",
      "status": "ok"
    },
    {
      "emailAccountId": "12346",
      "status": "ok"
    }
  ]
}

Mettre à jour les paramètres de préchauffage en masse#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/bulk-update

Appliquez des paramètres de planning et/ou de contenu à jusqu'à 50 comptes en un seul appel.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "apply": ["language", "window"],
  "warmupLanguage": "es",
  "sendingWindowStartTime": "06:00",
  "sendingWindowEndTime": "10:00"
}

Réponses

{
  "updatedCount": 2
}

Historique de l'activité de préchauffage#

GEThttps://app.inboxwarm.ai/api/v1/warmup-status/{emailAccountId}

Activité de préchauffage du jour pour un compte : envoyés, reçus, répondus, spam, rejetés.

Auth:paramètre de requêteapi_key

Réponses

{
  "emailAccountId": "12345",
  "date": "2026-07-15",
  "current": "active",
  "dailySendingLimit": 10,
  "sent": 12,
  "received": 10,
  "replied": 7,
  "spam": 1,
  "bounced": 0
}

Délivrabilité

Obtenir le score de configuration#

GEThttps://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}

Score de santé de la configuration mis en cache (vérifications DMARC, SPF, DKIM, MX, liste noire) pour un compte.

Auth:paramètre de requêteapi_key

Réponses

{
  "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"
}

Actualiser le score de configuration#

POSThttps://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}/refresh

Recalculez de manière synchrone le score de configuration d'un compte.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}"
}

Réponses

{
  "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"
}

Vérification de l'état DNS#

GEThttps://app.inboxwarm.ai/api/v1/dns-health/{emailAccountId}

Recherche DNS en direct pour le domaine d'envoi du compte — réussite/échec pour SPF, DKIM, DMARC, MX.

Auth:paramètre de requêteapi_key

Réponses

{
  "emailAccountId": "12345",
  "spf": "pass",
  "dkim": "pass",
  "dmarc": "pass",
  "mx": "pass",
  "cachedAt": "2026-07-15T09:00:00.000Z"
}

Obtenir le score de délivrabilité#

POSThttps://app.inboxwarm.ai/api/v1/deliverability-score/{emailAccountId}

Taux de délivrabilité boîte de réception contre spam, global et par ESP, pour une plage de dates.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "startDate": "2026-06-01",
  "endDate": "2026-06-30",
  "esps": [
    "gmail",
    "outlook",
    "other"
  ]
}

Réponses

{
  "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
  }
}

Rapports

Tableau de bord#

GEThttps://app.inboxwarm.ai/api/v1/dashboard

Résumé du préchauffage à l'échelle du compte pour toutes les boîtes de réception connectées.

Auth:paramètre de requêteapi_key

Réponses

{
  "totalAccounts": 42,
  "activeWarmups": 30,
  "pausedWarmups": 8,
  "accountsWithErrors": 2,
  "avgSetupScore": 78.5
}

Rapport pour un compte unique#

POSThttps://app.inboxwarm.ai/api/v1/reports

Rapport de préchauffage quotidien pour un compte sur une plage de dates.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "emailAccountId": "12345",
  "from": "2026-06-01",
  "to": "2026-06-30"
}

Réponses

{
  "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
    }
  ]
}

Rapport en masse#

POSThttps://app.inboxwarm.ai/api/v1/reports/bulk

Rapports de préchauffage quotidiens pour jusqu'à 50 comptes sur une plage de dates.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "from": "2026-06-01",
  "to": "2026-06-30"
}

Réponses

{
  "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
        }
      ]
    }
  ]
}

Exporter le rapport#

POSThttps://app.inboxwarm.ai/api/v1/reports/export

Lancez une exportation CSV asynchrone des rapports de préchauffage, livrée par e-mail une fois prête.

Auth:champ du corpsapiKey

Corps de la requête

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "from": "2026-06-01",
  "to": "2026-06-30"
}

Réponses

{
  "jobId": "a1b2c3d4",
  "status": "queued"
}