SMS Campaign Items

GET/api/v2/sms/campaign/items

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

This endpoint is used to fetch all SMS items within a campaign.

There is a rate limit of 60 requests per minute per API token. This limit is shared by all API endpoints except those with their own separate limit (/api/v2/sms/send, /api/v3/sms/send, etc.), so requests to other endpoints also count toward it. 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 SMS feature. Requests made without the proper feature permissions will receive a 490 status code response, indicating that a plan upgrade is required.

Query Parameters

campaign_id integer Unique identifier for the campaign. Returned in the response of the Send SMS Campaign API Required
limit integer Pagination limit for the data (Default :10, Max: 50) Optional

Example Request and Response

Params:

{
  "campaign_id": 313,
  "limit": 2
}

Success Response:

{
  "status": true,
  "message": "SMS Campaign Items",
  "data": [
    {
      "id": 879871,
      "campaign_id": 313,
      "sender": "+18788802****",
      "receiver": "+13156663***",
      "message": "Hi test. Reply STOP to opt-out.",
      "credits": 9,
      "url_shortening_credits": 0,
      "media_url": null,
      "remarks": null,
      "status": "Success",
      "scheduled_at": null,
      "scheduled_timezone": null,
      "sms_type": "sms",
      "created_at": "08-26-2025 01:04:14 AM"
    },
    {
      "id": 879872,
      "campaign_id": 3556,
      "sender": "+19598000***",
      "receiver": "+13156663***",
      "message": "Hi test.",
      "credits": 9,
      "url_shortening_credits": 0,
      "media_url": null,
      "remarks": null,
      "status": "Success",
      "scheduled_at": null,
      "scheduled_timezone": null,
      "sms_type": "sms",
      "created_at": "08-26-2025 01:04:14 AM"
    }
  ],
  "links": {
    "first": "https://api.easify.live/api/v2/sms/campaign/items?page=1",
    "last": "https://api.easify.live/api/v2/sms/campaign/items?page=5000",
    "prev": null,
    "next": "https://api.easify.live/api/v2/sms/campaign/items?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 5000,
    "links": [
      {
        "url": null,
        "label": "« Previous",
        "active": false
      },
      {
        "url": "https://api.easify.live/api/v2/sms/campaign/items?page=1",
        "label": "1",
        "active": true
      },
    ],
    "path": "https://api.easify.live/api/v2/sms/campaign/items",
    "per_page": 2,
    "to": 2,
    "total": 9999
  }
}

SMS Status

Status Description
Pending The SMS message is in the queue to be sent
Delivered The SMS message has been successfully delivered to the recipient.
Undelivered The SMS message could not be delivered to the recipient. This could be due to various reasons such as an invalid phone number or network issue.
Failed The SMS message delivery attempt failed. This could be due to a technical issue on the service provider's end
Success The SMS message has been successfully sent to the recipient
Scheduled The SMS is scheduled for a specific time

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 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":[] }
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

Fetch the SMS campaign items
php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.easify.live/api/v2/sms/campaign/items?campaign_id=313&limit=2',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer <>',
    'Accept: application/json',
  ],
]);

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

echo $response;