curl --request POST \
--url https://api.simpu.co/email/send \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"recipients": "john@acme.com,mack@acme.com",
"sender_id": "jane@acme.com",
"content": "Hello, this is just a test.",
"from_name": "John from Acme",
"subject": "This is a test!!!",
"reply_to": "no-reply@acme.com",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/email/delivery_report",
"template_id": "674535b2b39158b9aae90188fcec23eb",
"personalisation": [
{
"to": "mack@acme.com",
"substitutions": {
"name": "Mack from Acme"
}
}
]
}
'import requests
url = "https://api.simpu.co/email/send"
payload = {
"recipients": "john@acme.com,mack@acme.com",
"sender_id": "jane@acme.com",
"content": "Hello, this is just a test.",
"from_name": "John from Acme",
"subject": "This is a test!!!",
"reply_to": "no-reply@acme.com",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/email/delivery_report",
"template_id": "674535b2b39158b9aae90188fcec23eb",
"personalisation": [
{
"to": "mack@acme.com",
"substitutions": { "name": "Mack from Acme" }
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipients: 'john@acme.com,mack@acme.com',
sender_id: 'jane@acme.com',
content: 'Hello, this is just a test.',
from_name: 'John from Acme',
subject: 'This is a test!!!',
reply_to: 'no-reply@acme.com',
external_ref: '674535b2b39158b9aae90188fcec23eb',
callback: 'https://example.com/email/delivery_report',
template_id: '674535b2b39158b9aae90188fcec23eb',
personalisation: [{to: 'mack@acme.com', substitutions: {name: 'Mack from Acme'}}]
})
};
fetch('https://api.simpu.co/email/send', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.simpu.co/email/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'recipients' => 'john@acme.com,mack@acme.com',
'sender_id' => 'jane@acme.com',
'content' => 'Hello, this is just a test.',
'from_name' => 'John from Acme',
'subject' => 'This is a test!!!',
'reply_to' => 'no-reply@acme.com',
'external_ref' => '674535b2b39158b9aae90188fcec23eb',
'callback' => 'https://example.com/email/delivery_report',
'template_id' => '674535b2b39158b9aae90188fcec23eb',
'personalisation' => [
[
'to' => 'mack@acme.com',
'substitutions' => [
'name' => 'Mack from Acme'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.simpu.co/email/send"
payload := strings.NewReader("{\n \"recipients\": \"john@acme.com,mack@acme.com\",\n \"sender_id\": \"jane@acme.com\",\n \"content\": \"Hello, this is just a test.\",\n \"from_name\": \"John from Acme\",\n \"subject\": \"This is a test!!!\",\n \"reply_to\": \"no-reply@acme.com\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\",\n \"callback\": \"https://example.com/email/delivery_report\",\n \"template_id\": \"674535b2b39158b9aae90188fcec23eb\",\n \"personalisation\": [\n {\n \"to\": \"mack@acme.com\",\n \"substitutions\": {\n \"name\": \"Mack from Acme\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.simpu.co/email/send")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"recipients\": \"john@acme.com,mack@acme.com\",\n \"sender_id\": \"jane@acme.com\",\n \"content\": \"Hello, this is just a test.\",\n \"from_name\": \"John from Acme\",\n \"subject\": \"This is a test!!!\",\n \"reply_to\": \"no-reply@acme.com\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\",\n \"callback\": \"https://example.com/email/delivery_report\",\n \"template_id\": \"674535b2b39158b9aae90188fcec23eb\",\n \"personalisation\": [\n {\n \"to\": \"mack@acme.com\",\n \"substitutions\": {\n \"name\": \"Mack from Acme\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.simpu.co/email/send")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipients\": \"john@acme.com,mack@acme.com\",\n \"sender_id\": \"jane@acme.com\",\n \"content\": \"Hello, this is just a test.\",\n \"from_name\": \"John from Acme\",\n \"subject\": \"This is a test!!!\",\n \"reply_to\": \"no-reply@acme.com\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\",\n \"callback\": \"https://example.com/email/delivery_report\",\n \"template_id\": \"674535b2b39158b9aae90188fcec23eb\",\n \"personalisation\": [\n {\n \"to\": \"mack@acme.com\",\n \"substitutions\": {\n \"name\": \"Mack from Acme\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "674535b2b39158b9aae90188fcec23eb",
"recipients": [
"mack@acme.com"
],
"sender_id": "john@acme.com",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/email/delivery_report",
"template_id": "674535b2b39158b9aae90188fcec23eb",
"from_name": "John from Acme",
"personalisation": [
{
"to": "mack@acme.com",
"substitutions": {
"name": "Mack from Acme"
}
}
],
"created_datetime": "2024-06-28T23:56:38.128604+00:00",
"updated_datetime": "2024-06-28T23:56:38.128604+00:00",
"meta": {
"method": "POST",
"resource": "/email/send",
"estimate": {
"available_balance": 1000.5,
"charge": 0.33
}
}
}{
"status": 200,
"message": "Invalid request",
"errors": [
{
"field": "name",
"message": "Error in field: 'name' Field required.",
"type": "missing"
}
]
}Send Email
Send an Email
curl --request POST \
--url https://api.simpu.co/email/send \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"recipients": "john@acme.com,mack@acme.com",
"sender_id": "jane@acme.com",
"content": "Hello, this is just a test.",
"from_name": "John from Acme",
"subject": "This is a test!!!",
"reply_to": "no-reply@acme.com",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/email/delivery_report",
"template_id": "674535b2b39158b9aae90188fcec23eb",
"personalisation": [
{
"to": "mack@acme.com",
"substitutions": {
"name": "Mack from Acme"
}
}
]
}
'import requests
url = "https://api.simpu.co/email/send"
payload = {
"recipients": "john@acme.com,mack@acme.com",
"sender_id": "jane@acme.com",
"content": "Hello, this is just a test.",
"from_name": "John from Acme",
"subject": "This is a test!!!",
"reply_to": "no-reply@acme.com",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/email/delivery_report",
"template_id": "674535b2b39158b9aae90188fcec23eb",
"personalisation": [
{
"to": "mack@acme.com",
"substitutions": { "name": "Mack from Acme" }
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipients: 'john@acme.com,mack@acme.com',
sender_id: 'jane@acme.com',
content: 'Hello, this is just a test.',
from_name: 'John from Acme',
subject: 'This is a test!!!',
reply_to: 'no-reply@acme.com',
external_ref: '674535b2b39158b9aae90188fcec23eb',
callback: 'https://example.com/email/delivery_report',
template_id: '674535b2b39158b9aae90188fcec23eb',
personalisation: [{to: 'mack@acme.com', substitutions: {name: 'Mack from Acme'}}]
})
};
fetch('https://api.simpu.co/email/send', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.simpu.co/email/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'recipients' => 'john@acme.com,mack@acme.com',
'sender_id' => 'jane@acme.com',
'content' => 'Hello, this is just a test.',
'from_name' => 'John from Acme',
'subject' => 'This is a test!!!',
'reply_to' => 'no-reply@acme.com',
'external_ref' => '674535b2b39158b9aae90188fcec23eb',
'callback' => 'https://example.com/email/delivery_report',
'template_id' => '674535b2b39158b9aae90188fcec23eb',
'personalisation' => [
[
'to' => 'mack@acme.com',
'substitutions' => [
'name' => 'Mack from Acme'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.simpu.co/email/send"
payload := strings.NewReader("{\n \"recipients\": \"john@acme.com,mack@acme.com\",\n \"sender_id\": \"jane@acme.com\",\n \"content\": \"Hello, this is just a test.\",\n \"from_name\": \"John from Acme\",\n \"subject\": \"This is a test!!!\",\n \"reply_to\": \"no-reply@acme.com\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\",\n \"callback\": \"https://example.com/email/delivery_report\",\n \"template_id\": \"674535b2b39158b9aae90188fcec23eb\",\n \"personalisation\": [\n {\n \"to\": \"mack@acme.com\",\n \"substitutions\": {\n \"name\": \"Mack from Acme\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.simpu.co/email/send")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"recipients\": \"john@acme.com,mack@acme.com\",\n \"sender_id\": \"jane@acme.com\",\n \"content\": \"Hello, this is just a test.\",\n \"from_name\": \"John from Acme\",\n \"subject\": \"This is a test!!!\",\n \"reply_to\": \"no-reply@acme.com\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\",\n \"callback\": \"https://example.com/email/delivery_report\",\n \"template_id\": \"674535b2b39158b9aae90188fcec23eb\",\n \"personalisation\": [\n {\n \"to\": \"mack@acme.com\",\n \"substitutions\": {\n \"name\": \"Mack from Acme\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.simpu.co/email/send")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipients\": \"john@acme.com,mack@acme.com\",\n \"sender_id\": \"jane@acme.com\",\n \"content\": \"Hello, this is just a test.\",\n \"from_name\": \"John from Acme\",\n \"subject\": \"This is a test!!!\",\n \"reply_to\": \"no-reply@acme.com\",\n \"external_ref\": \"674535b2b39158b9aae90188fcec23eb\",\n \"callback\": \"https://example.com/email/delivery_report\",\n \"template_id\": \"674535b2b39158b9aae90188fcec23eb\",\n \"personalisation\": [\n {\n \"to\": \"mack@acme.com\",\n \"substitutions\": {\n \"name\": \"Mack from Acme\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "674535b2b39158b9aae90188fcec23eb",
"recipients": [
"mack@acme.com"
],
"sender_id": "john@acme.com",
"external_ref": "674535b2b39158b9aae90188fcec23eb",
"callback": "https://example.com/email/delivery_report",
"template_id": "674535b2b39158b9aae90188fcec23eb",
"from_name": "John from Acme",
"personalisation": [
{
"to": "mack@acme.com",
"substitutions": {
"name": "Mack from Acme"
}
}
],
"created_datetime": "2024-06-28T23:56:38.128604+00:00",
"updated_datetime": "2024-06-28T23:56:38.128604+00:00",
"meta": {
"method": "POST",
"resource": "/email/send",
"estimate": {
"available_balance": 1000.5,
"charge": 0.33
}
}
}{
"status": 200,
"message": "Invalid request",
"errors": [
{
"field": "name",
"message": "Error in field: 'name' Field required.",
"type": "missing"
}
]
}Authorizations
An API key to authenticate requests
Body
Email object
Recipients of the Email, comma-separated list of emails
4"john@acme.com,mack@acme.com"
Sender ID of the Email
"jane@acme.com"
Content of the Email , this is required if a template ID is not specified
"Hello, this is just a test."
The name of the sender of the Email
"John from Acme"
Subject of the Email
"This is a test!!!"
The Email address a response should be sent to
"no-reply@acme.com"
This is a reference to the message in your system
"674535b2b39158b9aae90188fcec23eb"
This is the URL to receive delivery reports for the email
"https://example.com/email/delivery_report"
Template ID of the Email, this is required if content is not specified
"674535b2b39158b9aae90188fcec23eb"
Personalisation of the Email
Show child attributes
Show child attributes
Response
Email response
Unique ID of the Email
"674535b2b39158b9aae90188fcec23eb"
Recipients of the Email
["mack@acme.com"]
Sender ID of the Email
"john@acme.com"
This is a reference to the email in your system
"674535b2b39158b9aae90188fcec23eb"
This is the URL to receive delivery reports for the message
"https://example.com/email/delivery_report"
Template ID of the Email message
"674535b2b39158b9aae90188fcec23eb"
The sender of the email.
"John from Acme"
Personalisation of the Email message
Show child attributes
Show child attributes
Date and time the Email was created
"2024-06-28T23:56:38.128604+00:00"
Date and time the Email was last updated, if any
"2024-06-28T23:56:38.128604+00:00"
Show child attributes
Show child attributes