POST / email/send

Base URL: https://backend.easify.app/api/v3


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

There is a rate limit of 15 requests per 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.

Authentication

The Easify API token used for authentication is passed in the header as a Bearer token, which can be obtained from the easify app under Settings > API Settings.

Headers

Authorization string required Bearer << YOUR_EASIFY_API_TOKEN_HERE >>

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

Sample Params and Success Response:

Request

{
  "sender": "sender@easify.app",
  "receiver": ["receiver1@easify.app", "receiver2@easify.app"],
  "cc": ["cc@easify.app"],
  "bcc": ["bcc@easify.app"],
  "subject": "Subject",
  "message": "Hai",
  "from_name": "easify",
  "additional_data": { "name": "John", "id": "232" }
}

Success Response:

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

Api Response Status

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 does not have an enterprise plan 403 { "status": false, "message": "Access denied. Your current plan does not allow access to this feature. Please upgrade to the Enterprise plan.", "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":[] }

PHP-cURL

php
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://backend.easify.app/api/v3/email/send',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => array(
      'sender' => 'sender@easify.app',
      'receiver[]' => 'easify@easify.app',
      'subject' => 'Subject Content',
      'message' => 'Message',
      'cc[]' => 'cc@easify.app',
      'bcc[]' => 'bcc@easify.app'
    ),
    CURLOPT_HTTPHEADER => array(
      'Authorization: Bearer 1260|b9eb1d4f-8a6f-47eb-83fb-c155afc2****'
    ),
  ));

$response = curl_exec($curl);
curl_close($curl);

echo $response;

pixel for linkedin