Emails
Send batch emails
POST
/emails/batch Send up to 100 emails in one request.
Parameters
fromstringrequiredSender address. Add a friendly name as
Name <address>.tostring[]requiredRecipient addresses. Up to 50.
subjectstringrequiredSubject line.
htmlstringThe HTML body.
textstringThe plain-text body. Generated from
html when omitted.ccstring[]Carbon-copy recipients.
reply_tostringWhere replies go.
scheduled_atstringWhen to deliver, ISO 8601 or natural language.
tagsobject[]Key/value pairs for filtering.
[
{
"from": "string",
"to": [
"string"
],
"subject": "string",
"html": "string",
"text": "string",
"cc": [
"string"
],
"reply_to": "string",
"scheduled_at": "string",
"tags": [
{}
]
}
]Code samples
TypeScript
const res = await fetch('https://api.postwick.dev/emails/batch', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify([{"from":"string","to":["string"],"subject":"string","html":"string","text":"string","cc":["string"],"reply_to":"string","scheduled_at":"string","tags":[{}]}]),
});
const data = await res.json();PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.postwick.dev/emails/batch');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"from":"string","to":["string"],"subject":"string","html":"string","text":"string","cc":["string"],"reply_to":"string","scheduled_at":"string","tags":[{}]}]');
$response = curl_exec($ch);
curl_close($ch);
echo $response;Python
import requests
res = requests.request(
"POST",
"https://api.postwick.dev/emails/batch",
headers={
"Content-Type": "application/json",
},
json=[{"from": "string", "to": ["string"], "subject": "string", "html": "string", "text": "string", "cc": ["string"], "reply_to": "string", "scheduled_at": "string", "tags": [{}]}],
)
data = res.json()Ruby
require 'net/http'
require 'uri'
uri = URI('https://api.postwick.dev/emails/batch')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '[{"from":"string","to":["string"],"subject":"string","html":"string","text":"string","cc":["string"],"reply_to":"string","scheduled_at":"string","tags":[{}]}]'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(req)
end
puts res.bodyGo
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://api.postwick.dev/emails/batch", strings.NewReader(`[{"from":"string","to":["string"],"subject":"string","html":"string","text":"string","cc":["string"],"reply_to":"string","scheduled_at":"string","tags":[{}]}]`))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}cURL
curl -X POST "https://api.postwick.dev/emails/batch" \
-H "Content-Type: application/json" \
-d '[{"from":"string","to":["string"],"subject":"string","html":"string","text":"string","cc":["string"],"reply_to":"string","scheduled_at":"string","tags":[{}]}]'Responses
200 OK
{
"data": [
{
"id": "ae2014de"
},
{
"id": "faccb7a5"
}
]
}Was this page helpful?