InboxWarm API 문서
InboxWarm REST API에 대한 레퍼런스 문서입니다. InboxWarm API Postman 컬렉션과 함께 사용하세요.
이 페이지의 내용
이메일 계정
워밍업
기본 URL#
https://app.inboxwarm.ai/api/v1인증#
InboxWarm은 HTTP 메서드에 따라 혼합 인증 방식을 사용합니다:
GET 및 DELETE 요청 — API 키를 api_key 쿼리 매개변수로 전송합니다.
POST 및 PATCH 요청 — API 키를 JSON 본문 내의 apiKey 필드로 전송합니다.
InboxWarm 앱의 Developer kit > API Integration에서 키를 생성하고 관리합니다. 각 키는 아래의 모든 엔드포인트에 걸쳐 전체 계정 접근 권한을 부여합니다.
예시 — GET 요청:
GET https://app.inboxwarm.ai/api/v1/email-accounts?api_key=YOUR_API_KEY예시 — POST 요청 본문:
{
"apiKey": "YOUR_API_KEY",
...
}요청 제한#
GET /rate-limit을 통해 언제든지 현재 사용량을 확인할 수 있습니다 — 이 호출은 할당량에 포함되지 않습니다.오류#
오류는 일관된 형식을 따릅니다:
{
"error_code": "validation_error",
"message": "One or more fields are invalid.",
"details": {}
}일반적인 error_code 값: validation_error (400), not_found (404), conflict (409), unprocessable (422).
엔드포인트 색인#
이메일 계정
/email-accounts이메일 계정 목록POST/email-accounts이메일 계정 연결POST/email-accounts/bulk-connect이메일 계정 일괄 연결POST/email-accounts/{emailAccountId}/disconnect이메일 계정 연결 해제DELETE/email-accounts/{emailAccountId}이메일 계정 삭제POST/email-accounts/bulk-delete이메일 계정 일괄 삭제GET/email-accounts/{emailAccountId}/status이메일 계정 상태 조회POST/email-accounts/bulk-status이메일 계정 상태 일괄 조회워밍업
/warmup-settings/{emailAccountId}워밍업 설정 조회PATCH/warmup-settings/{emailAccountId}워밍업 설정 업데이트GET/warmup-settings/languages워밍업 언어 목록GET/warmup-settings/industries워밍업 업종 목록POST/warmup-settings/{emailAccountId}/start워밍업 시작POST/warmup-settings/{emailAccountId}/stop워밍업 중지POST/warmup-settings/bulk-action워밍업 일괄 작업POST/warmup-settings/bulk-update워밍업 설정 일괄 업데이트GET/warmup-status/{emailAccountId}워밍업 활동 기록전달성
시스템
상태 점검#
https://app.inboxwarm.ai/api/v1/healthAPI에 대한 기본 활성 상태 점검.
api_key응답
{
"status": "ok"
}요청 제한 상태#
https://app.inboxwarm.ai/api/v1/rate-limit할당량에 대한 요청을 소모하지 않고 현재 요청 제한 소비량을 확인합니다.
api_key응답
{
"limit": 20,
"remaining": 18,
"reset": 1752585600
}이메일 계정
이메일 계정 목록#
https://app.inboxwarm.ai/api/v1/email-accounts연결된 이메일 계정과 현재 상태를 나열합니다. 검색, 페이지네이션, 정렬을 지원합니다. 주소의 emailAccountId를 다시 확인해야 할 경우 검색을 사용하여 조회하세요.
api_key쿼리 매개변수
search이메일 주소 또는 이름으로 검색statusactive | warming | paused | error | auth-expiredsortsortBy응답
{
"items": [
{
"id": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "warming",
"createdAt": "2026-06-01T10:00:00.000Z"
},
{
"id": "12346",
"fromEmail": "sales@yourcompany.com",
"fromName": "Sales Team",
"type": "microsoft",
"status": "active",
"createdAt": "2026-06-03T14:20:00.000Z"
}
],
"total": 2,
"page": 1,
"limit": 20,
"totalPages": 1
}이메일 계정 연결#
https://app.inboxwarm.ai/api/v1/email-accountsSMTP/IMAP 자격 증명(Gmail과 Microsoft는 앱 비밀번호 사용 가능)을 사용하여 Gmail, Microsoft 또는 SMTP/IMAP 계정을 연결합니다. 반환된 emailAccountId를 저장하세요 — 다른 모든 엔드포인트가 이를 기준으로 동작합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"smtp": {
"host": "smtp.example.com",
"port": 587,
"password": "your-password",
"encryption": "TLS",
"userName": "smtp-username"
},
"imap": {
"host": "imap.example.com",
"port": 993,
"encryption": "SSL",
"userName": "imap-username"
}
}응답
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "active"
}이메일 계정 일괄 연결#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-connect한 번의 호출로 최대 20개의 계정을 연결합니다. 각 항목은 개별적으로 검증되고 연결되므로 잘못되었거나 중복된 계정 하나가 나머지 처리를 막지 않으며, 응답은 입력한 순서와 동일하게 계정별 성공 또는 실패 결과를 보고합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccounts": [
{
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"smtp": { "host": "smtp.example.com", "port": 587, "password": "your-password", "encryption": "TLS", "userName": "smtp-username" },
"imap": { "host": "imap.example.com", "port": 993, "encryption": "SSL", "userName": "imap-username" }
},
{
"fromEmail": "sales@yourcompany.com",
"type": "microsoft",
"smtp": { "password": "app-specific-password" }
}
]
}응답
{
"results": [
{
"success": true,
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"fromName": "John Doe",
"type": "gmail",
"status": "active"
},
{
"success": false,
"fromEmail": "sales@yourcompany.com",
"error_code": "already_connected",
"message": "This email address is already connected.",
"details": {}
}
]
}이메일 계정 연결 해제#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/disconnect계정을 삭제하지 않고 일시 중지합니다. 나중에 다시 연결할 수 있도록 설정과 기록이 보존됩니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}"
}응답
{
"emailAccountId": "12345",
"status": "disconnected"
}이메일 계정 삭제#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}계정과 관련된 모든 워밍업 데이터 및 기록을 영구적으로 제거합니다.
api_key응답
응답 본문 없음
이메일 계정 일괄 삭제#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-delete한 번의 호출로 최대 20개의 계정을 영구적으로 제거합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
]
}응답
{
"results": [
{
"emailAccountId": "12345",
"deleted": true
},
{
"emailAccountId": "12346",
"deleted": true
}
]
}이메일 계정 상태 조회#
https://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/status단일 계정에 대한 상세 상태 — 연결 상태, 워밍업 상태, 인증 상태, 활성 오류.
api_key응답
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"type": "gmail",
"authStatus": "connected",
"warmupStatus": "active",
"healthScore": 92,
"connectionError": null,
"lastConnectedAt": "2026-07-15T08:00:00.000Z"
}이메일 계정 상태 일괄 조회#
https://app.inboxwarm.ai/api/v1/email-accounts/bulk-status한 번의 호출로 최대 50개 계정의 상태를 조회하며, 입력한 ID와 동일한 순서로 반환됩니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
]
}응답
{
"results": [
{
"emailAccountId": "12345",
"fromEmail": "john@yourcompany.com",
"type": "gmail",
"authStatus": "connected",
"warmupStatus": "active",
"healthScore": 92,
"connectionError": null,
"lastConnectedAt": "2026-07-15T08:00:00.000Z"
},
{
"emailAccountId": "12346",
"fromEmail": "sales@yourcompany.com",
"type": "microsoft",
"authStatus": "connected",
"warmupStatus": "paused",
"healthScore": 81,
"connectionError": null,
"lastConnectedAt": "2026-07-14T22:10:00.000Z"
}
]
}워밍업
워밍업 설정 조회#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}계정의 현재 워밍업 구성을 가져옵니다.
api_key응답
{
"emailAccountId": "12345",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}워밍업 설정 업데이트#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}계정의 워밍업 설정 중 하나 이상을 업데이트합니다 — 발신자 이름, 시간대, 발송 일정, 언어, 업종, 주제. 전송한 필드만 변경됩니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}응답
{
"emailAccountId": "12345",
"displayName": "Ada Lovelace",
"timeZone": "America/New_York",
"sendingDays": [1, 2, 3, 4, 5],
"sendingWindowStartTime": "09:00",
"sendingWindowEndTime": "17:00",
"warmupLanguage": "en",
"targetIndustry": "saas_software",
"warmupTopics": ["Referral request", "Case study"]
}워밍업 언어 목록#
https://app.inboxwarm.ai/api/v1/warmup-settings/languages워밍업 콘텐츠를 생성할 수 있는 모든 언어를 나열하여 warmupLanguage가 허용하는 값을 확인할 수 있습니다.
api_key응답
{
"languages": [
{ "code": "en", "name": "English", "nativeName": "English", "script": "Latin" },
{ "code": "es", "name": "Spanish", "nativeName": "Español", "script": "Latin" },
{ "code": "ja", "name": "Japanese", "nativeName": "日本語", "script": "Japanese" }
]
}워밍업 업종 목록#
https://app.inboxwarm.ai/api/v1/warmup-settings/industries모든 대상 업종과 추천 주제를 나열하여 targetIndustry와 warmupTopics가 허용하는 값을 확인할 수 있습니다.
api_key응답
{
"industries": [
{
"key": "e_commerce",
"name": "E-Commerce",
"topics": [
"Abandoned cart follow-up",
"New product launch",
"Seasonal sale announcement",
"Order and shipping update",
"Customer review request"
]
},
{
"key": "saas_software",
"name": "SaaS / Software",
"topics": ["Feature announcement", "Onboarding tip", "Case study"]
}
]
}워밍업 시작#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/start계정의 워밍업을 시작합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}"
}응답
{
"emailAccountId": "12345",
"warmupStatus": "active"
}워밍업 중지#
https://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/stop계정의 워밍업을 중지합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}"
}응답
{
"emailAccountId": "12345",
"warmupStatus": "paused"
}워밍업 일괄 작업#
https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-action한 번의 호출로 최대 50개 계정의 워밍업을 시작하거나 중지합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"action": "start"
}응답
{
"results": [
{
"emailAccountId": "12345",
"status": "ok"
},
{
"emailAccountId": "12346",
"status": "ok"
}
]
}워밍업 설정 일괄 업데이트#
https://app.inboxwarm.ai/api/v1/warmup-settings/bulk-update한 번의 호출로 최대 50개 계정에 일정 및/또는 콘텐츠 설정을 적용합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"apply": ["language", "window"],
"warmupLanguage": "es",
"sendingWindowStartTime": "06:00",
"sendingWindowEndTime": "10:00"
}응답
{
"updatedCount": 2
}워밍업 활동 기록#
https://app.inboxwarm.ai/api/v1/warmup-status/{emailAccountId}계정의 오늘 워밍업 활동: 발신, 수신, 답장, 스팸, 반송.
api_key응답
{
"emailAccountId": "12345",
"date": "2026-07-15",
"current": "active",
"dailySendingLimit": 10,
"sent": 12,
"received": 10,
"replied": 7,
"spam": 1,
"bounced": 0
}전달성
설정 점수 조회#
https://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}계정에 대한 캐시된 설정 상태 점수(DMARC, SPF, DKIM, MX, 블랙리스트 검사).
api_key응답
{
"emailAccountId": "12345",
"emailAccountScore": 86,
"dmarcScore": 15,
"spfScore": 29,
"dkimScore": 18,
"mxRecordScore": 9,
"ipBlacklistScore": 5,
"domainBlacklistScore": 10,
"updatedAt": "2026-07-14T10:30:00.000Z",
"manualLastRefreshedAt": "2026-07-14T10:30:00.000Z"
}설정 점수 새로고침#
https://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}/refresh계정의 설정 점수를 동기식으로 다시 계산합니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}"
}응답
{
"emailAccountId": "12345",
"emailAccountScore": 88,
"dmarcScore": 15,
"spfScore": 29,
"dkimScore": 18,
"mxRecordScore": 9,
"ipBlacklistScore": 7,
"domainBlacklistScore": 10,
"updatedAt": "2026-07-15T09:00:00.000Z",
"manualLastRefreshedAt": "2026-07-15T09:00:00.000Z"
}DNS 상태 점검#
https://app.inboxwarm.ai/api/v1/dns-health/{emailAccountId}계정의 발신 도메인에 대한 실시간 DNS 조회 — SPF, DKIM, DMARC, MX에 대한 통과/실패.
api_key응답
{
"emailAccountId": "12345",
"spf": "pass",
"dkim": "pass",
"dmarc": "pass",
"mx": "pass",
"cachedAt": "2026-07-15T09:00:00.000Z"
}전달성 점수 조회#
https://app.inboxwarm.ai/api/v1/deliverability-score/{emailAccountId}지정한 기간에 대한 전체 및 ESP별 받은편지함 대 스팸 전달성 비율.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"startDate": "2026-06-01",
"endDate": "2026-06-30",
"esps": [
"gmail",
"outlook",
"other"
]
}응답
{
"emailAccountId": "12345",
"totalDeliverabilityRate": 88,
"totalSentCount": 1500,
"totalInboxCount": 1320,
"totalSpamInboxCount": 180,
"gmail": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
},
"outlook": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
},
"other": {
"deliverabilityRate": 92,
"sentCount": 500,
"inboxCount": 460,
"spamCount": 40
}
}리포트
대시보드#
https://app.inboxwarm.ai/api/v1/dashboard연결된 모든 받은편지함에 걸친 계정 전체 워밍업 요약.
api_key응답
{
"totalAccounts": 42,
"activeWarmups": 30,
"pausedWarmups": 8,
"accountsWithErrors": 2,
"avgSetupScore": 78.5
}단일 계정 리포트#
https://app.inboxwarm.ai/api/v1/reports지정한 기간 동안 한 계정에 대한 일일 워밍업 리포트.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30"
}응답
{
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30",
"days": [
{
"date": "2026-06-15",
"sent": 25,
"inbox": 20,
"received": 22,
"spam": 3,
"bounced": 1,
"undelivered": 0,
"replied": 5,
"deliverabilityRate": 92.5
}
]
}일괄 리포트#
https://app.inboxwarm.ai/api/v1/reports/bulk지정한 기간 동안 최대 50개 계정에 대한 일일 워밍업 리포트.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"from": "2026-06-01",
"to": "2026-06-30"
}응답
{
"reports": [
{
"emailAccountId": "12345",
"from": "2026-06-01",
"to": "2026-06-30",
"days": [
{
"date": "2026-06-15",
"sent": 25,
"inbox": 20,
"received": 22,
"spam": 3,
"bounced": 1,
"undelivered": 0,
"replied": 5,
"deliverabilityRate": 92.5
}
]
}
]
}리포트 내보내기#
https://app.inboxwarm.ai/api/v1/reports/export워밍업 리포트의 비동기 CSV 내보내기를 시작하며, 준비되면 이메일로 전달됩니다.
apiKey요청 본문
{
"apiKey": "{{apiKey}}",
"emailAccountIds": [
"12345",
"12346"
],
"from": "2026-06-01",
"to": "2026-06-30"
}응답
{
"jobId": "a1b2c3d4",
"status": "queued"
}