Sending accounts

Create an SMTP sending account

Creates a custom SMTP sending account. Supply an Idempotency-Key header to safely retry on network errors. The SMTP password is stored securely and is never returned.

post/providers

Request

  • Base URL: https://app.sendmux.ai/api/v1
  • URL: https://app.sendmux.ai/api/v1/providers
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://app.sendmux.ai/oauth/authorize, token URL https://app.sendmux.ai/oauth/token, scopes: provider.create)

Headers

Idempotency-Keystring

Client-chosen unique key to safely retry the request. Cached for 24h per (team, endpoint, key). Different body with same key returns 409 idempotency_conflict.

Example:providers-create-20260525-001

Request body

from_emailstring email nullable

Default From email address for an SMTP account.

from_namestring nullable
namestring required
percentageinteger
reply_to_emailstring email nullable
reply_to_namestring nullable
smtp_hoststring required
smtp_passwordstring required
smtp_portinteger required
smtp_protocol'tls' | 'ssl' | 'none' | 'starttls' required
smtp_usernamestring required
tracking_domainstring nullable
variablesProviderVariables

Per-account string variables. PATCH omission preserves the current map, a supplied map replaces it, and an empty map clears it. Detail responses return an empty map when no variables are set.

Example request

{
  "from_email": "sender@example.com",
  "from_name": "Acme",
  "name": "Transactional SMTP",
  "percentage": 100,
  "quotas": {
    "per_day": {
      "max": 60,
      "min": 60
    },
    "per_hour": {
      "max": 60,
      "min": 60
    },
    "per_minute": {
      "max": 60,
      "min": 60
    },
    "per_second": {
      "max": 60,
      "min": 60
    }
  },
  "reply_to_email": "support@example.com",
  "reply_to_name": "Support",
  "smtp_host": "smtp.example.com",
  "smtp_password": "smtp-password",
  "smtp_port": 587,
  "smtp_protocol": "starttls",
  "smtp_username": "api-user",
  "tracking_domain": "click.example.com",
  "variables": {
    "signature_url": "https://example.com/signature"
  }
}

Response

Sending account created

oktrue required

Example response

{
  "meta": {
    "request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  "data": {
    "created_at": "2026-05-25T02:18:00Z",
    "id": "dprov_clxxxxxxxxxxxxxxxxxxxxxxxxx",
    "name": "Transactional SMTP",
    "percentage": 100,
    "quotas": {
      "per_day": {
        "max": 60,
        "min": 60
      },
      "per_hour": {
        "max": 60,
        "min": 60
      },
      "per_minute": {
        "max": 60,
        "min": 60
      },
      "per_second": {
        "max": 60,
        "min": 60
      }
    },
    "status": "active",
    "type": "smtp",
    "updated_at": "2026-05-25T02:18:00Z",
    "variables": {
      "signature_url": "https://example.com/signature"
    }
  }
}

Changes