{"info":{"_postman_id":"be3a825f-6431-4d61-87a0-d37498316e0e","name":"InboxWarm API","description":"<html><head></head><body><p>Welcome to the <strong>InboxWarm API</strong>! This collection contains all the endpoints you need to manage email accounts, warmup settings, deliverability, and reports programmatically.</p>\n<hr>\n<h2 id=\"getting-your-api-key\">Getting Your API Key</h2>\n<p>Follow these steps to generate your API key and start making requests:</p>\n<h3 id=\"1-sign-up-or-log-in\">1. Sign Up or Log In</h3>\n<p>Head over to <a href=\"https://inboxwarm.ai\">inboxwarm.ai</a> and sign up for an account, or log in if you already have one.</p>\n<h3 id=\"2-navigate-to-the-developer-kit\">2. Navigate to the Developer Kit</h3>\n<p>Once you're in the dashboard, find and click on the <strong>Developer Kit</strong> page in the navigation menu.</p>\n<h3 id=\"3-generate--manage-your-api-key\">3. Generate &amp; Manage Your API Key</h3>\n<p>On the Developer Kit page, you can <strong>generate your API key</strong> and manage it (rotate, revoke, etc.) as needed.</p>\n<h3 id=\"4-use-your-api-key-in-postman\">4. Use Your API Key in Postman</h3>\n<p>Once you have your API key, you can use it in this collection in one of the following ways:</p>\n<ul>\n<li><p><strong>Recommended:</strong> Set it as the <code>apiKey</code> collection variable — open the collection, go to the <strong>Variables</strong> tab, and paste your key as the value for <code>apiKey</code>.</p>\n</li>\n<li><p><strong>Bearer Token:</strong> Add it as a Bearer token in the <strong>Authorization</strong> tab of any request.</p>\n</li>\n<li><p><strong>Header:</strong> Pass it directly as a header (e.g., <code>Authorization: Bearer</code> ).</p>\n</li>\n</ul>\n<hr>\n<blockquote>\n<p>💡 <strong>Tip:</strong> Using the <code>apiKey</code> collection variable means you only need to set your key once and it will apply to all requests in this collection automatically.</p>\n</blockquote>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"56641529","collectionId":"be3a825f-6431-4d61-87a0-d37498316e0e","publishedId":"2sBY4SKxit","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"345489","highlight":"345489"},"publishDate":"2026-07-28T11:22:52.000Z"},"item":[{"name":"System","item":[{"name":"Health Check","event":[{"listen":"test","script":{"id":"866bb621-2cc7-4825-804f-d249b76dc777","exec":["pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    pm.expect(json).to.have.any.keys('status');","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"cbc1f013-6e27-4e6d-b155-f7fb5e08895e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/health","description":"<p>Basic liveness check for the API.</p>\n","urlObject":{"path":["health"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"b8e31baa-775c-4eba-9c25-8709e6b92e45","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/health","description":"Basic liveness check for the API."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"ok\"\n}"}],"_postman_id":"cbc1f013-6e27-4e6d-b155-f7fb5e08895e"},{"name":"Rate Limit Status","event":[{"listen":"test","script":{"id":"757c2770-4aaf-47f9-a2b5-a6bc64a56550","exec":["pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    pm.expect(json).to.have.any.keys('limit', 'remaining', 'reset');","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"6633cb49-8431-4a4b-9310-f0641ddc8324","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/rate-limit","description":"<p>Check current rate-limit consumption without using up a request against your quota.</p>\n","urlObject":{"path":["rate-limit"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"393f1242-17a7-4cd4-ac96-cebe29a6f5d7","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/rate-limit","description":"Check current rate-limit consumption without using up a request against your quota."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"limit\": 20,\n  \"remaining\": 18,\n  \"reset\": 1752585600\n}"}],"_postman_id":"6633cb49-8431-4a4b-9310-f0641ddc8324"}],"id":"c65232f5-febb-4ff1-a64e-54f11c143feb","description":"<p>Contains system-level utility endpoints for monitoring and managing the API's operational status.</p>\n<ul>\n<li><strong>Health Check</strong> (<code>GET /health</code>) — Verifies that the API is up and running. Use this endpoint to confirm service availability before making other requests.</li>\n<li><strong>Rate Limit Status</strong> (<code>GET /rate-limit</code>) — Returns the current rate limit usage for the authenticated client. Use this to track how many requests remain within the current window and avoid hitting throttling limits.</li>\n</ul>\n","event":[{"listen":"prerequest","script":{"id":"af6c08ee-f6ff-4309-a6f7-096f15f24e14","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"54142de7-5cc6-41e0-a0ad-4e5b9d252965","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"_postman_id":"c65232f5-febb-4ff1-a64e-54f11c143feb"},{"name":"Email Accounts","item":[{"name":"List Email Accounts","event":[{"listen":"test","script":{"id":"a63c9c8d-22e8-439d-9b82-04f9e1c081b6","exec":["pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    pm.expect(json).to.have.any.keys('items', 'total', 'page', 'limit', 'totalPages');","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"35bd02c6-2d40-405d-a67d-bcbc682b8b0f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/email-accounts","description":"<p>List connected email accounts with their current status. Supports search, pagination, and sorting. Use <code>search</code> to look up the emailAccountId for an address if you ever need to re-resolve it.</p>\n","urlObject":{"path":["email-accounts"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[{"disabled":true,"description":{"content":"<p>Search by email address or name</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>active | warming | paused | error | auth-expired</p>\n","type":"text/plain"},"key":"status","value":"warming"},{"disabled":true,"key":"sort","value":"createdAt"},{"disabled":true,"key":"sortBy","value":"DESC"}],"variable":[]}},"response":[{"id":"a136660e-f42c-43ed-a894-03d9591bfd79","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":{"raw":"https://app.inboxwarm.ai/api/v1/email-accounts","host":["https://app.inboxwarm.ai/api/v1"],"path":["email-accounts"],"query":[{"key":"search","value":"","description":"Search by email address or name","disabled":true},{"key":"status","value":"warming","description":"active | warming | paused | error | auth-expired","disabled":true},{"key":"sort","value":"createdAt","disabled":true},{"key":"sortBy","value":"DESC","disabled":true}]},"description":"List connected email accounts with their current status. Supports search, pagination, and sorting. Use `search` to look up the emailAccountId for an address if you ever need to re-resolve it."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"items\": [\\n    {\\n      \"id\": 10001,\\n      \"fromEmail\": \"user@example.com\",\\n      \"fromName\": \"John Doe\",\\n      \"type\": \"gmail\",\\n      \"status\": \"warming\",\\n      \"createdAt\": \"2026-06-01T10:00:00.000Z\"\\n    },\\n    {\\n      \"id\": 10002,\\n      \"fromEmail\": \"test@example.com\",\\n      \"fromName\": \"Sales Team\",\\n      \"type\": \"microsoft\",\\n      \"status\": \"active\",\\n      \"createdAt\": \"2026-06-03T14:20:00.000Z\"\\n    }\\n  ],\\n  \"total\": 2,\\n  \"page\": 1,\\n  \"limit\": 20,\\n  \"totalPages\": 1\\n}"}],"_postman_id":"35bd02c6-2d40-405d-a67d-bcbc682b8b0f"},{"name":"Connect Email Account","event":[{"listen":"test","script":{"id":"710da925-2289-411b-b8ae-a4348b8a6638","exec":["pm.test('Status code is 201, 400, or 409', function () {","    pm.expect(pm.response.code).to.be.oneOf([201, 400, 409]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    pm.expect(json).to.be.an('object');","    if (pm.response.code === 201) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'fromEmail', 'fromName', 'type', 'status');","    } else if (pm.response.code === 400 || pm.response.code === 409) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"a2a90421-2e41-4750-bdb8-50510379883c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"fromEmail\": \"user@example.com\",\n  \"fromName\": \"John Doe\",\n  \"type\": \"gmail\",\n  \"smtp\": {\n    \"host\": \"smtp.gmail.com\",\n    \"port\": 587,\n    \"encryption\": \"TLS\",\n    \"userName\": \"user@example.com\",\n    \"password\": \"your_app_password\"\n  },\n  \"imap\": {\n    \"host\": \"imap.gmail.com\",\n    \"port\": 993,\n    \"encryption\": \"SSL\",\n    \"userName\": \"user@example.com\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts","description":"<p>Connect a Gmail, Microsoft, or SMTP/IMAP account using OAuth tokens (or SMTP/IMAP credentials) you already obtained. Store the returned emailAccountId — every other endpoint is keyed off it.</p>\n","urlObject":{"path":["email-accounts"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"498d5782-0a86-4926-b09e-b3f08c48a14d","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"fromEmail\": \"user@example.com\",\n  \"fromName\": \"John Doe\",\n  \"type\": \"gmail\",\n  \"accessToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"refreshToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"expiresIn\": 3599,\n  \"emailServiceProvider\": \"gmail\",\n  \"smtp\": {\n    \"host\": \"smtp.example.com\",\n    \"port\": 587,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"TLS\",\n    \"userName\": \"smtp-username\"\n  },\n  \"imap\": {\n    \"host\": \"imap.example.com\",\n    \"port\": 993,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"SSL\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"fromEmail\": \"user@example.com\",\\n  \"fromName\": \"John Doe\",\\n  \"type\": \"gmail\",\\n  \"status\": \"active\"\\n}"},{"id":"3863ddf4-3b4d-42a7-917e-1f27da33b5ab","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"fromEmail\": \"user@example.com\",\n  \"fromName\": \"John Doe\",\n  \"type\": \"gmail\",\n  \"accessToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"refreshToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"expiresIn\": 3599,\n  \"emailServiceProvider\": \"gmail\",\n  \"smtp\": {\n    \"host\": \"smtp.example.com\",\n    \"port\": 587,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"TLS\",\n    \"userName\": \"smtp-username\"\n  },\n  \"imap\": {\n    \"host\": \"imap.example.com\",\n    \"port\": 993,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"SSL\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"},{"id":"dbe2526f-3391-4ef7-b550-bdea7cb32416","name":"409 Conflict","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"fromEmail\": \"user@example.com\",\n  \"fromName\": \"John Doe\",\n  \"type\": \"gmail\",\n  \"accessToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"refreshToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"expiresIn\": 3599,\n  \"emailServiceProvider\": \"gmail\",\n  \"smtp\": {\n    \"host\": \"smtp.example.com\",\n    \"port\": 587,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"TLS\",\n    \"userName\": \"smtp-username\"\n  },\n  \"imap\": {\n    \"host\": \"imap.example.com\",\n    \"port\": 993,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"SSL\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"already_connected\",\n  \"message\": \"This email address is already connected.\",\n  \"details\": {}\n}"}],"_postman_id":"a2a90421-2e41-4750-bdb8-50510379883c"},{"name":"Bulk Connect Email Account","event":[{"listen":"test","script":{"id":"710da925-2289-411b-b8ae-a4348b8a6638","exec":["pm.test('Status code is 201, 400, or 409', function () {","    pm.expect(pm.response.code).to.be.oneOf([201, 400, 409]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    pm.expect(json).to.be.an('object');","    if (pm.response.code === 201) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'fromEmail', 'fromName', 'type', 'status');","    } else if (pm.response.code === 400 || pm.response.code === 409) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"b6fe6266-4a76-4e8f-8f74-4109281e62d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccounts\": [\n    {\n      \"fromEmail\": \"john@yourcompany.com\",\n      \"fromName\": \"John Doe\",\n      \"type\": \"gmail\",\n      \"smtp\": { \"host\": \"smtp.example.com\", \"port\": 587, \"password\": \"your-password\", \"encryption\": \"TLS\", \"userName\": \"smtp-username\" },\n      \"imap\": { \"host\": \"imap.example.com\", \"port\": 993, \"encryption\": \"SSL\", \"userName\": \"imap-username\" }\n    },\n    {\n      \"fromEmail\": \"sales@yourcompany.com\",\n      \"type\": \"microsoft\",\n      \"smtp\": { \"password\": \"app-specific-password\" }\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/bulk-connect","description":"<p>Connect a Gmail, Microsoft, or SMTP/IMAP account using OAuth tokens (or SMTP/IMAP credentials) you already obtained. Store the returned emailAccountId — every other endpoint is keyed off it.</p>\n","urlObject":{"path":["email-accounts","bulk-connect"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"14472f71-9302-4cd4-94f7-8c268dd90326","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"fromEmail\": \"user@example.com\",\n  \"fromName\": \"John Doe\",\n  \"type\": \"gmail\",\n  \"accessToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"refreshToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"expiresIn\": 3599,\n  \"emailServiceProvider\": \"gmail\",\n  \"smtp\": {\n    \"host\": \"smtp.example.com\",\n    \"port\": 587,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"TLS\",\n    \"userName\": \"smtp-username\"\n  },\n  \"imap\": {\n    \"host\": \"imap.example.com\",\n    \"port\": 993,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"SSL\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"fromEmail\": \"user@example.com\",\\n  \"fromName\": \"John Doe\",\\n  \"type\": \"gmail\",\\n  \"status\": \"active\"\\n}"},{"id":"4820847e-4834-4228-a1e4-3b80e5383f9e","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"fromEmail\": \"user@example.com\",\n  \"fromName\": \"John Doe\",\n  \"type\": \"gmail\",\n  \"accessToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"refreshToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"expiresIn\": 3599,\n  \"emailServiceProvider\": \"gmail\",\n  \"smtp\": {\n    \"host\": \"smtp.example.com\",\n    \"port\": 587,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"TLS\",\n    \"userName\": \"smtp-username\"\n  },\n  \"imap\": {\n    \"host\": \"imap.example.com\",\n    \"port\": 993,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"SSL\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"},{"id":"e2f29fbc-70b1-4ddd-9d39-fc679a51b076","name":"409 Conflict","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"fromEmail\": \"user@example.com\",\n  \"fromName\": \"John Doe\",\n  \"type\": \"gmail\",\n  \"accessToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"refreshToken\": \"tok_xxxxxxxxxxxxxxxxxxxx\",\n  \"expiresIn\": 3599,\n  \"emailServiceProvider\": \"gmail\",\n  \"smtp\": {\n    \"host\": \"smtp.example.com\",\n    \"port\": 587,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"TLS\",\n    \"userName\": \"smtp-username\"\n  },\n  \"imap\": {\n    \"host\": \"imap.example.com\",\n    \"port\": 993,\n    \"password\": \"placeholder-password\",\n    \"encryption\": \"SSL\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"already_connected\",\n  \"message\": \"This email address is already connected.\",\n  \"details\": {}\n}"}],"_postman_id":"b6fe6266-4a76-4e8f-8f74-4109281e62d4"},{"name":"Disconnect Email Account","event":[{"listen":"test","script":{"id":"e6c2f122-b9de-45b6-807e-9a895e0f8171","exec":["pm.test('Status code is 200, 404, or 409', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404, 409]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    pm.expect(json).to.be.an('object');","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'status');","    } else if (pm.response.code === 404 || pm.response.code === 409) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"af5b908b-e23c-4490-87fb-cc20d4ad2a25","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345/disconnect","description":"<p>Pause an account without deleting it. Config and history are preserved for reconnecting later.</p>\n","urlObject":{"path":["email-accounts","12345","disconnect"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"18a6dd1c-438e-49bf-9d6a-bc1617cc7242","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345/disconnect","description":"Pause an account without deleting it. Config and history are preserved for reconnecting later."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"emailAccountId\": 12345,\n  \"status\": \"disconnected\"\n}"},{"id":"a7f6583f-a26d-48a2-94dc-45ba556ebac4","name":"404 Not Found","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345/disconnect","description":"Pause an account without deleting it. Config and history are preserved for reconnecting later."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"},{"id":"5906e7e8-7bf5-41ec-a48e-0cfec869a051","name":"409 Conflict","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345/disconnect","description":"Pause an account without deleting it. Config and history are preserved for reconnecting later."},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"conflict\",\n  \"message\": \"Email account is in a state that does not allow this action.\",\n  \"details\": {}\n}"}],"_postman_id":"af5b908b-e23c-4490-87fb-cc20d4ad2a25"},{"name":"Delete Email Account","event":[{"listen":"test","script":{"id":"b050439f-2ae0-4160-975f-96c4a993ba3e","exec":["pm.test('Status code is 204 or 404', function () {\r","    pm.expect(pm.response.code).to.be.oneOf([204, 404]);\r","});\r","\r","pm.test('Response time is acceptable', function () {\r","    pm.expect(pm.response.responseTime).to.be.below(5000);\r","});\r","\r","pm.test('Response body has expected structure', function () {\r","    if (pm.response.code === 204) {\r","        pm.expect(pm.response.text().length).to.eql(0);\r","    } else if (pm.response.code === 404) {\r","        pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');\r","        const json = pm.response.json();\r","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');\r","    }\r","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"67a35401-06c6-4f9f-913e-60d1c61108b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345","description":"<p>Permanently remove an account and all associated warmup data and history.</p>\n","urlObject":{"path":["email-accounts","12345"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"cbf2af1f-debb-46a2-8269-709bcadda2b9","name":"204 No Content","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"DELETE","header":[],"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345","description":"Permanently remove an account and all associated warmup data and history."},"status":"No Content","code":204,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"8b719481-49dc-4c76-adb0-686c1f236a61","name":"404 Not Found","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"DELETE","header":[],"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345","description":"Permanently remove an account and all associated warmup data and history."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"67a35401-06c6-4f9f-913e-60d1c61108b4"},{"name":"Bulk Delete Email Accounts","event":[{"listen":"test","script":{"id":"8ad5c20d-a882-41f4-ad64-935f15eaa05e","exec":["pm.test('Status code is 200 or 400', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 400]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('results');","    } else if (pm.response.code === 400) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"2f986ac2-3f9c-48b5-8f9c-e3a808a09ff5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    d47b2afa-40c3-4ef7-916c-4b652a528c24,\n    d47b2afa-40c3-4ef7-916c-4b652a528c24\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/bulk-delete","description":"<p>Permanently remove up to 20 accounts in one call.</p>\n","urlObject":{"path":["email-accounts","bulk-delete"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"794ab7a4-5cba-4de4-9da8-324c8b2c8df0","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/bulk-delete"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"results\": [\\n    {\\n      \"emailAccountId\": 10001,\\n      \"deleted\": true\\n    },\\n    {\\n      \"emailAccountId\": 10002,\\n      \"deleted\": true\\n    }\\n  ]\\n}"},{"id":"bebdbfe3-8330-4f60-b2f2-195ab2cd4ac6","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/bulk-delete"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"}],"_postman_id":"2f986ac2-3f9c-48b5-8f9c-e3a808a09ff5"},{"name":"Get Email Account Status","event":[{"listen":"test","script":{"id":"339bf1d9-181e-46f2-8ab3-01661cbbca4a","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'fromEmail', 'type', 'authStatus', 'warmupStatus', 'healthScore');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"019ea1d4-062b-4885-9f21-100a1c78f5c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345/status","description":"<p>Detailed status for a single account — connection health, warmup state, auth status, active errors.</p>\n","urlObject":{"path":["email-accounts","12345","status"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"80473452-86cd-4ec8-a9c0-1e972d0cc736","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345/status","description":"Detailed status for a single account — connection health, warmup state, auth status, active errors."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"fromEmail\": \"user@example.com\",\\n  \"type\": \"gmail\",\\n  \"authStatus\": \"connected\",\\n  \"warmupStatus\": \"active\",\\n  \"healthScore\": 92,\\n  \"connectionError\": null,\\n  \"lastConnectedAt\": \"2026-07-15T08:00:00.000Z\"\\n}"},{"id":"57afeea2-a173-4e9c-a221-f2ee9ff0e37e","name":"404 Not Found","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/email-accounts/12345/status","description":"Detailed status for a single account — connection health, warmup state, auth status, active errors."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"019ea1d4-062b-4885-9f21-100a1c78f5c1"},{"name":"Bulk Email Account Status","event":[{"listen":"test","script":{"id":"53bd3757-e261-46ac-b311-ab361dacb2b7","exec":["pm.test('Status code is 200 or 400', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 400]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('results');","    } else if (pm.response.code === 400) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"062eaf31-163b-482b-b57d-8b66cdad8f28","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    \"7b3c061c-64fa-4fc8-864f-9ecbaf1ff6bc\",\n   \"d47b2afa-40c3-4ef7-916c-4b652a528c24\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/bulk-status","description":"<p>Status for up to 50 accounts in one call, returned in the same order as the input IDs.</p>\n","urlObject":{"path":["email-accounts","bulk-status"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"81366e61-c729-46a8-a46a-6b50db377884","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    12345,\n    12346\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/bulk-status","description":"Status for up to 50 accounts in one call, returned in the same order as the input IDs."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"results\": [\\n    {\\n      \"emailAccountId\": 10001,\\n      \"fromEmail\": \"user@example.com\",\\n      \"type\": \"gmail\",\\n      \"authStatus\": \"connected\",\\n      \"warmupStatus\": \"active\",\\n      \"healthScore\": 92,\\n      \"connectionError\": null,\\n      \"lastConnectedAt\": \"2026-07-15T08:00:00.000Z\"\\n    },\\n    {\\n      \"emailAccountId\": 10002,\\n      \"fromEmail\": \"test@example.com\",\\n      \"type\": \"microsoft\",\\n      \"authStatus\": \"connected\",\\n      \"warmupStatus\": \"paused\",\\n      \"healthScore\": 81,\\n      \"connectionError\": null,\\n      \"lastConnectedAt\": \"2026-07-14T22:10:00.000Z\"\\n    }\\n  ]\\n}"},{"id":"54d28db8-6e3f-4158-897d-68fbb1c7118e","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/email-accounts/bulk-status"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"}],"_postman_id":"062eaf31-163b-482b-b57d-8b66cdad8f28"}],"id":"fed86c1b-f033-47c1-a3ab-5d98dab5baa3","description":"<p>Contains endpoints for managing email accounts connected to the InboxWarm platform. Use these endpoints to connect, disconnect, list, and delete individual or multiple email accounts, as well as retrieve their current status.</p>\n<ul>\n<li><strong>List Email Accounts</strong> (<code>GET /email-accounts</code>) — Returns all email accounts associated with the authenticated user.</li>\n<li><strong>Connect Email Account</strong> (<code>POST /email-accounts</code>) — Connects a new email account to the platform.</li>\n<li><strong>Bulk Connect Email Account</strong> (<code>POST /email-accounts/bulk-connect</code>) — Connects multiple email accounts in a single request.</li>\n<li><strong>Disconnect Email Account</strong> (<code>POST /email-accounts/{emailAccountId}/disconnect</code>) — Disconnects a specific email account from the platform.</li>\n<li><strong>Delete Email Account</strong> (<code>DELETE /email-accounts/{emailAccountId}</code>) — Permanently removes a specific email account.</li>\n<li><strong>Bulk Delete Email Accounts</strong> (<code>POST /email-accounts/bulk-delete</code>) — Deletes multiple email accounts in a single request.</li>\n<li><strong>Get Email Account Status</strong> (<code>GET /email-accounts/{emailAccountId}/status</code>) — Retrieves the current connection and warmup status of a specific email account.</li>\n<li><strong>Bulk Email Account Status</strong> (<code>POST /email-accounts/bulk-status</code>) — Retrieves the status of multiple email accounts at once.</li>\n</ul>\n","_postman_id":"fed86c1b-f033-47c1-a3ab-5d98dab5baa3"},{"name":"Warmup","item":[{"name":"Get Warmup Settings","event":[{"listen":"test","script":{"id":"fbe7f748-4221-4c31-972e-fc5a1bb2e63d","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'strategy', 'warmupStatus', 'maxSendingLimit');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"3832c087-0237-40db-818c-fd6f3d6876a8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"<p>Fetch the current warmup configuration for an account.</p>\n","urlObject":{"path":["warmup-settings","12345"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6370f4ca-d19c-472c-9810-13daa1055844","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"Fetch the current warmup configuration for an account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"strategy\": \"progressive\",\\n  \"timeZone\": \"America/New_York\",\\n  \"warmupStatus\": \"active\",\\n  \"googleVolumePercentage\": 50,\\n  \"microsoftVolumePercentage\": 30,\\n  \"othersVolumePercentage\": 20,\\n  \"maxSendingLimit\": 50,\\n  \"warmUpInitialSendingLimit\": 5,\\n  \"increaseEmailsByNumber\": 2,\\n  \"replyRate\": 25,\\n  \"dailySendingLimit\": 50,\\n  \"dailyReceivingLimit\": 30\\n}"},{"id":"d4a9e51f-3cd5-43ea-9c74-4f58d189679f","name":"404 Not Found","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"Fetch the current warmup configuration for an account."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"3832c087-0237-40db-818c-fd6f3d6876a8"},{"name":"Get Warmup Languages","event":[{"listen":"test","script":{"id":"fbe7f748-4221-4c31-972e-fc5a1bb2e63d","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'strategy', 'warmupStatus', 'maxSendingLimit');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"d50243dd-14fb-4126-9c93-2ab2242c6119","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/languages","description":"<p>Fetch the current warmup configuration for an account.</p>\n","urlObject":{"path":["warmup-settings","languages"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"d50243dd-14fb-4126-9c93-2ab2242c6119"},{"name":"Get Warmup Industries","event":[{"listen":"test","script":{"id":"fbe7f748-4221-4c31-972e-fc5a1bb2e63d","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'strategy', 'warmupStatus', 'maxSendingLimit');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"65c35985-f673-41ff-a1ce-d7251e0d605d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/industries","description":"<p>Fetch the current warmup configuration for an account.</p>\n","urlObject":{"path":["warmup-settings","industries"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"65c35985-f673-41ff-a1ce-d7251e0d605d"},{"name":"Update Warmup Settings","event":[{"listen":"test","script":{"id":"d3d62283-03f4-4710-933d-b40e7887d490","exec":["pm.test('Status code is 200, 400, or 404', function () {\r","    pm.expect(pm.response.code).to.be.oneOf([200, 400, 404]);\r","});\r","\r","pm.test('Response time is acceptable', function () {\r","    pm.expect(pm.response.responseTime).to.be.below(5000);\r","});\r","\r","pm.test('Content-Type is application/json', function () {\r","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');\r","});\r","\r","pm.test('Response is valid JSON', function () {\r","    try {\r","        const json = pm.response.json();\r","        pm.expect(json).to.be.an('object');\r","    } catch (e) {\r","        pm.expect.fail('Response is not valid JSON: ' + e.message);\r","    }\r","});\r","\r","pm.test('Response body has expected structure', function () {\r","    const json = pm.response.json();\r","    if (pm.response.code === 200) {\r","        pm.expect(json).to.have.any.keys('emailAccountId', 'strategy', 'warmupStatus', 'maxSendingLimit');\r","    } else if (pm.response.code === 400 || pm.response.code === 404) {\r","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');\r","    }\r","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"9e63a461-a59a-4cfa-8251-694a7d8135af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"displayName\": \"John Doe\",\n  \"timeZone\": \"America/New_York\",\n  \"sendingDays\": [1,2,3,4,5],\n  \"sendingWindowStartTime\": \"09:00\",\n  \"sendingWindowEndTime\": \"17:00\",\n  \"warmupLanguage\": \"en\",\n  \"targetIndustry\": \"saas_software\",\n  \"warmupTopics\": [\"Referral request\", \"Case\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"<p>Update warmup strategy and sending limits for an account.</p>\n","urlObject":{"path":["warmup-settings","12345"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"af7d6018-25ef-4f3f-b62b-dcf64f617045","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"strategy\": \"progressive\",\n  \"maxSendingLimit\": 50,\n  \"warmUpInitialSendingLimit\": 5,\n  \"increaseEmailsByNumber\": 2,\n  \"replyRate\": 25\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"Update warmup strategy and sending limits for an account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"strategy\": \"progressive\",\\n  \"timeZone\": \"America/New_York\",\\n  \"warmupStatus\": \"active\",\\n  \"googleVolumePercentage\": 50,\\n  \"microsoftVolumePercentage\": 30,\\n  \"othersVolumePercentage\": 20,\\n  \"maxSendingLimit\": 50,\\n  \"warmUpInitialSendingLimit\": 5,\\n  \"increaseEmailsByNumber\": 2,\\n  \"replyRate\": 25,\\n  \"dailySendingLimit\": 50,\\n  \"dailyReceivingLimit\": 30\\n}"},{"id":"04cdbbe7-1092-4bce-9182-c39db6256ea4","name":"400 Bad Request","originalRequest":{"auth":{"type":"noauth"},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"strategy\": \"progressive\",\n  \"maxSendingLimit\": 50,\n  \"warmUpInitialSendingLimit\": 5,\n  \"increaseEmailsByNumber\": 2,\n  \"replyRate\": 25\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"Update warmup strategy and sending limits for an account."},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"},{"id":"08eba767-7961-4e20-9582-abf8b0032fee","name":"404 Not Found","originalRequest":{"auth":{"type":"noauth"},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"strategy\": \"progressive\",\n  \"maxSendingLimit\": 50,\n  \"warmUpInitialSendingLimit\": 5,\n  \"increaseEmailsByNumber\": 2,\n  \"replyRate\": 25\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"Update warmup strategy and sending limits for an account."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"9e63a461-a59a-4cfa-8251-694a7d8135af"},{"name":"Start Warmup","event":[{"listen":"test","script":{"id":"5aa2c7bc-4403-4f8b-9ad5-bc61af1075f2","exec":["pm.test('Status code is 200 or 422', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 422]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'warmupStatus');","    } else if (pm.response.code === 422) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"1d313432-c089-433b-be6d-c440b5abccc4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345/start","description":"<p>Start warmup for an account.</p>\n","urlObject":{"path":["warmup-settings","12345","start"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"2cb8e4ff-b836-4e26-8b9f-541c88c60501","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345/start","description":"Start warmup for an account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"warmupStatus\": \"active\"\\n}"},{"id":"5477389a-3141-4e13-a261-26a9a3822993","name":"422 Unprocessable","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345/start","description":"Start warmup for an account."},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"unprocessable\",\n  \"message\": \"Warmup cannot be started for this account right now.\",\n  \"details\": {}\n}"}],"_postman_id":"1d313432-c089-433b-be6d-c440b5abccc4"},{"name":"Stop Warmup","event":[{"listen":"test","script":{"id":"8fe7545f-a1b7-48ad-8c45-1d4c732a5eb5","exec":["pm.test('Status code is 200 or 422', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 422]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'warmupStatus');","    } else if (pm.response.code === 422) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"5407812d-f083-4dc1-ad4f-d0f84679b9f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345/stop","description":"<p>Stop warmup for an account.</p>\n","urlObject":{"path":["warmup-settings","12345","stop"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"ddd16a7e-9d78-492d-b101-af3cff0ea43e","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345/stop","description":"Stop warmup for an account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"warmupStatus\": \"paused\"\\n}"},{"id":"17fa491e-9955-44d5-afa3-221cee60b9e9","name":"422 Unprocessable","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345/stop","description":"Stop warmup for an account."},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"unprocessable\",\n  \"message\": \"Warmup cannot be started for this account right now.\",\n  \"details\": {}\n}"}],"_postman_id":"5407812d-f083-4dc1-ad4f-d0f84679b9f6"},{"name":"Bulk Update Warmup Settings","event":[{"listen":"test","script":{"id":"d3d62283-03f4-4710-933d-b40e7887d490","exec":["pm.test('Status code is 200, 400, or 404', function () {\r","    pm.expect(pm.response.code).to.be.oneOf([200, 400, 404]);\r","});\r","\r","pm.test('Response time is acceptable', function () {\r","    pm.expect(pm.response.responseTime).to.be.below(5000);\r","});\r","\r","pm.test('Content-Type is application/json', function () {\r","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');\r","});\r","\r","pm.test('Response is valid JSON', function () {\r","    try {\r","        const json = pm.response.json();\r","        pm.expect(json).to.be.an('object');\r","    } catch (e) {\r","        pm.expect.fail('Response is not valid JSON: ' + e.message);\r","    }\r","});\r","\r","pm.test('Response body has expected structure', function () {\r","    const json = pm.response.json();\r","    if (pm.response.code === 200) {\r","        pm.expect(json).to.have.any.keys('emailAccountId', 'strategy', 'warmupStatus', 'maxSendingLimit');\r","    } else if (pm.response.code === 400 || pm.response.code === 404) {\r","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');\r","    }\r","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"f869c25c-701f-4c65-ad68-bf511bd61b4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    \"ea989509-034b-40d8-9ff5-a9cdb7281bc5\",\n    \"e2224b15-c71b-40e7-9b05-3468e847e095\"\n  ],\n  \"apply\": [\"language\",\"window\", \"days\"],\n  \"displayName\": \"John Doe\",\n  \"timeZone\": \"America/New_York\",\n  \"sendingDays\": [1,2,3,4],\n  \"sendingWindowStartTime\": \"09:00\",\n  \"sendingWindowEndTime\": \"17:00\",\n  \"warmupLanguage\": \"en\",\n  \"targetIndustry\": \"saas_software\",\n  \"warmupTopics\": [\"Referral request\", \"Case study\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-update","description":"<p>Update warmup strategy and sending limits for an account.</p>\n","urlObject":{"path":["warmup-settings","bulk-update"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"74e05835-52ce-4287-bd85-01d7fbae3c55","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"strategy\": \"progressive\",\n  \"maxSendingLimit\": 50,\n  \"warmUpInitialSendingLimit\": 5,\n  \"increaseEmailsByNumber\": 2,\n  \"replyRate\": 25\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345","description":"Update warmup strategy and sending limits for an account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"strategy\": \"progressive\",\\n  \"timeZone\": \"America/New_York\",\\n  \"warmupStatus\": \"active\",\\n  \"googleVolumePercentage\": 50,\\n  \"microsoftVolumePercentage\": 30,\\n  \"othersVolumePercentage\": 20,\\n  \"maxSendingLimit\": 50,\\n  \"warmUpInitialSendingLimit\": 5,\\n  \"increaseEmailsByNumber\": 2,\\n  \"replyRate\": 25,\\n  \"dailySendingLimit\": 50,\\n  \"dailyReceivingLimit\": 30\\n}"},{"id":"509d5b1b-0033-425f-90fe-841693504bf2","name":"400 Bad Request","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"strategy\": \"progressive\",\n  \"maxSendingLimit\": 50,\n  \"warmUpInitialSendingLimit\": 5,\n  \"increaseEmailsByNumber\": 2,\n  \"replyRate\": 25\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"},{"id":"f2fbc5de-6197-4ab9-adfc-01293a29713b","name":"404 Not Found","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"strategy\": \"progressive\",\n  \"maxSendingLimit\": 50,\n  \"warmUpInitialSendingLimit\": 5,\n  \"increaseEmailsByNumber\": 2,\n  \"replyRate\": 25\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/12345"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"f869c25c-701f-4c65-ad68-bf511bd61b4e"},{"name":"Bulk Warmup Action","event":[{"listen":"test","script":{"id":"6491561b-e044-4e40-aa5b-198905d6beaf","exec":["pm.test('Status code is 200 or 400', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 400]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('results');","    } else if (pm.response.code === 400) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"d5cd3acf-1fcf-4078-a378-42ab16d06826","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    \"08593f43-e81d-4f9d-b69a-c38a97ce2d46\",\n    \"c8a3a37b-1706-4155-95ad-72355796cc4a\"\n  ],\n  \"action\": \"start\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-action","description":"<p>Start or stop warmup for up to 50 accounts in one call.</p>\n","urlObject":{"path":["warmup-settings","bulk-action"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"267168c0-7a35-4c8c-8b5b-40fb6266f365","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ],\n  \"action\": \"start\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-action"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"results\": [\\n    {\\n      \"emailAccountId\": 10001,\\n      \"status\": \"ok\"\\n    },\\n    {\\n      \"emailAccountId\": 10002,\\n      \"status\": \"ok\"\\n    }\\n  ]\\n}"},{"id":"796fce5d-4050-4b39-a1b7-189f7bf53d61","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ],\n  \"action\": \"start\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-action"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"}],"_postman_id":"d5cd3acf-1fcf-4078-a378-42ab16d06826"},{"name":"Warmup Activity History","event":[{"listen":"test","script":{"id":"984c18ca-fbae-46d8-9486-fb88af728be9","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'date', 'current', 'sent', 'received');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"0b0a2746-fa1e-4b1a-b8a3-753394b0dd24","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-status/12345","description":"<p>Today's warmup activity for an account: sent, received, replied, spam, bounced.</p>\n","urlObject":{"path":["warmup-status","12345"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3c10069f-f7de-4eca-9717-f50a64356db8","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-status/12345","description":"Today's warmup activity for an account: sent, received, replied, spam, bounced."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"date\": \"2026-07-15\",\\n  \"current\": \"active\",\\n  \"strategy\": \"progressive\",\\n  \"dailySendingLimit\": 10,\\n  \"sent\": 12,\\n  \"received\": 10,\\n  \"replied\": 7,\\n  \"spam\": 1,\\n  \"bounced\": 0\\n}"},{"id":"ed8fd4d7-f32c-41b4-8a19-1815b4128855","name":"404 Not Found","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/warmup-status/12345","description":"Today's warmup activity for an account: sent, received, replied, spam, bounced."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"0b0a2746-fa1e-4b1a-b8a3-753394b0dd24"}],"id":"d24f167a-ef99-435b-b3e9-067475cddf01","description":"<p>Contains all endpoints for managing the email warmup lifecycle for individual and bulk accounts. Use these requests to start or stop warmup, retrieve and update warmup settings (including strategy, sending limits, supported languages, and industries), and monitor today's warmup activity (sent, received, replied, spam, and bounced counts) for a given account.</p>\n","_postman_id":"d24f167a-ef99-435b-b3e9-067475cddf01"},{"name":"Deliverability","item":[{"name":"Get Setup Score","event":[{"listen":"test","script":{"id":"2dc8a24e-74fb-4983-b3d3-3d05a6964b01","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'emailAccountScore', 'dmarcScore', 'spfScore', 'dkimScore');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"67054f3d-4344-487d-814d-aa26de11de95","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/setup-score/12345","description":"<p>Cached setup health score (DMARC, SPF, DKIM, MX, blacklist checks) for an account.</p>\n","urlObject":{"path":["setup-score","12345"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"725903a8-bcfc-4a97-b60f-99eed42acf15","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/setup-score/12345","description":"Cached setup health score (DMARC, SPF, DKIM, MX, blacklist checks) for an account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"emailAccountScore\": 86,\\n  \"dmarcScore\": 15,\\n  \"spfScore\": 29,\\n  \"dkimScore\": 18,\\n  \"mxRecordScore\": 9,\\n  \"ipBlacklistScore\": 5,\\n  \"domainBlacklistScore\": 10,\\n  \"updatedAt\": \"2026-07-14T10:30:00.000Z\",\\n  \"manualLastRefreshedAt\": \"2026-07-14T10:30:00.000Z\"\\n}"},{"id":"06fe204f-9224-42c0-9ff8-57a8565c6d21","name":"404 Not Found","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/setup-score/12345","description":"Cached setup health score (DMARC, SPF, DKIM, MX, blacklist checks) for an account."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"67054f3d-4344-487d-814d-aa26de11de95"},{"name":"Refresh Setup Score","event":[{"listen":"test","script":{"id":"e9d2b744-b9df-4715-89bd-fa5d2382ff43","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'emailAccountScore', 'dmarcScore', 'spfScore', 'dkimScore');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"aef96981-3a00-4896-a561-0abbf4684988","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/setup-score/12345/refresh","description":"<p>Synchronously recompute the setup score for an account.</p>\n","urlObject":{"path":["setup-score","12345","refresh"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"a639eaf6-5191-4a31-b588-6666ecfc1b1d","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/setup-score/12345/refresh","description":"Synchronously recompute the setup score for an account."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"emailAccountScore\": 88,\\n  \"dmarcScore\": 15,\\n  \"spfScore\": 29,\\n  \"dkimScore\": 18,\\n  \"mxRecordScore\": 9,\\n  \"ipBlacklistScore\": 7,\\n  \"domainBlacklistScore\": 10,\\n  \"updatedAt\": \"2026-07-15T09:00:00.000Z\",\\n  \"manualLastRefreshedAt\": \"2026-07-15T09:00:00.000Z\"\\n}"},{"id":"a877e3cc-b1b3-4d0d-a92e-26f3bb91edc6","name":"404 Not Found","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/setup-score/12345/refresh","description":"Synchronously recompute the setup score for an account."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"aef96981-3a00-4896-a561-0abbf4684988"},{"name":"DNS Health Check","event":[{"listen":"test","script":{"id":"2ded347b-bb4f-456d-b70c-bc7bb7274289","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'spf', 'dkim', 'dmarc', 'mx');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"0379c5a2-db80-40dd-b354-b9d96bbc4602","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/dns-health/12345","description":"<p>Live DNS lookup for the account's sending domain — pass/fail for SPF, DKIM, DMARC, MX.</p>\n","urlObject":{"path":["dns-health","12345"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0ddf7434-19b3-4710-97be-108695c1891f","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/dns-health/12345","description":"Live DNS lookup for the account's sending domain — pass/fail for SPF, DKIM, DMARC, MX."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"spf\": \"pass\",\\n  \"dkim\": \"pass\",\\n  \"dmarc\": \"pass\",\\n  \"mx\": \"pass\",\\n  \"cachedAt\": \"2026-07-15T09:00:00.000Z\"\\n}"},{"id":"dcc83900-9d01-4051-8dad-3f3445251035","name":"404 Not Found","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/dns-health/12345","description":"Live DNS lookup for the account's sending domain — pass/fail for SPF, DKIM, DMARC, MX."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"0379c5a2-db80-40dd-b354-b9d96bbc4602"},{"name":"Get Deliverability Score","event":[{"listen":"test","script":{"id":"a6fb7231-ff75-46ae-b7b8-465aff4f2a98","exec":["pm.test('Status code is 200 or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'totalDeliverabilityRate', 'totalSentCount');","    } else if (pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"418b413e-146f-4331-8550-3537e2c35603","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"startDate\": \"2026-06-01\",\n  \"endDate\": \"2026-06-30\",\n  \"esps\": [\n    \"gmail\",\n    \"outlook\",\n    \"other\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/deliverability-score/12345","description":"<p>Overall and per-ESP inbox-vs-spam deliverability rate for a date range.</p>\n","urlObject":{"path":["deliverability-score","12345"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"75656174-b9e4-4991-89d3-0c743ce1f9e7","name":"200 OK","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"startDate\": \"2026-06-01\",\n  \"endDate\": \"2026-06-30\",\n  \"esps\": [\n    \"gmail\",\n    \"outlook\",\n    \"other\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/deliverability-score/12345","description":"Overall and per-ESP inbox-vs-spam deliverability rate for a date range."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"totalDeliverabilityRate\": 88,\\n  \"totalSentCount\": 1500,\\n  \"totalInboxCount\": 1320,\\n  \"totalSpamInboxCount\": 180,\\n  \"gmail\": {\\n    \"deliverabilityRate\": 92,\\n    \"sentCount\": 500,\\n    \"inboxCount\": 460,\\n    \"spamCount\": 40\\n  },\\n  \"outlook\": {\\n    \"deliverabilityRate\": 92,\\n    \"sentCount\": 500,\\n    \"inboxCount\": 460,\\n    \"spamCount\": 40\\n  },\\n  \"other\": {\\n    \"deliverabilityRate\": 92,\\n    \"sentCount\": 500,\\n    \"inboxCount\": 460,\\n    \"spamCount\": 40\\n  }\\n}"},{"id":"0acf440f-3abd-4d08-9ace-233d78a24364","name":"404 Not Found","originalRequest":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"startDate\": \"2026-06-01\",\n  \"endDate\": \"2026-06-30\",\n  \"esps\": [\n    \"gmail\",\n    \"outlook\",\n    \"other\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/deliverability-score/12345","description":"Overall and per-ESP inbox-vs-spam deliverability rate for a date range."},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"418b413e-146f-4331-8550-3537e2c35603"}],"id":"fa0d5646-0eba-45a5-9ed5-6025c241cd42","description":"<p>Contains endpoints for assessing and monitoring the email deliverability health of a connected account. Use these requests to retrieve cached or freshly computed setup scores, run live DNS checks, and measure inbox placement rates across email service providers.</p>\n<ul>\n<li><strong>Get Setup Score</strong> (<code>GET /setup-score/{emailAccountId}</code>) — Returns a cached health score for the account based on DMARC, SPF, DKIM, MX, and blacklist checks.</li>\n<li><strong>Refresh Setup Score</strong> (<code>POST /setup-score/{emailAccountId}/refresh</code>) — Synchronously recomputes the setup score, returning an up-to-date result.</li>\n<li><strong>DNS Health Check</strong> (<code>GET /dns-health/{emailAccountId}</code>) — Performs a live DNS lookup for the account's sending domain and returns pass/fail results for SPF, DKIM, DMARC, and MX records.</li>\n<li><strong>Get Deliverability Score</strong> (<code>POST /deliverability-score/{emailAccountId}</code>) — Returns the overall and per-ESP (Gmail, Outlook, and others) inbox-vs-spam deliverability rate for a specified date range.</li>\n</ul>\n","_postman_id":"fa0d5646-0eba-45a5-9ed5-6025c241cd42"},{"name":"Reports","item":[{"name":"Dashboard","event":[{"listen":"test","script":{"id":"61c021da-abc8-49a2-bb42-ddd59bc9f6f4","exec":["pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    pm.expect(json).to.have.any.keys('totalAccounts', 'activeWarmups', 'pausedWarmups', 'accountsWithErrors', 'avgSetupScore');","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"357753cc-4a35-4cc1-ac82-99f1c57172fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_key"},{"key":"value","value":"YOUR_API_KEY"}]},"isInherited":false},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/dashboard","description":"<p>Account-wide warmup summary across all connected inboxes.</p>\n","urlObject":{"path":["dashboard"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"47c42fb0-3957-4802-92bf-4ed342461aab","name":"200 OK","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_key","value":"YOUR_API_KEY","in":"query"}},"method":"GET","header":[],"url":"https://app.inboxwarm.ai/api/v1/dashboard","description":"Account-wide warmup summary across all connected inboxes."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"totalAccounts\": 42,\n  \"activeWarmups\": 30,\n  \"pausedWarmups\": 8,\n  \"accountsWithErrors\": 2,\n  \"avgSetupScore\": 78.5\n}"}],"_postman_id":"357753cc-4a35-4cc1-ac82-99f1c57172fd"},{"name":"Single Account Report","event":[{"listen":"test","script":{"id":"e81ac501-44b6-42ba-8221-5d42fdedde25","exec":["pm.test('Status code is 200, 400, or 404', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 400, 404]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('emailAccountId', 'from', 'to', 'days');","    } else if (pm.response.code === 400 || pm.response.code === 404) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"b7cc7f6d-4734-474a-bf0e-e5f9a49f2290","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountId\":\"b9df93ae-21cf-456c-96d7-ed72d04aa95d\",\n  \"from\": \"2026-07-21\",\n  \"to\": \"2026-07-23\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports","description":"<p>Daily warmup report for one account over a date range.</p>\n","urlObject":{"path":["reports"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"a35a7cec-30f7-45ce-bbf4-edc17446d7eb","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountId\": 10001,\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"emailAccountId\": 10001,\\n  \"from\": \"2026-06-01\",\\n  \"to\": \"2026-06-30\",\\n  \"days\": [\\n    {\\n      \"date\": \"2026-06-15\",\\n      \"sent\": 25,\\n      \"inbox\": 20,\\n      \"received\": 22,\\n      \"spam\": 3,\\n      \"bounced\": 1,\\n      \"undelivered\": 0,\\n      \"replied\": 5,\\n      \"deliverabilityRate\": 92.5\\n    }\\n  ]\\n}"},{"id":"7b4a8fc8-f7b4-4e0c-b20f-8f341cd52f39","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountId\": 10001,\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"},{"id":"2ad3c367-b435-4f65-a901-190a59acaa60","name":"404 Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountId\": 10001,\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"not_found\",\n  \"message\": \"Email account not found.\",\n  \"details\": {}\n}"}],"_postman_id":"b7cc7f6d-4734-474a-bf0e-e5f9a49f2290"},{"name":"Bulk Report","event":[{"listen":"test","script":{"id":"cf4c4c28-0e74-48f2-97ec-315b2a249928","exec":["pm.test('Status code is 200 or 400', function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 400]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 200) {","        pm.expect(json).to.have.any.keys('reports');","    } else if (pm.response.code === 400) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"11c8f947-4695-440d-8ee6-db8cc7dd9a2e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    12345,\n    12346\n  ],\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports/bulk","description":"<p>Daily warmup reports for up to 50 accounts over a date range.</p>\n","urlObject":{"path":["reports","bulk"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6dba8fbf-fa22-470f-a9fd-465a90896c3e","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ],\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports/bulk"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\\n  \"reports\": [\\n    {\\n      \"emailAccountId\": 10001,\\n      \"from\": \"2026-06-01\",\\n      \"to\": \"2026-06-30\",\\n      \"days\": [\\n        {\\n          \"date\": \"2026-06-15\",\\n          \"sent\": 25,\\n          \"inbox\": 20,\\n          \"received\": 22,\\n          \"spam\": 3,\\n          \"bounced\": 1,\\n          \"undelivered\": 0,\\n          \"replied\": 5,\\n          \"deliverabilityRate\": 92.5\\n        }\\n      ]\\n    }\\n  ]\\n}"},{"id":"c2dda6bc-9dd8-4879-ba4d-6f34884bc104","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ],\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports/bulk"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"}],"_postman_id":"11c8f947-4695-440d-8ee6-db8cc7dd9a2e"},{"name":"Export Report","event":[{"listen":"test","script":{"id":"b09e9425-122d-4725-a578-c3e81586ebc7","exec":["pm.test('Status code is 202 or 400', function () {","    pm.expect(pm.response.code).to.be.oneOf([202, 400]);","});","","pm.test('Response time is acceptable', function () {","    pm.expect(pm.response.responseTime).to.be.below(5000);","});","","pm.test('Content-Type is application/json', function () {","    pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json');","});","","pm.test('Response is valid JSON', function () {","    try {","        const json = pm.response.json();","        pm.expect(json).to.be.an('object');","    } catch (e) {","        pm.expect.fail('Response is not valid JSON: ' + e.message);","    }","});","","pm.test('Response body has expected structure', function () {","    const json = pm.response.json();","    if (pm.response.code === 202) {","        pm.expect(json).to.have.any.keys('jobId', 'status');","    } else if (pm.response.code === 400) {","        pm.expect(json).to.have.any.keys('error_code', 'message', 'details');","    }","});"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"d4637e1e-a2f5-46ac-bcc5-df6bb5c4b1d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    12345,\n    12346\n  ],\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports/export","description":"<p>Kick off an async CSV export of warmup reports, delivered by email when ready.</p>\n","urlObject":{"path":["reports","export"],"host":["https://app.inboxwarm.ai/api/v1"],"query":[],"variable":[]}},"response":[{"id":"41d672ae-f6a6-4340-a6e7-746b7a481dae","name":"202 Accepted","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ],\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports/export"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"jobId\": \"a1b2c3d4\",\n  \"status\": \"queued\"\n}"},{"id":"f0835f6c-237e-4237-8a3e-a1bdaaa15ad2","name":"400 Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"apiKey\": \"YOUR_API_KEY\",\n  \"emailAccountIds\": [\n    10001,\n    10002\n  ],\n  \"from\": \"2026-06-01\",\n  \"to\": \"2026-06-30\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.inboxwarm.ai/api/v1/reports/export"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"error_code\": \"validation_error\",\n  \"message\": \"One or more fields are invalid.\",\n  \"details\": {}\n}"}],"_postman_id":"d4637e1e-a2f5-46ac-bcc5-df6bb5c4b1d0"}],"id":"6b81f837-226c-4c31-9f29-a901cc40305e","description":"<p>Contains endpoints for retrieving and exporting email warmup performance data. Use these requests to access high-level metrics across all accounts, generate detailed reports for a single account or multiple accounts at once, and export report data for external use.</p>\n<ul>\n<li><strong>Dashboard</strong> (<code>GET /dashboard</code>) — Returns an aggregated overview of warmup activity and performance metrics across all connected email accounts.</li>\n<li><strong>Single Account Report</strong> (<code>POST /reports</code>) — Generates a detailed performance report for a specific email account over a given time range.</li>\n<li><strong>Bulk Report</strong> (<code>POST /reports/bulk</code>) — Generates performance reports for multiple email accounts in a single request.</li>\n<li><strong>Export Report</strong> (<code>POST /reports/export</code>) — Initiates an export of report data, returning a <code>202 Accepted</code> response when the export job has been successfully queued.</li>\n</ul>\n","_postman_id":"6b81f837-226c-4c31-9f29-a901cc40305e"},{"name":"SPAM TEST","item":[],"id":"9d0dcb26-7d7c-435d-b273-a97ae134c557","_postman_id":"9d0dcb26-7d7c-435d-b273-a97ae134c557","description":""}],"event":[{"listen":"prerequest","script":{"id":"e849573a-fb82-4de1-a7ad-49656f0aea79","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"081b81c0-3d6b-40a6-ae28-1b4e9c3feb54","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://app.inboxwarm.ai/api/v1"},{"key":"apiKey","value":"YOUR_API_KEY"},{"key":"emailAccountId","value":"12345"}]}