Skip to main content
POST
/
v1
/
emails
/
import
curl --request POST \
  --url https://brew.new/api/v1/emails/import \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "format": "html",
  "title": "Spring sale",
  "content": "<html><body><h1>Spring sale</h1><p>20% off everything.</p><img src=\"https://example.com/banner.png\" alt=\"banner\"></body></html>"
}
'
{
  "emailId": "eml_2SmZOWV3ZQ7W5x6g3m4p",
  "emailVersionId": "emv_2SmZOWV3ZQ7W5x6g3m4p_v1",
  "html": "<!DOCTYPE html><html><body>Welcome to Brew.</body></html>",
  "previewImage": "https://storage.example.com/emails/eml_2SmZOWV3ZQ7W5x6g3m4p.png"
}

Authorizations

Authorization
string
header
default:Bearer brew_your_api_key
required

Send your Brew API key as Authorization: Bearer brew_xxx.

Headers

Idempotency-Key
string

Optional idempotency key for safe retries. Reusing the same key with the same request body returns the original response for 24 hours.

Required string length: 1 - 100

Body

application/json
format
enum<string>
required
Available options:
html,
mjml,
jsx
content
string
required
Required string length: 1 - 5000000
title
string
Required string length: 1 - 200
baseUrl
string<uri>

Response

The design was imported + persisted. Usage-metered: the agent’s actual token usage is charged. emailVersionId pins the exact version for sends + automation nodes.

emailId
string
required
Minimum string length: 1
emailVersionId
string
required
Minimum string length: 1
html
string
required
previewImage
string<uri>