Newsletters
Draft, update, and send newsletters to a contact list
6 endpoints
Endpoints
Method Path Description
GET /v1/newslettersGET /v1/newsletters
POST /v1/newslettersPOST /v1/newsletters
GET /v1/newsletters/{id}GET /v1/newsletters/{id}
PUT /v1/newsletters/{id}PUT /v1/newsletters/{id}
DELETE /v1/newsletters/{id}DELETE /v1/newsletters/{id}
POST /v1/newsletters/{id}/sendPOST /v1/newsletters/{id}/send
GET /v1/newsletters
GET /v1/newsletters
Parameters
Name In Type Required Description
limitquery `integer null` No
offsetquery `integer null` No
Responses
Status Description
200 Newsletters for this account
401 Unauthorized
Example
cURL
TypeScript
Python
Rust
Go
curl -X GET https://api.euromail.dev/v1/newsletters \
-H "X-EuroMail-Api-Key: em_live_..."
import { EuroMail } from "@euromail/sdk" ;
const euromail = new EuroMail ({ apiKey: "em_live_..." });
const result = await euromail. listNewsletters ();
from euromail import EuroMail
client = EuroMail( api_key = "em_live_..." )
result = client.list_newsletters()
use euromail :: EuroMail ;
let client = EuroMail :: new ( "em_live_..." );
let result = client . list_newsletters () .await? ;
client := euromail. NewClient ( "em_live_..." )
result, err := client. ListNewsletters (ctx)
POST /v1/newsletters
POST /v1/newsletters
Request Body
Field Type Required Description
from_addressstringYes
html_body`string null` No
list_idstringYes
reply_to`string null` No
subjectstringYes
tagsstring[]No
template_dataanyNo
template_id`string null` No
text_body`string null` No
Responses
Status Description
201 Newsletter draft created
401 Unauthorized
404 Contact list not found
422 Invalid from_address, or no content/template given
Example
cURL
TypeScript
Python
Rust
Go
curl -X POST https://api.euromail.dev/v1/newsletters \
-H "X-EuroMail-Api-Key: em_live_..." \
-H "Content-Type: application/json" \
-d '{ "from_address": "...", "list_id": "...", "subject": "Hello World" }'
import { EuroMail } from "@euromail/sdk" ;
const euromail = new EuroMail ({ apiKey: "em_live_..." });
const result = await euromail. createNewsletter ({
from_address: "..." ,
list_id: "..." ,
subject: "Hello World" ,
});
from euromail import EuroMail
client = EuroMail( api_key = "em_live_..." )
result = client.create_newsletter(
from_address = "..." ,
list_id = "..." ,
subject = "Hello World" ,
)
use euromail :: EuroMail ;
let client = EuroMail :: new ( "em_live_..." );
let result = client . create_newsletter ( & CreateNewsletterParams {
from_address : "..." . into (),
list_id : "..." . into (),
subject : "Hello World" . into (),
.. Default :: default ()
}) .await? ;
client := euromail. NewClient ( "em_live_..." )
result, err := client. CreateNewsletter (ctx, euromail . CreateNewsletterParams {
FromAddress: "..." ,
ListId: "..." ,
Subject: "Hello World" ,
})
GET /v1/newsletters/{id}
GET /v1/newsletters/{id}
Parameters
Name In Type Required Description
idpath stringYes Newsletter id
Responses
Status Description
200 The newsletter (with stats, once sent)
401 Unauthorized
404 Newsletter not found
Example
cURL
TypeScript
Python
Rust
Go
curl -X GET https://api.euromail.dev/v1/newsletters/{id} \
-H "X-EuroMail-Api-Key: em_live_..."
import { EuroMail } from "@euromail/sdk" ;
const euromail = new EuroMail ({ apiKey: "em_live_..." });
const result = await euromail. getNewsletter ( "id_..." );
from euromail import EuroMail
client = EuroMail( api_key = "em_live_..." )
result = client.get_newsletter( "id_..." )
use euromail :: EuroMail ;
let client = EuroMail :: new ( "em_live_..." );
let result = client . get_newsletter ( "id_..." ) .await? ;
client := euromail. NewClient ( "em_live_..." )
result, err := client. GetNewsletter (ctx, "id_..." )
PUT /v1/newsletters/{id}
PUT /v1/newsletters/{id}
Parameters
Name In Type Required Description
idpath stringYes Newsletter id
Request Body
Field Type Required Description
from_address`string null` No
html_body`string null` No
list_id`string null` No
reply_to`string null` No
subject`string null` No
tagsstring[]No
template_dataanyNo
template_id`string null` No
text_body`string null` No
Responses
Status Description
200 Newsletter updated
401 Unauthorized
404 Newsletter not found, or not a draft
422 Newsletter is not in draft status, or tags are invalid
Example
cURL
TypeScript
Python
Rust
Go
curl -X PUT https://api.euromail.dev/v1/newsletters/{id} \
-H "X-EuroMail-Api-Key: em_live_..." \
-H "Content-Type: application/json" \
-d '{}'
import { EuroMail } from "@euromail/sdk" ;
const euromail = new EuroMail ({ apiKey: "em_live_..." });
const result = await euromail. updateNewsletter ({});
from euromail import EuroMail
client = EuroMail( api_key = "em_live_..." )
result = client.update_newsletter(
)
use euromail :: EuroMail ;
let client = EuroMail :: new ( "em_live_..." );
let result = client . update_newsletter ( & UpdateNewsletterParams {
.. Default :: default ()
}) .await? ;
client := euromail. NewClient ( "em_live_..." )
result, err := client. UpdateNewsletter (ctx, euromail . UpdateNewsletterParams {
})
DELETE /v1/newsletters/{id}
DELETE /v1/newsletters/{id}
Parameters
Name In Type Required Description
idpath stringYes Newsletter id
Responses
Status Description
204 Newsletter deleted
401 Unauthorized
404 Newsletter not found, or not a draft
Example
cURL
TypeScript
Python
Rust
Go
curl -X DELETE https://api.euromail.dev/v1/newsletters/{id} \
-H "X-EuroMail-Api-Key: em_live_..."
import { EuroMail } from "@euromail/sdk" ;
const euromail = new EuroMail ({ apiKey: "em_live_..." });
const result = await euromail. deleteNewsletter ( "id_..." );
from euromail import EuroMail
client = EuroMail( api_key = "em_live_..." )
result = client.delete_newsletter( "id_..." )
use euromail :: EuroMail ;
let client = EuroMail :: new ( "em_live_..." );
let result = client . delete_newsletter ( "id_..." ) .await? ;
client := euromail. NewClient ( "em_live_..." )
result, err := client. DeleteNewsletter (ctx, "id_..." )
POST /v1/newsletters/{id}/send
POST /v1/newsletters/{id}/send
Parameters
Name In Type Required Description
idpath stringYes Newsletter id
Responses
Status Description
202 Newsletter accepted for delivery
401 Unauthorized
404 Newsletter or its contact list not found
422 Newsletter is not a draft, has no content, no subscribers, or failed a pre-send gate
Example
cURL
TypeScript
Python
Rust
Go
curl -X POST https://api.euromail.dev/v1/newsletters/{id}/send \
-H "X-EuroMail-Api-Key: em_live_..."
import { EuroMail } from "@euromail/sdk" ;
const euromail = new EuroMail ({ apiKey: "em_live_..." });
const result = await euromail. getNewsletterDetail ( "id_..." );
from euromail import EuroMail
client = EuroMail( api_key = "em_live_..." )
result = client.get_newsletter_detail( "id_..." )
use euromail :: EuroMail ;
let client = EuroMail :: new ( "em_live_..." );
let result = client . get_newsletter_detail ( "id_..." ) .await? ;
client := euromail. NewClient ( "em_live_..." )
result, err := client. GetNewsletterDetail (ctx, "id_..." )