ultimate Developer
experience
Unmatched email deliveribility
Guarantee your messages make it to the inbox every time with tinyRelay's foolproof deliverability stack
Real-time Analytics and Insights
Transform data into action with comprehensive analytics that track the performance of your emails in real-time.
Seamless Integration with Your Existing Tools
Whether you're using CRM software, customer support platforms, or e-commerce systems, integrate tinyRelay effortlessly into your current business ecosystem.
Ridiculously easy
integration
An intuitive and streamlined interface allows you to send emails within moments. Seamlessly integrate it into your coding environment through SDKs tailored for your tech stack.
1const axios = require('axios');
2let data = JSON.stringify({
3 "subject": "Email subject",
4 "body": "Email body is added here",
5 "preview": "This is the test subject preview",
6 "campaignId": "campaignId",
7 "sender": {
8 "from": {
9 "name": "Senders name",
10 "email": "sender@gmail.com"
11 },
12 "replyTo": {
13 "name": "Senders name",
14 "email": "sender@gmail.com"
15 }
16 },
17 "recipients": {
18 "to": [
19 {
20 "name": "Receivers name",
21 "email": "receiver1@gmail.com"
22 }
23 ],
24 "cc": [
25 {
26 "name": "Receivers name",
27 "email": "receiver1@gmail.com"
28 }
29 ],
30 "bcc": [
31 {
32 "name": "Receivers name",
33 "email": "receiver1@gmail.com"
34 }
35 ]
36 }
37});
38
39let config = {
40 method: 'post',
41maxBodyLength: Infinity,
42 url: 'https://api.tinyemail.com/v1/relay/email/campaign',
43 headers: {
44 'Content-Type': 'application/json',
45 'Accept': 'application/json',
46 'X-RELAY-ACCESS-TOKEN': '<API_KEY_VALUE>'
47 },
48 data : data
49};
50
51axios(config)
52.then((response) => {
53 console.log(JSON.stringify(response.data));
54})
55.catch((error) => {
56 console.log(error);
57});
1const https = require('follow-redirects').https;
2const fs = require('fs');
3
4let options = {
5 'method': 'POST',
6 'hostname': 'api.tinyemail.com',
7 'path': '/v1/relay/email/campaign',
8 'headers': {
9 'Content-Type': 'application/json',
10 'Accept': 'application/json',
11 'X-RELAY-ACCESS-TOKEN': '<API_KEY_VALUE>'
12 },
13 'maxRedirects': 20
14};
15
16const req = https.request(options, (res) => {
17 let chunks = [];
18
19 res.on("data", (chunk) => {
20 chunks.push(chunk);
21 });
22
23 res.on("end", (chunk) => {
24 let body = Buffer.concat(chunks);
25 console.log(body.toString());
26 });
27
28 res.on("error", (error) => {
29 console.error(error);
30 });
31});
32
33let postData = JSON.stringify({
34 "subject": "Email subject",
35 "body": "Email body is added here",
36 "preview": "This is the test subject preview",
37 "campaignId": "campaignId",
38 "sender": {
39 "from": {
40 "name": "Senders name",
41 "email": "sender@gmail.com"
42 },
43 "replyTo": {
44 "name": "Senders name",
45 "email": "sender@gmail.com"
46 }
47 },
48 "recipients": {
49 "to": [
50 {
51 "name": "Receivers name",
52 "email": "receiver1@gmail.com"
53 }
54 ],
55 "cc": [
56 {
57 "name": "Receivers name",
58 "email": "receiver1@gmail.com"
59 }
60 ],
61 "bcc": [
62 {
63 "name": "Receivers name",
64 "email": "receiver1@gmail.com"
65 }
66 ]
67 }
68});
69
70req.write(postData);
71
72req.end();
1const request = require('request');
2let options = {
3 'method': 'POST',
4 'url': 'https://api.tinyemail.com/v1/relay/email/campaign',
5 'headers': {
6 'Content-Type': 'application/json',
7 'Accept': 'application/json',
8 'X-RELAY-ACCESS-TOKEN': '<API_KEY_VALUE>'
9 },
10 body: JSON.stringify({
11 "subject": "Email subject",
12 "body": "Email body is added here",
13 "preview": "This is the test subject preview",
14 "campaignId": "campaignId",
15 "sender": {
16 "from": {
17 "name": "Senders name",
18 "email": "sender@gmail.com"
19 },
20 "replyTo": {
21 "name": "Senders name",
22 "email": "sender@gmail.com"
23 }
24 },
25 "recipients": {
26 "to": [
27 {
28 "name": "Receivers name",
29 "email": "receiver1@gmail.com"
30 }
31 ],
32 "cc": [
33 {
34 "name": "Receivers name",
35 "email": "receiver1@gmail.com"
36 }
37 ],
38 "bcc": [
39 {
40 "name": "Receivers name",
41 "email": "receiver1@gmail.com"
42 }
43 ]
44 }
45 })
46
47};
48request(options, (error, response) => {
49 if (error) throw new Error(error);
50 console.log(response.body);
51});
1const unirest = require('unirest');
2const req = unirest('POST', 'https://api.tinyemail.com/v1/relay/email/campaign')
3 .headers({
4 'Content-Type': 'application/json',
5 'Accept': 'application/json',
6 'X-RELAY-ACCESS-TOKEN': '<API_KEY_VALUE>'
7 })
8 .send(JSON.stringify({
9 "subject": "Email subject",
10 "body": "Email body is added here",
11 "preview": "This is the test subject preview",
12 "campaignId": "campaignId",
13 "sender": {
14 "from": {
15 "name": "Senders name",
16 "email": "sender@gmail.com"
17 },
18 "replyTo": {
19 "name": "Senders name",
20 "email": "sender@gmail.com"
21 }
22 },
23 "recipients": {
24 "to": [
25 {
26 "name": "Receivers name",
27 "email": "receiver1@gmail.com"
28 }
29 ],
30 "cc": [
31 {
32 "name": "Receivers name",
33 "email": "receiver1@gmail.com"
34 }
35 ],
36 "bcc": [
37 {
38 "name": "Receivers name",
39 "email": "receiver1@gmail.com"
40 }
41 ]
42 }
43 }))
44 .end((res) => {
45 if (res.error) throw new Error(res.error);
46 console.log(res.raw_body);
47 });
1import requests
2import json
3
4url = "https://api.tinyemail.com/v1/relay/email/campaign"
5
6payload = json.dumps({
7 "subject": "Email subject",
8 "body": "Email body is added here",
9 "preview": "This is the test subject preview",
10 "campaignId": "campaignId",
11 "sender": {
12 "from": {
13 "name": "Senders name",
14 "email": "sender@gmail.com"
15 },
16 "replyTo": {
17 "name": "Senders name",
18 "email": "sender@gmail.com"
19 }
20 },
21 "recipients": {
22 "to": [
23 {
24 "name": "Receivers name",
25 "email": "receiver1@gmail.com"
26 }
27 ],
28 "cc": [
29 {
30 "name": "Receivers name",
31 "email": "receiver1@gmail.com"
32 }
33 ],
34 "bcc": [
35 {
36 "name": "Receivers name",
37 "email": "receiver1@gmail.com"
38 }
39 ]
40 }
41})
42headers = {
43 'Content-Type': 'application/json',
44 'Accept': 'application/json',
45 'X-RELAY-ACCESS-TOKEN': '<API_KEY_VALUE>'
46}
47
48response = requests.request("POST", url, headers=headers, data=payload)
49
50print(response.text)
1import http.client
2import json
3
4conn = http.client.HTTPSConnection("api.tinyemail.com")
5payload = json.dumps({
6 "subject": "Email subject",
7 "body": "Email body is added here",
8 "preview": "This is the test subject preview",
9 "campaignId": "campaignId",
10 "sender": {
11 "from": {
12 "name": "Senders name",
13 "email": "sender@gmail.com"
14 },
15 "replyTo": {
16 "name": "Senders name",
17 "email": "sender@gmail.com"
18 }
19 },
20 "recipients": {
21 "to": [
22 {
23 "name": "Receivers name",
24 "email": "receiver1@gmail.com"
25 }
26 ],
27 "cc": [
28 {
29 "name": "Receivers name",
30 "email": "receiver1@gmail.com"
31 }
32 ],
33 "bcc": [
34 {
35 "name": "Receivers name",
36 "email": "receiver1@gmail.com"
37 }
38 ]
39 }
40})
41headers = {
42 'Content-Type': 'application/json',
43 'Accept': 'application/json',
44 'X-RELAY-ACCESS-TOKEN': '<API_KEY_VALUE>'
45}
46conn.request("POST", "/v1/relay/email/campaign", payload, headers)
47res = conn.getresponse()
48data = res.read()
49print(data.decode("utf-8"))
1require "uri"
2require "json"
3require "net/http"
4
5url = URI("https://api.tinyemail.com/v1/relay/email/campaign")
6
7https = Net::HTTP.new(url.host, url.port)
8https.use_ssl = true
9
10request = Net::HTTP::Post.new(url)
11request["Content-Type"] = "application/json"
12request["Accept"] = "application/json"
13request["X-RELAY-ACCESS-TOKEN"] = "<API_KEY_VALUE>"
14request.body = JSON.dump({
15 "subject": "Email subject",
16 "body": "Email body is added here",
17 "preview": "This is the test subject preview",
18 "campaignId": "campaignId",
19 "sender": {
20 "from": {
21 "name": "Senders name",
22 "email": "sender@gmail.com"
23 },
24 "replyTo": {
25 "name": "Senders name",
26 "email": "sender@gmail.com"
27 }
28 },
29 "recipients": {
30 "to": [
31 {
32 "name": "Receivers name",
33 "email": "receiver1@gmail.com"
34 }
35 ],
36 "cc": [
37 {
38 "name": "Receivers name",
39 "email": "receiver1@gmail.com"
40 }
41 ],
42 "bcc": [
43 {
44 "name": "Receivers name",
45 "email": "receiver1@gmail.com"
46 }
47 ]
48 }
49})
50
51response = https.request(request)
52puts response.read_body
1package main
2
3import (
4 "fmt"
5 "strings"
6 "net/http"
7 "io/ioutil"
8)
9
10func main() {
11
12 url := "https://api.tinyemail.com/v1/relay/email/campaign"
13 method := "POST"
14
15 payload := strings.NewReader(`{
16 "subject": "Email subject",
17 "body": "Email body is added here",
18 "preview": "This is the test subject preview",
19 "campaignId": "campaignId",
20 "sender": {
21 "from": {
22 "name": "Senders name",
23 "email": "sender@gmail.com"
24 },
25 "replyTo": {
26 "name": "Senders name",
27 "email": "sender@gmail.com"
28 }
29 },
30 "recipients": {
31 "to": [
32 {
33 "name": "Receivers name",
34 "email": "receiver1@gmail.com"
35 }
36 ],
37 "cc": [
38 {
39 "name": "Receivers name",
40 "email": "receiver1@gmail.com"
41 }
42 ],
43 "bcc": [
44 {
45 "name": "Receivers name",
46 "email": "receiver1@gmail.com"
47 }
48 ]
49 }
50}`)
51
52 client := &http.Client {
53 }
54 req, err := http.NewRequest(method, url, payload)
55
56 if err != nil {
57 fmt.Println(err)
58 return
59 }
60 req.Header.Add("Content-Type", "application/json")
61 req.Header.Add("Accept", "application/json")
62 req.Header.Add("X-RELAY-ACCESS-TOKEN", "<API_KEY_VALUE>")
63
64 res, err := client.Do(req)
65 if err != nil {
66 fmt.Println(err)
67 return
68 }
69 defer res.Body.Close()
70
71 body, err := ioutil.ReadAll(res.Body)
72 if err != nil {
73 fmt.Println(err)
74 return
75 }
76 fmt.Println(string(body))
77}
1<?php
2
3$curl = curl_init();
4
5curl_setopt_array($curl, array(
6 CURLOPT_URL => 'https://api.tinyemail.com/v1/relay/email/campaign',
7 CURLOPT_RETURNTRANSFER => true,
8 CURLOPT_ENCODING => '',
9 CURLOPT_MAXREDIRS => 10,
10 CURLOPT_TIMEOUT => 0,
11 CURLOPT_FOLLOWLOCATION => true,
12 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
13 CURLOPT_CUSTOMREQUEST => 'POST',
14 CURLOPT_POSTFIELDS =>'{
15 "subject": "Email subject",
16 "body": "Email body is added here",
17 "preview": "This is the test subject preview",
18 "campaignId": "campaignId",
19 "sender": {
20 "from": {
21 "name": "Senders name",
22 "email": "sender@gmail.com"
23 },
24 "replyTo": {
25 "name": "Senders name",
26 "email": "sender@gmail.com"
27 }
28 },
29 "recipients": {
30 "to": [
31 {
32 "name": "Receivers name",
33 "email": "receiver1@gmail.com"
34 }
35 ],
36 "cc": [
37 {
38 "name": "Receivers name",
39 "email": "receiver1@gmail.com"
40 }
41 ],
42 "bcc": [
43 {
44 "name": "Receivers name",
45 "email": "receiver1@gmail.com"
46 }
47 ]
48 }
49}',
50 CURLOPT_HTTPHEADER => array(
51 'Content-Type: application/json',
52 'Accept: application/json',
53 'X-RELAY-ACCESS-TOKEN: <API_KEY_VALUE>'
54 ),
55));
56
57$response = curl_exec($curl);
58
59curl_close($curl);
60echo $response;
1<?php
2$client = new Client();
3$headers = [
4 'Content-Type' => 'application/json',
5 'Accept' => 'application/json',
6 'X-RELAY-ACCESS-TOKEN' => '<API_KEY_VALUE>'
7];
8$body = '{
9 "subject": "Email subject",
10 "body": "Email body is added here",
11 "preview": "This is the test subject preview",
12 "campaignId": "campaignId",
13 "sender": {
14 "from": {
15 "name": "Senders name",
16 "email": "sender@gmail.com"
17 },
18 "replyTo": {
19 "name": "Senders name",
20 "email": "sender@gmail.com"
21 }
22 },
23 "recipients": {
24 "to": [
25 {
26 "name": "Receivers name",
27 "email": "receiver1@gmail.com"
28 }
29 ],
30 "cc": [
31 {
32 "name": "Receivers name",
33 "email": "receiver1@gmail.com"
34 }
35 ],
36 "bcc": [
37 {
38 "name": "Receivers name",
39 "email": "receiver1@gmail.com"
40 }
41 ]
42 }
43}';
44$request = new Request('POST', 'https://api.tinyemail.com/v1/relay/email/campaign', $headers, $body);
45$res = $client->sendAsync($request)->wait();
46echo $res->getBody();
1<?php
2$client = new http\Client;
3$request = new http\Client\Request;
4$request->setRequestUrl('https://api.tinyemail.com/v1/relay/email/campaign');
5$request->setRequestMethod('POST');
6$body = new http\Message\Body;
7$body->append('{
8 "subject": "Email subject",
9 "body": "Email body is added here",
10 "preview": "This is the test subject preview",
11 "campaignId": "campaignId",
12 "sender": {
13 "from": {
14 "name": "Senders name",
15 "email": "sender@gmail.com"
16 },
17 "replyTo": {
18 "name": "Senders name",
19 "email": "sender@gmail.com"
20 }
21 },
22 "recipients": {
23 "to": [
24 {
25 "name": "Receivers name",
26 "email": "receiver1@gmail.com"
27 }
28 ],
29 "cc": [
30 {
31 "name": "Receivers name",
32 "email": "receiver1@gmail.com"
33 }
34 ],
35 "bcc": [
36 {
37 "name": "Receivers name",
38 "email": "receiver1@gmail.com"
39 }
40 ]
41 }
42}');
43$request->setBody($body);
44$request->setOptions(array());
45$request->setHeaders(array(
46 'Content-Type' => 'application/json',
47 'Accept' => 'application/json',
48 'X-RELAY-ACCESS-TOKEN' => '<API_KEY_VALUE>'
49));
50$client->enqueue($request)->send();
51$response = $client->getResponse();
52echo $response->getBody();
1<?php
2require_once 'HTTP/Request2.php';
3$request = new HTTP_Request2();
4$request->setUrl('https://api.tinyemail.com/v1/relay/email/campaign');
5$request->setMethod(HTTP_Request2::METHOD_POST);
6$request->setConfig(array(
7 'follow_redirects' => TRUE
8));
9$request->setHeader(array(
10 'Content-Type' => 'application/json',
11 'Accept' => 'application/json',
12 'X-RELAY-ACCESS-TOKEN' => '<API_KEY_VALUE>'
13));
14$request->setBody('{\n "subject": "Email subject",\n "body": "Email body is added here",\n "preview": "This is the test subject preview",\n "campaignId": "campaignId",\n "sender": {\n "from": {\n "name": "Senders name",\n "email": "sender@gmail.com"\n },\n "replyTo": {\n "name": "Senders name",\n "email": "sender@gmail.com"\n }\n },\n "recipients": {\n "to": [\n {\n "name": "Receivers name",\n "email": "receiver1@gmail.com"\n }\n ],\n "cc": [\n {\n "name": "Receivers name",\n "email": "receiver1@gmail.com"\n }\n ],\n "bcc": [\n {\n "name": "Receivers name",\n "email": "receiver1@gmail.com"\n }\n ]\n }\n}');
15try {
16 $response = $request->send();
17 if ($response->getStatus() == 200) {
18 echo $response->getBody();
19 }
20 else {
21 echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
22 $response->getReasonPhrase();
23 }
24}
25catch(HTTP_Request2_Exception $e) {
26 echo 'Error: ' . $e->getMessage();
27}
1curl -L -X POST 'https://api.tinyemail.com/v1/relay/email/campaign' \
2-H 'Content-Type: application/json' \
3-H 'Accept: application/json' \
4-H 'X-RELAY-ACCESS-TOKEN: <API_KEY_VALUE>' \
5--data-raw '{
6 "subject": "Email subject",
7 "body": "Email body is added here",
8 "preview": "This is the test subject preview",
9 "campaignId": "campaignId",
10 "sender": {
11 "from": {
12 "name": "Senders name",
13 "email": "sender@gmail.com"
14 },
15 "replyTo": {
16 "name": "Senders name",
17 "email": "sender@gmail.com"
18 }
19 },
20 "recipients": {
21 "to": [
22 {
23 "name": "Receivers name",
24 "email": "receiver1@gmail.com"
25 }
26 ],
27 "cc": [
28 {
29 "name": "Receivers name",
30 "email": "receiver1@gmail.com"
31 }
32 ],
33 "bcc": [
34 {
35 "name": "Receivers name",
36 "email": "receiver1@gmail.com"
37 }
38 ]
39 }
40}'
1var options = new RestClientOptions("")
2{
3 MaxTimeout = -1,
4};
5var client = new RestClient(options);
6var request = new RestRequest("https://api.tinyemail.com/v1/relay/email/campaign", Method.Post);
7request.AddHeader("Content-Type", "application/json");
8request.AddHeader("Accept", "application/json");
9request.AddHeader("X-RELAY-ACCESS-TOKEN", "<API_KEY_VALUE>");
10var body = @"{" + "\n" +
11@" ""subject"": ""Email subject""," + "\n" +
12@" ""body"": ""Email body is added here""," + "\n" +
13@" ""preview"": ""This is the test subject preview""," + "\n" +
14@" ""campaignId"": ""campaignId""," + "\n" +
15@" ""sender"": {" + "\n" +
16@" ""from"": {" + "\n" +
17@" ""name"": ""Senders name""," + "\n" +
18@" ""email"": ""sender@gmail.com""" + "\n" +
19@" }," + "\n" +
20@" ""replyTo"": {" + "\n" +
21@" ""name"": ""Senders name""," + "\n" +
22@" ""email"": ""sender@gmail.com""" + "\n" +
23@" }" + "\n" +
24@" }," + "\n" +
25@" ""recipients"": {" + "\n" +
26@" ""to"": [" + "\n" +
27@" {" + "\n" +
28@" ""name"": ""Receivers name""," + "\n" +
29@" ""email"": ""receiver1@gmail.com""" + "\n" +
30@" }" + "\n" +
31@" ]," + "\n" +
32@" ""cc"": [" + "\n" +
33@" {" + "\n" +
34@" ""name"": ""Receivers name""," + "\n" +
35@" ""email"": ""receiver1@gmail.com""" + "\n" +
36@" }" + "\n" +
37@" ]," + "\n" +
38@" ""bcc"": [" + "\n" +
39@" {" + "\n" +
40@" ""name"": ""Receivers name""," + "\n" +
41@" ""email"": ""receiver1@gmail.com""" + "\n" +
42@" }" + "\n" +
43@" ]" + "\n" +
44@" }" + "\n" +
45@"}";
46request.AddStringBody(body, DataFormat.Json);
47RestResponse response = await client.ExecuteAsync(request);
48Console.WriteLine(response.Content);
1var client = new HttpClient();
2var request = new HttpRequestMessage(HttpMethod.Post, "https://api.tinyemail.com/v1/relay/email/campaign");
3request.Headers.Add("Accept", "application/json");
4request.Headers.Add("X-RELAY-ACCESS-TOKEN", "<API_KEY_VALUE>");
5var content = new StringContent("{\n \"subject\": \"Email subject\",\n \"body\": \"Email body is added here\",\n \"preview\": \"This is the test subject preview\",\n \"campaignId\": \"campaignId\",\n \"sender\": {\n \"from\": {\n \"name\": \"Senders name\",\n \"email\": \"sender@gmail.com\"\n },\n \"replyTo\": {\n \"name\": \"Senders name\",\n \"email\": \"sender@gmail.com\"\n }\n },\n \"recipients\": {\n \"to\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ],\n \"cc\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ],\n \"bcc\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ]\n }\n}", null, "application/json");
6request.Content = content;
7var response = await client.SendAsync(request);
8response.EnsureSuccessStatusCode();
9Console.WriteLine(await response.Content.ReadAsStringAsync());
1OkHttpClient client = new OkHttpClient().newBuilder()
2 .build();
3MediaType mediaType = MediaType.parse("application/json");
4RequestBody body = RequestBody.create(mediaType, "{\n \"subject\": \"Email subject\",\n \"body\": \"Email body is added here\",\n \"preview\": \"This is the test subject preview\",\n \"campaignId\": \"campaignId\",\n \"sender\": {\n \"from\": {\n \"name\": \"Senders name\",\n \"email\": \"sender@gmail.com\"\n },\n \"replyTo\": {\n \"name\": \"Senders name\",\n \"email\": \"sender@gmail.com\"\n }\n },\n \"recipients\": {\n \"to\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ],\n \"cc\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ],\n \"bcc\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ]\n }\n}");
5Request request = new Request.Builder()
6 .url("https://api.tinyemail.com/v1/relay/email/campaign")
7 .method("POST", body)
8 .addHeader("Content-Type", "application/json")
9 .addHeader("Accept", "application/json")
10 .addHeader("X-RELAY-ACCESS-TOKEN", "<API_KEY_VALUE>")
11 .build();
12Response response = client.newCall(request).execute();
1Unirest.setTimeouts(0, 0);
2HttpResponse<String> response = Unirest.post("https://api.tinyemail.com/v1/relay/email/campaign")
3 .header("Content-Type", "application/json")
4 .header("Accept", "application/json")
5 .header("X-RELAY-ACCESS-TOKEN", "<API_KEY_VALUE>")
6 .body("{\n \"subject\": \"Email subject\",\n \"body\": \"Email body is added here\",\n \"preview\": \"This is the test subject preview\",\n \"campaignId\": \"campaignId\",\n \"sender\": {\n \"from\": {\n \"name\": \"Senders name\",\n \"email\": \"sender@gmail.com\"\n },\n \"replyTo\": {\n \"name\": \"Senders name\",\n \"email\": \"sender@gmail.com\"\n }\n },\n \"recipients\": {\n \"to\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ],\n \"cc\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ],\n \"bcc\": [\n {\n \"name\": \"Receivers name\",\n \"email\": \"receiver1@gmail.com\"\n }\n ]\n }\n}")
7 .asString();
1$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
2$headers.Add("Content-Type", "application/json")
3$headers.Add("Accept", "application/json")
4$headers.Add("X-RELAY-ACCESS-TOKEN", "<API_KEY_VALUE>")
5
6$body = @"
7{
8 `"subject`": `"Email subject`",
9 `"body`": `"Email body is added here`",
10 `"preview`": `"This is the test subject preview`",
11 `"campaignId`": `"campaignId`",
12 `"sender`": {
13 `"from`": {
14 `"name`": `"Senders name`",
15 `"email`": `"sender@gmail.com`"
16 },
17 `"replyTo`": {
18 `"name`": `"Senders name`",
19 `"email`": `"sender@gmail.com`"
20 }
21 },
22 `"recipients`": {
23 `"to`": [
24 {
25 `"name`": `"Receivers name`",
26 `"email`": `"receiver1@gmail.com`"
27 }
28 ],
29 `"cc`": [
30 {
31 `"name`": `"Receivers name`",
32 `"email`": `"receiver1@gmail.com`"
33 }
34 ],
35 `"bcc`": [
36 {
37 `"name`": `"Receivers name`",
38 `"email`": `"receiver1@gmail.com`"
39 }
40 ]
41 }
42}
43"@
44
45$response = Invoke-RestMethod 'https://api.tinyemail.com/v1/relay/email/campaign' -Method 'POST' -Headers $headers -Body $body
46$response | ConvertTo-Json
Fits right into
your tools
Unified Workflow Experience
Experience a unified workflow as our platform integrates directly with your tools, eliminating the need to switch between applications.
Streamlined Data Synchronization
Orbiting the planet at maximum velocity. The moon with the Rebel base will be in range in thirty minutes. This will be a day long remembered. It has seen the end of Kenobi.
Enhanced Collaboration Across Teams
Orbiting the planet at maximum velocity. The moon with the Rebel base will be in range in thirty minutes. This will be a day long remembered. It has seen the end of Kenobi.
Effortlessly integrate with your existing tools, ensuring a seamless transition and immediate enhancement to your marketing workflow.
Explore What we’re
offering
Bulletproof Deliverability
Rely on our cutting-edge infrastructure to ensure your emails land in the inbox, not the spam folder.
Scalable
Effortlessly scale your email campaigns with our cloud-based architecture, handling anything from small startups to enterprise-level volume.
Developer-Focused
Designed with developers in mind: comprehensive documentation, SDKs for popular languages, and a robust API for seamless integration.
Easy to Integrate
Engineered to be effortlessly incorporated, integrated regardless of your tech stack, allowing for quick and simple connections.
Scale your emails with
tinyRelay
Unleash the power of API within tinyRelay. Upgrade your productivity with tinyRelay.