Skip to main content
POST
/
v1
/
emails
cURL
curl --request POST \
  --url https://api.transmit.dev/v1/emails \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "from": "<string>",
  "to": "jsmith@example.com",
  "from_name": "<string>",
  "reply_to": "jsmith@example.com",
  "cc": "jsmith@example.com",
  "bcc": "jsmith@example.com",
  "subject": "<string>",
  "html": "<string>",
  "text": "<string>",
  "template_id": "<string>",
  "template_friendly_name": "<string>",
  "variables": {},
  "tags": [
    "<string>"
  ],
  "headers": {},
  "attachments": [
    {
      "filename": "<string>",
      "content": "<string>",
      "type": "<string>",
      "disposition": "attachment",
      "contentId": "<string>"
    }
  ],
  "scheduled_for": "2023-11-07T05:31:56Z",
  "batch_id": "<string>",
  "message_stream": "transactional",
  "track_opens": true,
  "track_clicks": true
}
'
{
  "id": "<string>",
  "from": "<string>",
  "to": [
    "jsmith@example.com"
  ],
  "subject": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "scheduled_for": "2023-11-07T05:31:56Z",
  "suppressed_recipients": [
    "jsmith@example.com"
  ],
  "status": "<string>",
  "workflow_id": "<string>"
}

Authorizations

Authorization
string
header
required

Enter your API key with 'tx_' prefix. Get your API key from the dashboard.

Body

application/json
from
string
required
Minimum string length: 1
Pattern: ^.+@.+\..+$
to
required
Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
from_name
string
reply_to
string<email>
Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
cc
Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
bcc
Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
subject
string
Minimum string length: 1
html
string
text
string
template_id
string
template_friendly_name
string
variables
object
tags
string[]
headers
object
attachments
object[]
scheduled_for
string<date-time>
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
batch_id
string
message_stream
enum<string>
Available options:
transactional,
broadcast
track_opens
boolean
track_clicks
boolean

Response

Email accepted for processing. Email record created and workflow started.

id
string
required

Email ID (Resend-compatible)

from
string
required

Sender address. Supports optional display name (e.g. 'Sender Name sender@example.com').

Minimum string length: 1
to
string<email>[]
required

Recipient email addresses

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
subject
string
required

Email subject

created_at
string<date-time>
required

Creation timestamp

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
scheduled_for
string<date-time> | null
required

Scheduled delivery time

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
suppressed_recipients
string<email>[]
required

Recipients that were suppressed

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
status
string
required

Email processing status

Allowed value: "processing"
workflow_id
string

Workflow ID for tracking durable execution (debugging)