GET / sms/campaign/status

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


This endpoint is used to fetch sms campaign status.

The user can fetch the SMS Campaign status using the campaign_id, which is provided in the SMS Campaign Send API response.

There is a rate limit of 60 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 >>

Query Parameters

campaign_id integer Unique identifier for the campaign. Returned in the response of the SMS Campaign Send API. Required

Sample Params and Success Response:

Params:

{
  "campaign_id": 313
}

Success Response:

{
  "status": true,
  "message": "SMS Campaign Status Fetched Successfully",
  "data": {
    "campaign_id": 313,
    "status": "Completed",
    "campaign_name": "New",
    "total_recipients_count": 9999,
    "pending_count": 0,
    "running_count": 0,
    "hold_count": 0,
    "success_count": 9999,
    "failed_count": 0,
    "cancelled_count": 0,
    "estimated_credits": 89991,
    "credits_spend": 89991,
    "url_shortening_estimated_credits": 0,
    "url_shortening_credits_spent": 0,
    "scheduled_at": null,
    "scheduled_timezone": null,
    "remarks": "",
    "completed_at": "08-26-2025 01:20:16 AM",
    "cancelled_at": null,
    "created_at": "08-26-2025 01:14:58 AM"
  }
}

SMS Status

Status Description
Preparing/Processing The SMS campaign is in the queue and preparing to start.
Running The SMS campaign has been successfully started and the messages are being sent.
Hold The SMS campaign is on hold. This can happen due to insufficient credits, or it may be placed on hold manually by the user from the web app.
Cancelled The SMS campaign has been cancelled. This may occur if the contact group was updated after the campaign was created (causing a contact count mismatch), if the user manually cancelled it from the web app, or due to other issues.
Completed The SMS campaign is completed, and all messages have been sent.
Scheduled If the user schedules a campaign using schedule_time and schedule_timezone, it will be sent at the scheduled time.

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 user not provided campaign_id 422 { "message": "The campaign id field is required.", "errors": { "campaign_id": [ "The campaign id field is required." ] } }
If user provided invalid campaign_id 422 { "message": "The selected campaign id is invalid.", "errors": { "campaign_id": [ "The selected campaign id is invalid." ]} }
If the user exceeds the allowed rate limit for requests 429 { "status":false, "message":"Too many requests. Try again in 59 seconds", "errors":[] }
If the user's subscription has ended 402 { "status":false,"message":"You need to recharge your account to proceed","errors":[] }

PHP-cURL

php 

$curl = curl_init(); 

curl_setopt_array($curl, array( 
CURLOPT_URL => 'https://backend.easify.app/api/v2/sms/campaign/status?campaign_id=3557', 
CURLOPT_RETURNTRANSFER => true, 
CURLOPT_ENCODING => '', 
CURLOPT_MAXREDIRS => 10, 
CURLOPT_TIMEOUT => 0, 
CURLOPT_FOLLOWLOCATION => true, 
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
CURLOPT_CUSTOMREQUEST => 'GET', 
CURLOPT_HTTPHEADER => array( 
'Accept: application/json', 
'Authorization: ••••••' 
), 
)); 

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

echo $response;

pixel for linkedin