GET / sms/campaign/items
Base URL: https://backend.easify.app/api/v2
This endpoint is used to fetch all SMS items within a campaign.
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 Send SMS Campaign API | Required |
| limit integer | Pagination limit for the data (Default :10) | Optional |
Sample Params and Success 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://backend.easify.app/api/v2/sms/campaign/items?page=1",
"last": "https://backend.easify.app/api/v2/sms/campaign/items?page=5000",
"prev": null,
"next": "https://backend.easify.app/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://backend.easify.app/api/v2/sms/campaign/items?page=1",
"label": "1",
"active": true
},
],
"path": "https://backend.easify.app/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 |
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/items?campaign_id=3556&limit=2',
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;