期間限定:初回支払いが30% オフ。
API概要に戻る

InboxWarm APIドキュメント

InboxWarmのREST APIのリファレンスドキュメントです。InboxWarm APIのPostmanコレクションと併せてご利用ください。

ベースURL#

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

認証#

InboxWarmは、HTTPメソッドに応じて異なる認証方式を組み合わせて使用します。

GET

GETおよびDELETEリクエスト — APIキーをapi_keyクエリパラメータとして送信します。

POST

POSTおよびPATCHリクエスト — APIキーをJSONボディ内のapiKeyフィールドとして送信します。

キーの生成と管理は、InboxWarmアプリのDeveloper kit > API Integrationから行います。各キーは、以下のすべてのエンドポイントにわたってアカウントへのフルアクセスを付与します。

例 — GETリクエスト:

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

例 — POSTリクエストボディ:

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

レート制限#

デフォルトの制限は、APIキーごとに20リクエスト/分です。現在の使用状況はGET /rate-limitでいつでも確認できます。この呼び出しはクォータには計上されません。

エラー#

エラーは一貫した形式に従います。

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

一般的なerror_codeの値: validation_error (400)、not_found (404)、conflict (409)、unprocessable (422)。

エンドポイント一覧#

システム

ヘルスチェック#

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

APIの基本的な稼働確認を行います。

認証:クエリパラメータapi_key

レスポンス

{
  "status": "ok"
}

レート制限ステータス#

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

クォータに対するリクエストを消費せずに、現在のレート制限の消費状況を確認します。

認証:クエリパラメータapi_key

レスポンス

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

メールアカウント

メールアカウント一覧#

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

接続済みのメールアカウントを現在のステータスとともに一覧表示します。検索、ページネーション、並べ替えに対応しています。アドレスのemailAccountIdを再解決する必要がある場合は、検索を使用して照会してください。

認証:クエリパラメータapi_key

クエリパラメータ

searchメールアドレスまたは名前で検索
statusactive | warming | paused | error | auth-expired
sort
sortBy

レスポンス

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

メールアカウントを接続#

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

Gmail、Microsoft、またはSMTP/IMAPアカウントを、SMTP/IMAP認証情報を使用して接続します(Gmail・Microsoftともにアプリパスワードが利用できます)。返されたemailAccountIdを保存してください。他のすべてのエンドポイントはこれをキーとして使用します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

メールアカウントを一括接続#

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

一度の呼び出しで最大20件のアカウントを接続します。各エントリは個別に検証・接続されるため、1件の不正なアカウントや重複アカウントがあっても他の処理には影響しません。レスポンスでは、入力と同じ順序でアカウントごとの成功・失敗が報告されます。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

メールアカウントを切断#

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

アカウントを削除せずに一時停止します。後で再接続できるように、設定と履歴は保持されます。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

メールアカウントを削除#

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

アカウントと、関連するすべてのウォームアップデータおよび履歴を完全に削除します。

認証:クエリパラメータapi_key

レスポンス

レスポンス本文なし

メールアカウントを一括削除#

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

1回の呼び出しで最大20件のアカウントを完全に削除します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

メールアカウントのステータスを取得#

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

単一アカウントの詳細なステータス — 接続の健全性、ウォームアップの状態、認証ステータス、アクティブなエラー。

認証:クエリパラメータapi_key

レスポンス

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

メールアカウントのステータスを一括取得#

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

1回の呼び出しで最大50件のアカウントのステータスを、入力したIDと同じ順序で返します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

ウォームアップ

ウォームアップ設定を取得#

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

アカウントの現在のウォームアップ設定を取得します。

認証:クエリパラメータapi_key

レスポンス

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

ウォームアップ設定を更新#

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

アカウントの1つまたは複数のウォームアップ設定を更新します — 送信者名、タイムゾーン、送信スケジュール、言語、業種、トピックなど。送信したフィールドのみが変更されます。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

ウォームアップ言語一覧#

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

ウォームアップコンテンツを生成できるすべての言語を一覧表示します。warmupLanguageに指定できる値を確認できます。

認証:クエリパラメータapi_key

レスポンス

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

ウォームアップ業種一覧#

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

すべての対象業種と、それぞれの推奨トピックを一覧表示します。targetIndustryおよびwarmupTopicsに指定できる値を確認できます。

認証:クエリパラメータapi_key

レスポンス

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

ウォームアップを開始#

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

アカウントのウォームアップを開始します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

ウォームアップを停止#

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

アカウントのウォームアップを停止します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

ウォームアップの一括操作#

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

1回の呼び出しで最大50件のアカウントのウォームアップを開始または停止します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

ウォームアップ設定を一括更新#

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

1回の呼び出しで最大50件のアカウントにスケジュールおよび/またはコンテンツ設定を適用します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

{
  "updatedCount": 2
}

ウォームアップアクティビティ履歴#

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

アカウントの本日のウォームアップアクティビティ: 送信、受信、返信、スパム、バウンス。

認証:クエリパラメータapi_key

レスポンス

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

到達率

セットアップスコアを取得#

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

アカウントのキャッシュされたセットアップの健全性スコア(DMARC、SPF、DKIM、MX、ブラックリストのチェック)。

認証:クエリパラメータapi_key

レスポンス

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

セットアップスコアを更新#

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

アカウントのセットアップスコアを同期的に再計算します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

DNSヘルスチェック#

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

アカウントの送信ドメインに対するライブDNSルックアップ — SPF、DKIM、DMARC、MXの合否。

認証:クエリパラメータapi_key

レスポンス

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

到達率スコアを取得#

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

指定した期間の全体およびESPごとの受信トレイ対スパムの到達率。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

レポート

ダッシュボード#

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

接続済みのすべての受信トレイにわたるアカウント全体のウォームアップサマリー。

認証:クエリパラメータapi_key

レスポンス

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

単一アカウントレポート#

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

指定した期間における1つのアカウントの日次ウォームアップレポート。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

一括レポート#

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

指定した期間における最大50件のアカウントの日次ウォームアップレポート。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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

レポートをエクスポート#

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

ウォームアップレポートの非同期CSVエクスポートを開始し、準備ができ次第メールで配信します。

認証:ボディフィールドapiKey

リクエストボディ

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

レスポンス

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