Send Multi-Recipient Email

POST/api/v3/email/send

Base URL https://api.easify.liveBearer token and Accept header required Authentication →

This endpoint allows sending emails from Easify, supporting multiple recipients, CC, and BCC.

There is a rate limit of 15 requests per minute per API token. This count is shared by all API endpoints, including GET requests, except those with their own separate limit (/api/v2/sms/send, /api/v3/sms/send, etc.), so this endpoint is refused once your token has made 15 requests to the shared endpoints within a minute. If you exceed this limit, you will receive a 429 Too Many Requests status, along with a message indicating when you can try again.

The authenticated user must have access to the Email feature. Requests made without the proper feature permissions will receive a 490 status code response, indicating that a plan upgrade is required.

Request Body

sender string Sender’s Email Address
(can be obtained from the email-senders API response)
Required
receiver array Receiver (s) Email Address
(A maximum of 50 emails are allowed in the array)
Required
cc array CC Email Address (s)
(A maximum of 50 emails are allowed in the array)
Optional
bcc array BCC Email Address (s)
(A maximum of 50 emails are allowed in the array)
Optional
subject string subject for Email Required
message string Email message body Required without Attachment
attachment string | file Email Attachment Required without Message
additional_data json Additional data to send with the email, which will be returned in the email status event webhook Optional
from_name string The user can set the from_name for the email. By default, the selected sender's from_name will be used Optional

Example Request and Response

Request

{
  "sender": "news@example.com",
  "receiver": ["alex@example.com", "jordan@example.com"],
  "cc": ["frontdesk@example.com"],
  "bcc": ["records@example.com"],
  "subject": "Holiday hours at ABC Company",
  "message": "

Hello,

ABC Company will be closed on Thursday, November 27. We reopen on Friday, November 28 at 8:00 AM.

ABC Company, 123 Main Street, Springfield, IL 62701

To stop receiving these emails, visit example.com/unsubscribe.

",
"from_name": "ABC Company", "additional_data": { "name": "Alex", "id": "232" } }

Success Response:

{
  "status": true,
  "message": "Email processed successfully",
  "data": {
    "email_id": "674"
  }
}

Responses

Case Status Code Response
If the user does not provide a token in the header or provides an invalid token 401 { "status":false, "message":"Unauthenticated", "errors":[] }
If the user's subscription has ended 402 { "status":false,"message":"You need to recharge your account to proceed","errors":[] }
If user provided invalid sender email address 400 { "status": false, "message": "Invalid Sender!", "errors": [] }
If the user does not have enough credits to send the email 400 { "status": false, "message": "Sorry, you do not have enough credits to send this email. Please recharge for more.", "errors": [] }
If the user passes an invalid datatype in the receiver instead of an array 422 { "message":"The receiver field must be an array.", "errors": { "receiver":["The receiver field must be an array." ] } }
If the user passes an invalid datatype in the cc instead of an array 422 { "message":"The cc field must be an array.", "errors":{ "cc":["The cc field must be an array."] } }
If the user passes an invalid datatype in the bcc instead of an array 422 { "message":"The bcc field must be an array.", "errors":{ "bcc":["The bcc field must be an array."] } }
If the user passes duplicate email addresses 422 { "message":"Duplicate email addresses are not allowed across receiver, cc, and bcc.", "errors":{ "receiver":["Duplicate email addresses are not allowed across receiver, cc, and bcc."] } }
If the user exceeds the allowed rate limit for requests 429 { "status":false, "message":"Too many requests. Try again in 59 seconds", "errors":[] }
When the user account is inactive 403 { "status": false, "message": "Your account is currently inactive.", "errors": [] }
If the request comes from an IP address or domain that is not on the account's API whitelist 400 { "status": false, "message": "Access denied! Your IP or domain is not whitelisted.[ HostName : ] - [ Ip Address : << YOUR_SERVER_IP >>]", "errors": [] }

Code Examples

Send an email to multiple recipients
php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.easify.live/api/v3/email/send',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'sender' => 'news@example.com',
    'receiver' => [
      'alex@example.com',
      'jordan@example.com',
    ],
    'cc' => [
      'frontdesk@example.com',
    ],
    'bcc' => [
      'records@example.com',
    ],
    'subject' => 'Holiday hours at ABC Company',
    'message' => '

Hello,

ABC Company will be closed on Thursday, November 27. We reopen on Friday, November 28 at 8:00 AM.

ABC Company, 123 Main Street, Springfield, IL 62701

To stop receiving these emails, visit example.com/unsubscribe.

',
'from_name' => 'ABC Company', 'additional_data' => [ 'name' => 'Alex', 'id' => '232', ], ]), CURLOPT_HTTPHEADER => [ 'Authorization: Bearer <>', 'Content-Type: application/json', 'Accept: application/json', ], ]); $response = curl_exec($curl); curl_close($curl); echo $response;