Ping
Returns a simple status response to confirm the API is reachable. No authentication required.
pingcurl -X GET "https://conduit.email/api/v1/ping"
{
"status": "string"
}Conduit bridges inbound SMTP to outbound HTTP webhooks. This REST API manages accounts, sessions, webhooks, and domain ownership.
Group
General system endpoints
Returns a simple status response to confirm the API is reachable. No authentication required.
pingcurl -X GET "https://conduit.email/api/v1/ping"
{
"status": "string"
}Group
Authentication and session management
createSession{
"email": "string",
"password": "string"
}curl -X POST "https://conduit.email/api/v1/sessions"
-H "Content-Type: application/json"
-d '{"email": "string","password": "string"}'"value"{
"code": "string",
"error": "string"
}deleteSession{
"refresh_token": "string"
}curl -X DELETE "https://conduit.email/api/v1/sessions"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"refresh_token": "string"}'{
"code": "string",
"error": "string"
}completeTOTPSession{
"code": "string",
"totp_token": "string"
}curl -X POST "https://conduit.email/api/v1/sessions/2fa"
-H "Content-Type: application/json"
-d '{"code": "string","totp_token": "string"}'{
"access_token": "string",
"expires_in": 0,
"refresh_token": "string"
}{
"code": "string",
"error": "string"
}refreshSession{
"refresh_token": "string"
}curl -X POST "https://conduit.email/api/v1/sessions/refresh"
-H "Content-Type: application/json"
-d '{"refresh_token": "string"}'{
"access_token": "string",
"expires_in": 0,
"refresh_token": "string"
}{
"code": "string",
"error": "string"
}Group
Account management operations
createAccount{
"email": "string",
"password": "string"
}curl -X POST "https://conduit.email/api/v1/accounts"
-H "Content-Type: application/json"
-d '{"email": "string","password": "string"}'{
"created_at": "2026-04-02T12:00:00Z",
"email": "string",
"id": "string",
"timezone": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}getAccountcurl -X GET "https://conduit.email/api/v1/accounts/me"
-H "Authorization: Bearer <token>"
{
"created_at": "2026-04-02T12:00:00Z",
"email": "string",
"id": "string",
"timezone": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}deleteAccount{
"confirm": true,
"password": "string"
}curl -X DELETE "https://conduit.email/api/v1/accounts/me"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"confirm": true,"password": "string"}'{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}Returns the most recent account audit log entries in reverse chronological order. Entries are retained for 180 days.
listAuditLogcurl -X GET "https://conduit.email/api/v1/accounts/me/audit-log"
-H "Authorization: Bearer <token>"
[
{
"action": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"ip": "string",
"metadata": {
"key": "value"
}
}
]{
"code": "string",
"error": "string"
}updateTimezone{
"timezone": "string"
}curl -X PUT "https://conduit.email/api/v1/accounts/me/timezone"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"timezone": "string"}'{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}requestPasswordReset{
"email": "string"
}curl -X POST "https://conduit.email/api/v1/accounts/me/password-reset"
-H "Content-Type: application/json"
-d '{"email": "string"}'changePassword{
"current_password": "string",
"new_password": "string",
"revoke_api_tokens": true
}curl -X PUT "https://conduit.email/api/v1/accounts/me/password"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"current_password": "string","new_password": "string","revoke_api_tokens": true}'{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}confirmPasswordReset{
"new_password": "string",
"token": "string"
}curl -X PUT "https://conduit.email/api/v1/accounts/me/password-reset"
-H "Content-Type: application/json"
-d '{"new_password": "string","token": "string"}'{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}Group
Domain management operations
listDomainscurl -X GET "https://conduit.email/api/v1/domains"
-H "Authorization: Bearer <token>"
[
{
"account_id": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"is_public": true,
"name": "string",
"updated_at": "2026-04-02T12:00:00Z",
"verification_token": "string",
"verified": true
}
]{
"code": "string",
"error": "string"
}createDomainClaim{
"name": "string"
}curl -X POST "https://conduit.email/api/v1/domains"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"name": "string"}'{
"account_id": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"is_public": true,
"name": "string",
"updated_at": "2026-04-02T12:00:00Z",
"verification_token": "string",
"verified": true
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}getDomaincurl -X GET "https://conduit.email/api/v1/domains/{id}"
-H "Authorization: Bearer <token>"
{
"account_id": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"is_public": true,
"name": "string",
"updated_at": "2026-04-02T12:00:00Z",
"verification_token": "string",
"verified": true
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}deleteDomaincurl -X DELETE "https://conduit.email/api/v1/domains/{id}"
-H "Authorization: Bearer <token>"
{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}Performs two DNS checks before marking the domain as verified: 1. A TXT lookup under `_conduit-verify.<domain>` must return the domain's verification token. 2. An MX lookup for `<domain>` must return a record pointing to `mx.conduit.email` (priority 10). Both records must be in place before calling this endpoint. If either check fails a `422` is returned.
verifyDomaincurl -X POST "https://conduit.email/api/v1/domains/{id}/verify"
-H "Authorization: Bearer <token>"
{
"account_id": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"is_public": true,
"name": "string",
"updated_at": "2026-04-02T12:00:00Z",
"verification_token": "string",
"verified": true
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}Group
SMTP security policy management
listSmtpSecurityPoliciescurl -X GET "https://conduit.email/api/v1/smtp-policies"
-H "Authorization: Bearer <token>"
[
{
"allowed_dkim_domains": "string",
"allowed_source_ips": "string",
"allowed_spf_domains": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"name": "string",
"require_dkim": true,
"require_smtp_auth": true,
"require_spf": true,
"smtp_credentials": "string",
"updated_at": "2026-04-02T12:00:00Z"
}
]{
"code": "string",
"error": "string"
}createSmtpSecurityPolicy{
"allowed_dkim_domains": "string",
"allowed_source_ips": "string",
"allowed_spf_domains": "string",
"name": "string",
"require_dkim": true,
"require_smtp_auth": true,
"require_spf": true,
"smtp_credentials": "string"
}curl -X POST "https://conduit.email/api/v1/smtp-policies"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"allowed_dkim_domains": "string","allowed_source_ips": "string","allowed_spf_domains": "string","name": "string","require_dkim": true,"require_smtp_auth": true,"require_spf": true,"smtp_credentials": "string"}'{
"allowed_dkim_domains": "string",
"allowed_source_ips": "string",
"allowed_spf_domains": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"name": "string",
"require_dkim": true,
"require_smtp_auth": true,
"require_spf": true,
"smtp_credentials": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}getSmtpSecurityPolicycurl -X GET "https://conduit.email/api/v1/smtp-policies/{id}"
-H "Authorization: Bearer <token>"
{
"allowed_dkim_domains": "string",
"allowed_source_ips": "string",
"allowed_spf_domains": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"name": "string",
"require_dkim": true,
"require_smtp_auth": true,
"require_spf": true,
"smtp_credentials": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}updateSmtpSecurityPolicy{
"allowed_dkim_domains": "string",
"allowed_source_ips": "string",
"allowed_spf_domains": "string",
"name": "string",
"require_dkim": true,
"require_smtp_auth": true,
"require_spf": true,
"smtp_credentials": "string"
}curl -X PUT "https://conduit.email/api/v1/smtp-policies/{id}"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"allowed_dkim_domains": "string","allowed_source_ips": "string","allowed_spf_domains": "string","name": "string","require_dkim": true,"require_smtp_auth": true,"require_spf": true,"smtp_credentials": "string"}'{
"allowed_dkim_domains": "string",
"allowed_source_ips": "string",
"allowed_spf_domains": "string",
"created_at": "2026-04-02T12:00:00Z",
"id": "string",
"name": "string",
"require_dkim": true,
"require_smtp_auth": true,
"require_spf": true,
"smtp_credentials": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}deleteSmtpSecurityPolicycurl -X DELETE "https://conduit.email/api/v1/smtp-policies/{id}"
-H "Authorization: Bearer <token>"
{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}Group
Webhook management and delivery logs
listWebhookscurl -X GET "https://conduit.email/api/v1/webhooks"
-H "Authorization: Bearer <token>"
[
{
"active": true,
"address": "string",
"created_at": "2026-04-02T12:00:00Z",
"custom_headers": {
"key": "value"
},
"id": "string",
"name": "string",
"payload_template": "string",
"rate_limit": 0,
"secret": "string",
"smtp_security_policy_id": "string",
"target_url": "string",
"updated_at": "2026-04-02T12:00:00Z"
}
]{
"code": "string",
"error": "string"
}createWebhook{
"active": true,
"address": "string",
"custom_headers": {
"key": "value"
},
"name": "string",
"payload_template": "string",
"rate_limit": 0,
"secret": "string",
"smtp_security_policy_id": "string",
"target_url": "string"
}curl -X POST "https://conduit.email/api/v1/webhooks"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"active": true,"address": "string","custom_headers": {"key": "value"},"name": "string","payload_template": "string","rate_limit": 0,"secret": "string","smtp_security_policy_id": "string","target_url": "string"}'{
"active": true,
"address": "string",
"created_at": "2026-04-02T12:00:00Z",
"custom_headers": {
"key": "value"
},
"id": "string",
"name": "string",
"payload_template": "string",
"rate_limit": 0,
"secret": "string",
"smtp_security_policy_id": "string",
"target_url": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}getWebhookcurl -X GET "https://conduit.email/api/v1/webhooks/{id}"
-H "Authorization: Bearer <token>"
{
"active": true,
"address": "string",
"created_at": "2026-04-02T12:00:00Z",
"custom_headers": {
"key": "value"
},
"id": "string",
"name": "string",
"payload_template": "string",
"rate_limit": 0,
"secret": "string",
"smtp_security_policy_id": "string",
"target_url": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}updateWebhook{
"active": true,
"address": "string",
"clear_security_policy": true,
"custom_headers": {
"key": "value"
},
"name": "string",
"payload_template": "string",
"rate_limit": 0,
"secret": "string",
"smtp_security_policy_id": "string",
"target_url": "string"
}curl -X PUT "https://conduit.email/api/v1/webhooks/{id}"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"active": true,"address": "string","clear_security_policy": true,"custom_headers": {"key": "value"},"name": "string","payload_template": "string","rate_limit": 0,"secret": "string","smtp_security_policy_id": "string","target_url": "string"}'{
"active": true,
"address": "string",
"created_at": "2026-04-02T12:00:00Z",
"custom_headers": {
"key": "value"
},
"id": "string",
"name": "string",
"payload_template": "string",
"rate_limit": 0,
"secret": "string",
"smtp_security_policy_id": "string",
"target_url": "string",
"updated_at": "2026-04-02T12:00:00Z"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}deleteWebhookcurl -X DELETE "https://conduit.email/api/v1/webhooks/{id}"
-H "Authorization: Bearer <token>"
{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}listDeliveryLogscurl -X GET "https://conduit.email/api/v1/webhooks/{id}/logs"
-H "Authorization: Bearer <token>"
[
{
"attempted_at": "2026-04-02T12:00:00Z",
"duration_ms": 0,
"error": "string",
"http_status": 0,
"id": "string",
"sender": "string",
"simulated": true,
"smtp_message_id": "string",
"webhook_id": "string"
}
]{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}Constructs a synthetic email message and delivers it to the webhook target, recording the result in the delivery log with a simulated flag.
simulateWebhook{
"from": "string",
"subject": "string",
"text": "string"
}curl -X POST "https://conduit.email/api/v1/webhooks/{id}/simulate"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"from": "string","subject": "string","text": "string"}'{
"duration_ms": 0,
"error": "string",
"http_status": 0,
"simulated": true
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}getDeliveryLogcurl -X GET "https://conduit.email/api/v1/webhooks/{id}/logs/{logId}"
-H "Authorization: Bearer <token>"
{
"attempted_at": "2026-04-02T12:00:00Z",
"duration_ms": 0,
"error": "string",
"http_status": 0,
"id": "string",
"sender": "string",
"simulated": true,
"smtp_message_id": "string",
"webhook_id": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}Group
Two-factor authentication
disableTOTP{
"code": "string"
}curl -X DELETE "https://conduit.email/api/v1/accounts/me/2fa"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"code": "string"}'{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}regenerateBackupCodes{
"code": "string"
}curl -X POST "https://conduit.email/api/v1/accounts/me/2fa/backup-codes"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"code": "string"}'{
"backup_codes": [
"string"
]
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}enableTOTP{
"code": "string"
}curl -X POST "https://conduit.email/api/v1/accounts/me/2fa/enable"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"code": "string"}'{
"backup_codes": [
"string"
]
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}setupTOTPcurl -X POST "https://conduit.email/api/v1/accounts/me/2fa/setup"
-H "Authorization: Bearer <token>"
{
"otpauth_url": "string",
"qr_code_png": "string",
"secret": "string"
}{
"code": "string",
"error": "string"
}Group
Long-lived API token management
listAPITokenscurl -X GET "https://conduit.email/api/v1/accounts/me/api-tokens"
-H "Authorization: Bearer <token>"
[
{
"allowed_ips": [
"string"
],
"created_at": "2026-04-02T12:00:00Z",
"expires_at": "2026-04-02T12:00:00Z",
"id": "string",
"last_used_at": "2026-04-02T12:00:00Z",
"name": "string",
"token": "string"
}
]{
"code": "string",
"error": "string"
}createAPIToken{
"allowed_ips": [
"string"
],
"expires_in": 0,
"name": "string"
}curl -X POST "https://conduit.email/api/v1/accounts/me/api-tokens"
-H "Authorization: Bearer <token>"
-H "Content-Type: application/json"
-d '{"allowed_ips": ["string"],"expires_in": 0,"name": "string"}'{
"allowed_ips": [
"string"
],
"created_at": "2026-04-02T12:00:00Z",
"expires_at": "2026-04-02T12:00:00Z",
"id": "string",
"last_used_at": "2026-04-02T12:00:00Z",
"name": "string",
"token": "string"
}{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}deleteAPITokencurl -X DELETE "https://conduit.email/api/v1/accounts/me/api-tokens/{id}"
-H "Authorization: Bearer <token>"
{
"code": "string",
"error": "string"
}{
"code": "string",
"error": "string"
}