이메일 제공자 조회
GET /v1/email-provider · 권한 email-provider:read · 모든 요금제
환경이 이메일을 발송하는 방식을 반환합니다. 여기에는 발송 모드, 발신자 주소, 직접 구성한 SMTP 서버 또는 이메일 제공자, 마지막 연결 테스트 결과가 포함됩니다.
자격 증명(SMTP 비밀번호 또는 API 키)은 마스킹되거나 길이 정보를 포함한 형태로도 반환되지 않습니다. credentials_set은 자격 증명이 저장되어 있는지 여부만 나타냅니다.
한 번도 구성되지 않은 환경은 버전 0과 함께 platform_default를 반환합니다. ETag 헤더에는 버전이 포함되며, 구성을 교체할 때 If-Match로 전송하십시오.
응답
200 OK와 함께 구성 정보를 반환하며, ETag에는 해당 버전이 설정됩니다.
| 필드 | 유형 | 설명 |
|---|---|---|
mode |
string | platform_default, platform_managed_domain, customer_smtp, customer_api 또는 customer_webhook. |
sender_domain_id |
string 또는 null | platform_managed_domain: 메일 발송에 사용되는 발신 도메인(sdom_…). 다른 모든 모드에서는 null입니다. 현재 상태는 도메인을 조회하여 확인하십시오. |
webhook_endpoint_id |
string 또는 null | customer_webhook: 렌더링된 메시지를 받는 웹훅 엔드포인트(whe_…). 다른 모든 모드에서는 null입니다. 엔드포인트가 여전히 활성화되어 있는지는 엔드포인트를 조회하여 확인하십시오. |
from_address |
string 또는 null | 발신자 주소(표시 이름 제외). platform_default에서는 null입니다. |
reply_to |
string 또는 null | 회신 주소(표시 이름 제외). |
provider |
string 또는 null | customer_api 제공자: ses, sendgrid, postmark, mailgun 또는 brevo. |
smtp_host |
string 또는 null | customer_smtp 서버 호스트 이름. |
smtp_port |
integer 또는 null | customer_smtp 포트: 465(암시적 TLS) 또는 587(STARTTLS). |
smtp_username |
string 또는 null | customer_smtp AUTH 사용자 이름. 비밀 정보가 아닙니다. |
credentials_set |
boolean | 자격 증명이 저장되어 있는지 여부. |
last_test_at |
string 또는 null | 마지막 연결 테스트의 시간. 구성이 변경되면 초기화됩니다. |
last_test_result |
string 또는 null | 마지막 테스트의 ok 또는 고정된 오류 코드. |
version |
integer | 구성 버전이며 ETag와 같습니다. 0은 한 번도 구성되지 않았음을 뜻합니다. |
updated_at |
string 또는 null | 마지막 변경 시간. |
{
"mode": "customer_smtp",
"sender_domain_id": null,
"webhook_endpoint_id": null,
"from_address": "no-reply@example.com",
"reply_to": null,
"provider": null,
"smtp_host": "smtp.example.com",
"smtp_port": 587,
"smtp_username": "mailer",
"credentials_set": true,
"last_test_at": "2026-10-19T09:30:00Z",
"last_test_result": "ok",
"version": 4,
"updated_at": "2026-10-19T09:00:00Z"
}
platform_managed_domain 구성의 예시입니다.
{
"mode": "platform_managed_domain",
"sender_domain_id": "sdom_01k7xq3m5r8t9v0w1x2y3z4a5b",
"webhook_endpoint_id": null,
"from_address": "auth@mail.example.com",
"reply_to": "support@example.com",
"provider": null,
"smtp_host": null,
"smtp_port": null,
"smtp_username": null,
"credentials_set": false,
"last_test_at": null,
"last_test_result": null,
"version": 5,
"updated_at": "2026-10-19T10:00:00Z"
}
customer_webhook 구성의 예시입니다.
{
"mode": "customer_webhook",
"sender_domain_id": null,
"webhook_endpoint_id": "whe_01k7xq3m5r8t9v0w1x2y3z4a5b",
"from_address": "auth@example.com",
"reply_to": null,
"provider": null,
"smtp_host": null,
"smtp_port": null,
"smtp_username": null,
"credentials_set": false,
"last_test_at": null,
"last_test_result": null,
"version": 6,
"updated_at": "2026-10-27T09:00:00Z"
}
오류
| HTTP | code | 발생 조건 |
|---|---|---|
| 401 | unauthenticated |
자격 증명이 없거나 유효하지 않거나 취소되었습니다. |
| 403 | insufficient_permissions |
자격 증명에 필요한 권한이 없습니다. |
| 429 | rate_limited |
속도 제한을 초과했습니다. Retry-After 기간 이후에 다시 시도하십시오. |
| 503 | service_unavailable |
종속 서비스를 일시적으로 사용할 수 없습니다. Retry-After 기간 이후에 다시 시도하십시오. |
예시
curl https://api.eu.keenauth.com/v1/email-provider \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI: keenauth email-provider get