Account

Account - Get Partner Earnings

Get Partner Earnings. Requires "get_earnings" API permission.

GET https://app.isend.live/api/get/earnings

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/earnings?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/earnings", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Partner Credits",
  "data": {
       "earnings": "1.43638",
       "currency": "GBP"
   }
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Account - Get Remaining Credits

Get Remaining Credits. Requires "get_credits" API permission.

GET https://app.isend.live/api/get/credits

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/credits?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/credits", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Remaining Credits",
  "data": {
       "credits": "798.634",
       "currency": "GBP"
   }
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Account - Get Subscription Package

Get Subscription Package. Requires "get_subscription" API permission.

GET https://app.isend.live/api/get/subscription

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/subscription?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/subscription", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Subscription Package",
  "data": "data": {
   "name": "Starter",
   "usage": {
           "sms_send": {
               "used": 262,
               "limit": 1000
           },
           "sms_receive": {
               "used": 139,
               "limit": 250
           },
           "ussd": {
               "used": 16,
               "limit": 0
           },
           "notifications": {
               "used": 55,
               "limit": 0
           },
           "contacts": {
               "used": 7,
               "limit": 50
           },
           "devices": {
               "used": 3,
               "limit": 3
           },
           "apikeys": {
               "used": 4,
               "limit": 5
           },
           "webhooks": {
               "used": 1,
               "limit": 5
           },
           "actions": {
               "used": 3,
               "limit": 0
           },
           "scheduled": {
               "used": 0,
               "limit": 0
           },
           "wa_send": {
               "used": 3,
               "limit": 0
           },
           "wa_receive": {
               "used": 19,
               "limit": 0
           },
           "wa_accounts": {
               "used": 1,
               "limit": 0
           }
       }
   }
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts

Contacts - Create Contact

Create Contact. Requires "create_contact" API permission.

POST https://app.isend.live/api/create/contact

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

phone String

phone Recipient mobile number, it will accept E.164 formatted number or locally formatted numbers using the country code from your profile settings.
Example for Philippines
E.164: +639184661533
Local: 09184661533

name String

Name of contact

groups String

List of contact group ID's separated by commas. You can get group ID's from /get/groups (Your contact groups).

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
String
String
String
<?php

  $contact = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "groups" => "1,2,3,4",
      "phone" => "+393123456789",
      "name" => "Martin Crater"
  ];

  $cURL = curl_init("https://app.isend.live/api/create/contact");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $contact);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

contact = {
    "secret": apiSecret,
    "groups": "1,2,3,4",
    "phone": "+393123456789",
    "name": "Martin Crater"
}

r = requests.post(url = "https://app.isend.live/api/create/contact", params = contact)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Contact has been created!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts - Create Group

Create Group. Requires "create_group" API permission.

POST https://app.isend.live/api/create/group

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

name String

Name of group

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
String
<?php

  $group = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "name" => "Friends"
  ];

  $cURL = curl_init("https://app.isend.live/api/create/group");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $group);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

group = {
    "secret": apiSecret,
    "name": "Friends"
}

r = requests.post(url = "https://app.isend.live/api/create/group", params = group)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Contact group has been created!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts - Delete Contact

Delete Contact. Requires "delete_contact" API permission.

GET https://app.isend.live/api/delete/contact

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Contact ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $contactId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/contact?secret={$apiSecret}&id={$contactId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
contactId = 1

r = requests.get(url = "https://app.isend.live/api/delete/contact", params = {
    "secret": apiSecret
    "id": contactId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Contact has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts - Delete Group

Delete Group. Requires "delete_group" API permission.

GET https://app.isend.live/api/delete/group

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Contact group ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $groupId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/group?secret={$apiSecret}&id={$groupId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
groupId = 1

r = requests.get(url = "https://app.isend.live/api/delete/group", params = {
    "secret": apiSecret
    "id": groupId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Contact group has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts - Delete Unsubscribed

Delete Unsubscribed Contact. Requires "delete_unsubscribed" API permission.

GET https://app.isend.live/api/delete/unsubscribed

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Contact ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $unsubscribedId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/unsubscribed?secret={$apiSecret}&id={$unsubscribedId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
unsubscribedId = 1

r = requests.get(url = "https://app.isend.live/api/delete/unsubscribed", params = {
    "secret": apiSecret
    "id": unsubscribedId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Unsubscribed contact has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts - Get Contacts

Get Contacts. Requires "get_contacts" API permission.

GET https://app.isend.live/api/get/contacts

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/contacts?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/contacts", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Saved Contacts",
  "data": [
       {
           "id": 2,
           "groups": [
               "1"
           ],
           "phone": "+639184661538",
           "name": "Shane"
       },
       {
           "id": 3,
           "groups": [
               "1",
               "9",
               "10",
               "11"
           ],
           "phone": "+639206150514",
           "name": "Terry Bom"
       },
       {
           "id": 4,
           "groups": [
               "1",
               "9"
           ],
           "phone": "+639184661532",
           "name": "Jake Thrower"
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts - Get Groups

Get Groups. Requires "get_groups" API permission.

GET https://app.isend.live/api/get/groups

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/groups?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/groups", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Contact Groups",
  "data": [
       {
           "id": 1,
           "name": "Default"
       },
       {
           "id": 9,
           "name": "Happy Group"
       },
       {
           "id": 10,
           "name": "Riders"
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Contacts - Get Unsubscribed

Get Unsubscribed Contacts. Requires "get_unsubscribed" API permission.

GET https://app.isend.live/api/get/unsubscribed

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/unsubscribed?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/unsubscribed", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Unsubscribed Contacts",
  "data": [
       {
           "id": 2,
           "phone": "+639694967617",
           "created": 1645755138
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Notifications

Notifications - Delete Notification

Delete Notification. Requires "delete_notification" API permission.

GET https://app.isend.live/api/delete/notification

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Notification ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $notificationId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/notification?secret={$apiSecret}&id={$notificationId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
notificationId = 1

r = requests.get(url = "https://app.isend.live/api/delete/notification", params = {
    "secret": apiSecret
    "id": notificationId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Notification has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

Notifications - Get Notifications

Get Notifications. Requires "get_notifications" API permission.

GET https://app.isend.live/api/get/notifications

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/notifications?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/notifications", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Received Notifications",
  "data": [
       {
           "id": 1,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "package_name": "com.facebook.orca",
           "title": "Darren Shmuck",
           "content": "Hello World!",
           "timestamp": 1645052535
       },
       {
           "id": 2,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "package_name": "com.facebook.katana",
           "title": "Michael shared your post",
           "content": "Michael shared your post",
           "timestamp": 1645052541
       },
       {
           "id": 3,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "package_name": "com.facebook.orca",
           "title": "Shane Blake",
           "content": "Hello World!",
           "timestamp": 1645052543
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

OTP

OTP - Send OTP

Send a one-time-password to specified mobile number. Requires "otp" API permission.

POST https://app.isend.live/api/send/otp

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

type String

Type of message, it can be SMS or WhatsApp.

Allowed values: "sms", "whatsapp"

message String

OTP message to send, you can use {{otp}} shortcode to include the otp anywhere in the message.

phone String

Recipient mobile number, it will accept E.164 formatted numbers
Example for Philippines
E.164: +639184661533

expire Number

OTP expiration time in seconds. This is optional, default value is 300 seconds or 5 minutes.

account (optional) Number

This is only for whatsapp type. WhatsApp account ID you want to use for sending, you can get account ID's from /get/wa.accounts (Your WhatsApp accounts).

mode (optional) String

This is only required for sms type. This is the mode of sending the message, it can be "devices" which will allow you to use your linked android devices or "credits" which will allow you to use gateways and partner devices. "credits" requires you to have enough credit balance to send messages.

Allowed values: "devices", "credits"

device (optional) String

This is only for sms type. Linked device unique ID, this is required if you will send with "devices" mode. You can get linked device unique ID from /get/devices (Your devices).

gateway (optional) String|Number

This is only for sms type. Partner device unique ID or gateway ID, this is required if you will send with "credits" mode. You can get a partner device unique ID and gateway ID from /get/rates

sim (optional) Number

This is only for sms type. Sim slot number you want to use. For "devices" mode only.

Allowed values: 1, 2

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
String
String
String
Number
Number
String
String
String|Number
Number
<?php

  $message = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "mode" => "sms",
      "mode" => "devices",
      "device" => "00000000-0000-0000-d57d-f30cb6a89289",
      "sim" => 1,
      "phone" => "+393123456789",
      "message" => "Your OTP is {{otp}}"
  ];

  $cURL = curl_init("https://app.isend.live/api/send/otp");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $message);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

message = {
    "secret": apiSecret,
    "type": "sms",
    "mode": "devices",
    "device": "00000000-0000-0000-d57d-f30cb6a89289",
    "sim": 1,
    "phone": "+393123456789",
    "message": "Your OTP is {{otp}}"
}

r = requests.post(url = "https://app.isend.live/api/send/otp", params = message)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "OTP has been sent!",
  "data": {
       phone: "+393123456789",
       message: "Your OTP is 345678",
       otp: 345678
  }
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

OTP - Verify OTP

Verify one-time-password from user supplied data. Requires "otp" API permission.

GET https://app.isend.live/api/get/otp

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

otp String

The otp you got from a user supplied input or data

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
String
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $otp = "123456"; // otp from a user supplied input or data

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/otp?secret={$apiSecret}&otp={$otp}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

# otp from a user supplied input or data
otpCode = "123456"

r = requests.get(url = "https://app.isend.live/api/get/otp", params = {
    "secret": apiSecret,
    "otp": otpCode
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "OTP has been verified!",
  "data": false
}
{
  "status": 403,
  "message": "OTP is invalid or expired!",
  "data": false
}

SMS

SMS - Delete Received Message

Delete Received Message. Requires "delete_sms_received" API permission.

GET https://app.isend.live/api/delete/sms.received

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Received message ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $smsId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/sms.received?secret={$apiSecret}&id={$smsId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
smsId = 1

r = requests.get(url = "https://app.isend.live/api/delete/sms.received", params = {
    "secret": apiSecret
    "id": smsId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Received SMS has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Delete SMS Campaign

Delete SMS Campaign. Requires "delete_sms_campaign" API permission.

GET https://app.isend.live/api/delete/sms.campaign

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Campaign ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $campaignId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/sms.campaign?secret={$apiSecret}&id={$campaignId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
campaignId = 1

r = requests.get(url = "https://app.isend.live/api/delete/sms.campaign", params = {
    "secret": apiSecret
    "id": campaignId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "SMS campaign has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Delete Sent Message

Delete Sent Message. Requires "delete_sms_sent" API permission.

GET https://app.isend.live/api/delete/sms.sent

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Sent message ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $smsId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/sms.sent?secret={$apiSecret}&id={$smsId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
smsId = 1

r = requests.get(url = "https://app.isend.live/api/delete/sms.sent", params = {
    "secret": apiSecret
    "id": smsId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Sent SMS has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Get Devices

Get Devices. Requires "get_devices" API permission.

GET https://app.isend.live/api/get/devices

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/devices?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/devices", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Android Devices",
  "data": [
       {
           "id": "49",
           "unique": "00000000-0000-0000-d57d-f30cb6a89289",
           "name": "F11 Phone",
           "version": "Android 11",
           "manufacturer": "OPPO",
           "random_send": false,
           "random_min": 5,
           "random_max": 10,
           "limit_status": true,
           "limit_interval": "daily",
           "limit_number": 100,
           "notification_packages": [
               "com.google.android.apps.messaging",
               "com.facebook.orca"
           ],
           "partner": false,
           "partner_sim": [
               "2"
           ],
           "partner_priority": false,
           "partner_country": "PH",
           "partner_rate": 5,
           "partner_currency": "PHP",
           "created": 1636462504
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Get Pending Messages

Get Pending Messages. Requires "get_sms_pending" API permission.

GET https://app.isend.live/api/get/sms.pending

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/sms.pending?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/sms.pending", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Pending SMS Messages",
  "data": [
       {
           "id": 1,
           "mode": "Devices",
           "sender": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender_type": "device",
           "sim": 2,
           "priority": false,
           "api": false,
           "recipient": "+639184661533",
           "message": "Hello World!",
           "created": 1645520349
       },
       {
           "id": 2,
           "mode": "Devices",
           "sender": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender_type": "device",
           "sim": 2,
           "priority": false,
           "api": false,
           "recipient": "+639206150513",
           "message": "Hello World!",
           "created": 1645520349
       },
       {
           "id": 3,
           "mode": "Credits",
           "sender": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender_type": "partner_device",
           "sim": 2,
           "priority": false,
           "api": false,
           "recipient": "+639184661532",
           "message": "Hello World!",
           "created": 1645520349
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Get Received Messages

Get Received Messages. Requires "get_sms_received" API permission.

GET https://app.isend.live/api/get/sms.received

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/sms.received?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/sms.received", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Received SMS Messages",
  "data": [
       {
           "id": 1,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender": "+639760713666",
           "message": "Hello World!",
           "created": 1644405663
       },
       {
           "id": 33,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender": "GCash",
           "message": "Hello World!",
           "created": 1644417283
       },
       {
           "id": 22,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender": "TWILIO",
           "message": "Hello World!",
           "created": 1644421353
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Get SMS Campaigns

Get SMS Campaigns. Requires "get_sms_campaigns" API permission.

GET https://app.isend.live/api/get/sms.campaigns

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/sms.campaigns?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/sms.campaigns", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "SMS Campaigns",
  "data": [
       {
           "id": 1,
           "sender": "f1939aec-0d08-e221-3582-400511111108",
           "sender_type": "device",
           "status": "completed",
           "name": "Campaign Test",
           "contacts": 32,
           "created": 1662763259
       },
       {
           "id": 6,
           "sender": "f1939aec-0d08-e221-3582-400511111108",
           "sender_type": "device",
           "status": "running",
           "name": "World Test",
           "contacts": 2,
           "created": 1662799690
       },
       {
           "id": 14,
           "sender": "da6fcb98-3c6c-4554-3582-400511111108",
           "sender_type": "device",
           "status": "paused",
           "name": "Marketing",
           "contacts": 8,
           "created": 1662828578
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Get Sent Messages

Get Sent Messages. Requires "get_sms_sent" API permission.

GET https://app.isend.live/api/get/sms.sent

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/sms.sent?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/sms.sent", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Sent SMS Messages",
  "data": [
       {
           "id": 1,
           "mode": "Devices",
           "sender": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender_type": "device",
           "sim": 2,
           "priority": false,
           "api": false,
           "status": "sent",
           "status_code": "SMS_SENT",
           "recipient": "+639206150513",
           "message": "Hello World!",
           "created": 1644382599
       },
       {
           "id": 2,
           "mode": "Devices",
           "sender": "00000000-0000-0000-d57d-f30cb6a89289",
           "sender_type": "device",
           "sim": 2,
           "priority": false,
           "api": false,
           "status": "sent",
           "status_code": "SMS_SENT",
           "recipient": "+639184661533",
           "message": "Hello World!",
           "created": 1644382597
       },
       {
           "id": 3,
           "mode": "Credits",
           "sender": "Twilio",
           "sender_type": "gateway",
           "sim": 0,
           "priority": false,
           "api": false,
           "status": "sent",
           "status_code": "",
           "recipient": "+639206150513",
           "message": "Hello World!",
           "created": 1644382807
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Send Bulk Messages

Send bulk sms messages. Requires "sms_send_bulk" API permission.

POST https://app.isend.live/api/send/sms.bulk

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

mode String

Mode of sending the message, it can be "devices" which will allow you to use your linked android devices or "credits" which will allow you to use gateways and partner devices. "credits" requires you to have enough credit balance to send messages.

Allowed values: "devices", "credits"

campaign String

Name of the campaign, you will see this in the sms campaign manager.

numbers (optional) String

List of phone numbers separated by commas. It can be optional if "groups" parameter is not empty. It will accept E.164 formatted number or locally formatted numbers using the country code from your profile settings.
Example for Philippines
E.164: +639184661533
Local: 09184661533

groups (optional) String

List of contact group ID's separated by commas. It can be optional if "numbers" parameter is not empty. You can get group ID's from /get/groups (Your contact groups).

message String

Message you want to send, spintax and shortcodes are supported.

device (optional) String

Linked device unique ID, this is required if you will send with "devices" mode. You can get linked device unique ID from /get/devices (Your devices).

gateway (optional) String|Number

Partner device unique ID or gateway ID, this is required if you will send with "credits" mode. You can get a partner device unique ID and gateway ID from /get/rates

sim Number

Sim slot number you want to use. For "devices" mode only.

Allowed values: 1, 2

priority (optional) Number

If you want to send the messages as priority, 1 for yes and 2 for no. For "devices" mode only.

Default value: 1

Allowed values: 1, 2

shortener (optional) Number

Shortener ID, specify the shortener you want to use if you want to shorten the links in your message. You can get the list of available shorteners from /get/shorteners

Default value: none

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
String
String
String
String
String
String
String|Number
Number
Number
Number
<?php

  $message = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "mode" => "devices",
      "campaign" => "bulk test",
      "numbers" => "+393123456789,+639123456789,+639123456789",
      "groups" => "1,2,3,4",
      "device" => "00000000-0000-0000-d57d-f30cb6a89289",
      "sim" => 1,
      "priority" => 1,
      "message" => "Hello World!"
  ];

  $cURL = curl_init("https://app.isend.live/api/send/sms.bulk");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $message);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

message = {
    "secret": apiSecret,
    "mode": "devices",
    "campaign": "bulk test",
    "numbers": "+393123456789,+639123456789,+639123456789",
    "groups": "1,2,3,4",
    "device": "00000000-0000-0000-d57d-f30cb6a89289",
    "sim": 1,
    "priority": 1,
    "message": "Hello World!"
}

r = requests.post(url = "https://app.isend.live/api/send/sms.bulk", params = message)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Message has been queued for sending!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Send Single Message

Send a single sms message. Requires "sms_send" API permission.

POST https://app.isend.live/api/send/sms

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

mode String

Mode of sending the message, it can be "devices" which will allow you to use your linked android devices or "credits" which will allow you to use gateways and partner devices. "credits" requires you to have enough credit balance to send messages.

Allowed values: "devices", "credits"

phone String

Recipient mobile number, it will accept E.164 formatted number or locally formatted numbers using the country code from your profile settings.
Example for Philippines
E.164: +639184661533
Local: 09184661533

message String

Message you want to send, spintax is also supported.

device (optional) String

Linked device unique ID, this is required if you will send with "devices" mode. You can get linked device unique ID from /get/devices (Your devices).

gateway (optional) String|Number

Partner device unique ID or gateway ID, this is required if you will send with "credits" mode. You can get a partner device unique ID and gateway ID from /get/rates

sim Number

Sim slot number you want to use. For "devices" mode only.

Allowed values: 1, 2

priority (optional) Number

If you want to send the messages as priority, 1 for yes and 2 for no. For "devices" mode only.

Default value: 1

Allowed values: 1, 2

shortener (optional) Number

Shortener ID, specify the shortener you want to use if you want to shorten the links in your message. You can get the list of available shorteners from /get/shorteners

Default value: none

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
String
String
String
String
String|Number
Number
Number
Number
<?php

  $message = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "mode" => "devices",
      "device" => "00000000-0000-0000-d57d-f30cb6a89289",
      "sim" => 1,
      "priority" => 1,
      "phone" => "+393123456789",
      "message" => "Hello World!"
  ];

  $cURL = curl_init("https://app.isend.live/api/send/sms");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $message);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

message = {
    "secret": apiSecret,
    "mode": "devices",
    "device": "00000000-0000-0000-d57d-f30cb6a89289",
    "sim": 1,
    "priority": 1,
    "phone": "+393123456789",
    "message": "Hello World!"
}

r = requests.post(url = "https://app.isend.live/api/send/sms", params = message)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Message has been queued for sending!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Start SMS Campaign

Start SMS Campaign. Requires "start_sms_campaign" API permission.

GET https://app.isend.live/api/remote/start.sms

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

campaign Number

Campaign ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $campaignId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/remote/start.sms?secret={$apiSecret}&campaign={$campaignId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
campaignId = 1

r = requests.get(url = "https://app.isend.live/api/remote/start.sms", params = {
    "secret": apiSecret,
    "campaign": campaignId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "SMS campaign has been resumed!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

SMS - Stop SMS Campaign

Stop SMS Campaign. Requires "stop_sms_campaign" API permission.

GET https://app.isend.live/api/remote/stop.sms

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

campaign Number

Campaign ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $campaignId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/remote/stop.sms?secret={$apiSecret}&campaign={$campaignId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
campaignId = 1

r = requests.get(url = "https://app.isend.live/api/remote/stop.sms", params = {
    "secret": apiSecret,
    "campaign": campaignId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "SMS campaign has been paused!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

System

System - Get Gateway Rates

Get Gateway Rates. Requires "get_rates" API permission.

GET https://app.isend.live/api/get/rates

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/rates?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/rates", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Gateway Rates",
  "data": {
       "gateways": [
           {
               "id": 1,
               "name": "Twilio",
               "currency": "GBP",
               "pricing": {
                   "default": "0.01",
                   "countries": {
                       "us": "0.01",
                       "ph": "10",
                       "gb": "0.02"
                   }
               }
           }
       ],
       "partners": [
           {
               "unique": "00000000-0000-0000-d57d-f30cb6a89289",
               "name": "F11 Phone",
               "version": "Android 11",
               "priority": false,
               "sim": [
                   "2"
               ],
               "country": "PH",
               "currency": "PHP",
               "rate": 5,
               "owner": "mail@owneremail.com",
               "status": "online"
           }
       ]
   }
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

System - Get Shorteners

Get Shorteners. Requires "get_shorteners" API permission.

GET https://app.isend.live/api/get/shorteners

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/shorteners?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/shorteners", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Available Shorteners",
  "data": [
       {
           "id": 1,
           "name": "Bitly"
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

USSD

USSD - Clear Pending USSD

Clear Pending USSD. Requires "clear_ussd_pending" API permission.

GET https://app.isend.live/api/clear/ussd

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/clear/ussd?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/clear/ussd", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Pending USSD requests has been cleared!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

USSD - Delete USSD Request

Delete USSD Request. Requires "delete_ussd" API permission.

GET https://app.isend.live/api/delete/ussd

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

USSD request ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $ussdId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/ussd?secret={$apiSecret}&id={$ussdId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
ussdId = 1

r = requests.get(url = "https://app.isend.live/api/delete/ussd", params = {
    "secret": apiSecret
    "id": ussdId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "USSD request has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

USSD - Get USSD Requests

Get USSD Requests. Requires "get_ussd" API permission.

GET https://app.isend.live/api/get/ussd

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/ussd?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/ussd", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "USSD Requests",
  "data": [
       {
           "id": 5,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "sim": 1,
           "code": "*143#",
           "response": "Sorry! You are not allowed to use this service.",
           "status": "completed",
           "created": 1645043019
       },
       {
           "id": 6,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "sim": 1,
           "code": "*145#",
           "response": "Your balance is 14.60",
           "status": "completed",
           "created": 1645043024
       },
       {
           "id": 13,
           "device": "00000000-0000-0000-d57d-f30cb6a89289",
           "sim": 2,
           "code": "*121#",
           "response": "Sorry! Invalid MMI Code.",
           "status": "completed",
           "created": 1645413608
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

USSD - Send USSD Request

Send USSD Request. Requires "ussd" API permission.

POST https://app.isend.live/api/send/ussd

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

code String

MMI request code. Please make sure that you are using a valid MMI code, if not, it will fail.

sim Number

Sim slot number you want to use.

device String

Linked device unique ID. You can get linked device unique ID from /get/devices (Your devices).

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
String
Number
String
<?php

  $ussd = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "code" => "*121#",
      "sim" => 1,
      "device" => "00000000-0000-0000-d57d-f30cb6a89289"
  ];

  $cURL = curl_init("https://app.isend.live/api/send/ussd");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $ussd);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

ussd = {
    "secret": apiSecret,
    "code": "*121#",
    "sim": 1,
    "device": "00000000-0000-0000-d57d-f30cb6a89289"
}

r = requests.post(url = "https://app.isend.live/api/send/ussd", params = ussd)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp message has been queued for sending!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp

WhatsApp - Create WhatsApp QRCode

Create WhatsApp QRCode. Requires "create_whatsapp" API permission.

GET https://app.isend.live/api/create/whatsapp

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
<?php

  $contact = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
  ];

  $cURL = curl_init("https://app.isend.live/api/create/whatsapp");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $contact);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

contact = {
    "secret": apiSecret
}

r = requests.post(url = "https://app.isend.live/api/create/whatsapp", params = contact)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp QRCode has been created!",
  "data": {
       qrstring: "2@MwggDzdZqWfC4vYBJQsExNnSuE6+fyGYVo+/RfMyWUxJBW2Q0yDKykpqRi+pSoHquonRk5P6CaVOsg==,BpVhDS5yHBbN9k/xCiQIWwOduYcyo/1tMhoWaNpwJC8=,7F75UfkJzXY6GbLy+3evLc9aCkyN40K2ORR0dZ84eSk=,7nQ0NTR4eaXRZOwIbv9FKoFpFTSNu6fHzKGaICsyDzc=",
       qrimagelink: "https://app.isend.live/api/get/wq.qr?token=e10adc3949ba59abbe56e057f20f883e&qrstring=2@MwggDzdZqWfC4vYBJQsExNnSuE6+fyGYVo+/RfMyWUxJBW2Q0yDKykpqRi+pSoHquonRk5P6CaVOsg==,BpVhDS5yHBbN9k/xCiQIWwOduYcyo/1tMhoWaNpwJC8=,7F75UfkJzXY6GbLy+3evLc9aCkyN40K2ORR0dZ84eSk=,7nQ0NTR4eaXRZOwIbv9FKoFpFTSNu6fHzKGaICsyDzc=",
  }
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Delete Received Chat

Delete Received Chat. Requires "delete_wa_received" API permission.

GET https://app.isend.live/api/delete/wa.received

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Received chat ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $chatId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/wa.received?secret={$apiSecret}&id={$chatId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
chatId = 1

r = requests.get(url = "https://app.isend.live/api/delete/wa.received", params = {
    "secret": apiSecret
    "id": chatId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Received WhatsApp chat has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Delete Sent Chat

Delete Sent Chat. Requires "delete_wa_sent" API permission.

GET https://app.isend.live/api/delete/wa.sent

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Sent chat ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $chatId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/wa.sent?secret={$apiSecret}&id={$chatId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
chatId = 1

r = requests.get(url = "https://app.isend.live/api/delete/wa.sent", params = {
    "secret": apiSecret
    "id": chatId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Sent WhatsApp chat has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Delete WhatsApp Campaign

Delete WhatsApp Campaign. Requires "delete_wa_campaign" API permission.

GET https://app.isend.live/api/delete/wa.campaign

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

id Number

Campaign ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $campaignId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/delete/wa.campaign?secret={$apiSecret}&id={$campaignId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
campaignId = 1

r = requests.get(url = "https://app.isend.live/api/delete/wa.campaign", params = {
    "secret": apiSecret
    "id": campaignId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp campaign has been deleted!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Get Accounts

Get Accounts. Requires "get_wa_accounts" API permission.

GET https://app.isend.live/api/get/wa.accounts

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/wa.accounts?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/wa.accounts", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp Accounts",
  "data": [
       {
           "id": 1,
           "phone": "+639760713666",
           "unique": "90cf7d40a467d5f40a39fca222c216449cb9abee73e5e2b0b321060c2ae06a8fa9e45486",
           "created": 1645128758
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Get Pending Chats

Get Pending Chats. Requires "get_wa_pending" API permission.

GET https://app.isend.live/api/get/wa.pending

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/wa.pending?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/wa.pending", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Pending WhatsApp Chats",
  "data": [
       {
           "id": 1,
           "account": "+639760713666",
           "api": false,
           "recipient": "+639184661533",
           "message": "Hello World!",
           "attachment": false,
           "created": 1645521446
       },
       {
           "id": 2,
           "account": "+639760713666",
           "api": true,
           "recipient": "+639206150513",
           "message": "Hello World!",
           "attachment": false,
           "created": 1645521446
       },
       {
           "id": 3,
           "account": "+639760713666",
           "api": false,
           "recipient": "+639184661532",
           "message": "Hello World!",
           "attachment": "https://app.isend.live/uploads/whatsapp/c4ca4238a0b923820dcc509a6f75849b_c4ca4238a0b923820dcc509a6f75849b6352420c0654f1.46673324.pdf",
           "created": 1645521446
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Get Received Chats

Get Received Chats. Requires "get_wa_received" API permission.

GET https://app.isend.live/api/get/wa.received

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/wa.received?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/wa.received", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Pending WhatsApp Chats",
  "data": [
       {
           "id": 1,
           "account": "+639760713666",
           "recipient": "+639184661533",
           "message": "Hello world!",
           "created": 1645232578
       },
       {
           "id": 2,
           "account": "+639760713666",
           "recipient": "+639184661533",
           "message": "How are you?",
           "created": 1645232635
       },
       {
           "id": 3,
           "account": "+639760713666",
           "recipient": "+639184661533",
           "message": "hahaha",
           "created": 1645232650
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Get Sent Chats

Get Sent Chats. Requires "get_wa_sent" API permission.

GET https://app.isend.live/api/get/wa.sent

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/wa.sent?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/wa.sent", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "Sent WhatsApp Chats",
  "data": [
       {
           "id": 1,
           "account": "+639760713666",
           "status": "sent",
           "api": true,
           "recipient": "+639206150513",
           "message": "Hello World!",
           "attachment": false,
           "created": 1645129261
       },
       {
           "id": 2,
           "account": "+639760713666",
           "status": "sent",
           "api": false,
           "recipient": "+639206150513",
           "message": "Hello World!",
           "attachment": false,
           "created": 1645129261
       },
       {
           "id": 3,
           "account": "+639760713666",
           "status": "failed",
           "api": true,
           "recipient": "+639206150513",
           "message": "Hello World!",
           "attachment": "https://app.isend.live/uploads/whatsapp/c4ca4238a0b923820dcc509a6f75849b_c4ca4238a0b923820dcc509a6f75849b6352420c0654f1.46673324.pdf",
           "created": 1645129720
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Get WhatsApp Campaigns

Get WhatsApp Campaigns. Requires "get_wa_campaigns" API permission.

GET https://app.isend.live/api/get/wa.campaigns

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

limit (optional) Number

Limit the number of results per page.

Default value: 10

page (optional) Number

Pagination of results.

Default value: 1

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/get/wa.campaigns?secret={$apiSecret}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

r = requests.get(url = "https://app.isend.live/api/get/wa.campaigns", params = {
    "secret": apiSecret
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp Campaigns",
  "data": [
       {
           "id": 1,
           "account": "+393123456789",
           "type": "text",
           "status": "completed",
           "name": "Sample Campaign",
           "contacts": 2,
           "created": 1661446601
       },
       {
           "id": 2,
           "account": "+393123456789",
           "type": "button",
           "status": "running",
           "name": "Sample Campaign 2",
           "contacts": 70,
           "created": 1661447664
       },
       {
           "id": 3,
           "account": "+393123456789",
           "type": "media",
           "status": "paused",
           "name": "Demo",
           "contacts": 5,
           "created": 1663185427
       }
   ]
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Get WhatsApp QR Image

Get WhatsApp QR Image. Requires "create_whatsapp" API permission.

GET https://app.isend.live/api/get/wa.qr

Parameter

Field Type Description
token String

The token string you got from

qrstring Number

The qr code string you got from /create/whatsapp

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Send Bulk Chats

Send bulk chat messages. Requires "wa_send_bulk" API permission.

POST https://app.isend.live/api/send/whatsapp.bulk

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

account Number

WhatsApp account ID you want to use for sending, you can get account ID's from /get/wa.accounts (Your WhatsApp accounts).

campaign String

Name of the campaign, you will see this in the WhatsApp campaign manager.

recipients (optional) String

List of phone numbers or group addresses separated by commas. It can be optional if "groups" parameter is not empty. It will accept whatsapp group address E.164 formatted number or locally formatted numbers using the country code from your profile settings.
Example for Philippines
E.164: +639184661533
Local: 09184661533

groups (optional) String

List of contact group ID's separated by commas. It can be optional if "numbers" parameter is not empty. You can get group ID's from /get/groups (Your contact groups).

type String

Type of WhatsApp message.

Allowed values: "text", "media", "button", "list", "template"

message String

Message or caption you want to send, spintax and shortcodes are supported.

media_file (optional) File

This is for "media" and "button" type message only. The media file you want to attach in the WhatsApp message, it supports jpg, png, gif and mp4 files. Please use POST method if you are using this parameter. "mp4" files are not supported in "button" type messages.

media_url (optional) String

This is for "media" and "button" type message only. The media file url, please use direct link to the media file. It will be downloaded and be attached in the WhatsApp message, it also supports jpg, png, gif and mp4 files. You can use GET method for this, "mp4" files are not supported on button messages.

media_type (optional) String

This is for "media" type message only. You only need to enter this parameter if you are using "media_url" instead of "media_file". You need to declare the file type of the media in the url you provided.

Allowed values: "image", "mp4"

document_file (optional) File

This is for "document" type message only. The document file you want to attach in the WhatsApp message, it supports pdf, xls, xlsx, doc and docx files. Please use POST method if you are using this parameter.

document_url (optional) String

This is for "document" type message only. The document file url, please use direct link to the document file. It will be downloaded and be attached in the WhatsApp message, it also supports pdf, xls, xlsx, doc, and docx files. You can use GET method for this.

document_type (optional) String

This is for "document" type message only. You only need to enter this parameter if you are using "document_url" instead of "document_file". You need to declare the file type of the document in the url you provided.

Allowed values: "pdf", "xls", "xlsx", "doc", "docx"

button_1 String

This is for "button" type message only. The name for the first button.

button_2 (optional) String

This is for "button" type message only. The name for the second button.

button_3 (optional) String

This is for "button" type message only. The name for the third button.

list_title String

This is for "list" type message only. The title of the list. Please use POST method for "list" and "template" formats.

menu_title String

This is for "list" type message only. The title of the menu. Please use POST method for "list" and "template" formats.

footer String

This is for "list" and "template" type message only. The footer message. Please use POST method for "list" and "template" formats.

format String

This is for "list" and "template" type message only. The list or template format you want to send. This must be a valid JSON string, please check the example JSON in the quick message modal. Please use POST method for "list" and "template" formats.

shortener (optional) Number

Shortener ID, specify the shortener you want to use if you want to shorten the links in your message. You can get the list of available shorteners from /get/shorteners

Default value: none

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = WhatsApp account doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
String
String
String
String
String
File
String
String
File
String
String
String
String
String
String
String
String
String
Number
<?php

  $chat = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "account" => 1,
      "campaign" => "bulk test",
      "numbers" => "+393123456789,+639123456789,+639123456789",
      "groups" => "1,2,3,4",
      "phone" => "+393123456789",
      "message" => "Hello World!"
  ];

  $cURL = curl_init("https://app.isend.live/api/send/whatsapp.bulk");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $chat);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

chat = {
    "secret": apiSecret,
    "account": 1,
    "campaign": "bulk test",
    "numbers": "+393123456789,+639123456789,+639123456789",
    "groups": "1,2,3,4",
    "phone": "+393123456789",
    "message": "Hello World!"
}

r = requests.post(url = "https://app.isend.live/api/send/whatsapp.bulk", params = chat)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp bulk chats has been queued!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Send Single Chat

Send a single chat message. Requires "wa_send" API permission.

POST https://app.isend.live/api/send/whatsapp

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

account Number

WhatsApp account ID you want to use for sending, you can get account ID's from /get/wa.accounts (Your WhatsApp accounts).

recipient String

Recipient mobile number or group address, it will accept whatsapp group address or E.164 formatted number and locally formatted numbers using the country code from your profile settings.
Example for Philippines
E.164: +639184661533
Local: 09184661533

type String

Type of WhatsApp message.

Allowed values: "text", "media", "document", "button", "list", "template"

message String

Message or caption you want to send, spintax is also supported.

media_file (optional) File

This is for "media" and "button" type message only. The media file you want to attach in the WhatsApp message, it supports jpg, png, gif and mp4 files. Please use POST method if you are using this parameter. "mp4" files are not supported in "button" type messages.

media_url (optional) String

This is for "media" and "button" type message only. The media file url, please use direct link to the media file. It will be downloaded and be attached in the WhatsApp message, it also supports jpg, png, gif and mp4 files. You can use GET method for this, "mp4" files are not supported on button messages.

media_type (optional) String

This is for "media" type message only. You only need to enter this parameter if you are using "media_url" instead of "media_file". You need to declare the file type of the media in the url you provided.

Allowed values: "image", "mp4"

document_file (optional) File

This is for "document" type message only. The document file you want to attach in the WhatsApp message, it supports pdf, xls, xlsx, doc and docx files. Please use POST method if you are using this parameter.

document_url (optional) String

This is for "document" type message only. The document file url, please use direct link to the document file. It will be downloaded and be attached in the WhatsApp message, it also supports pdf, xls, xlsx, doc, and docx files. You can use GET method for this.

document_type (optional) String

This is for "document" type message only. You only need to enter this parameter if you are using "document_url" instead of "document_file". You need to declare the file type of the document in the url you provided.

Allowed values: "pdf", "xls", "xlsx", "doc", "docx"

button_1 String

This is for "button" type message only. The name for the first button.

button_2 (optional) String

This is for "button" type message only. The name for the second button.

button_3 (optional) String

This is for "button" type message only. The name for the third button.

list_title String

This is for "list" type message only. The title of the list. Please use POST method for "list" and "template" formats.

menu_title String

This is for "list" type message only. The title of the menu. Please use POST method for "list" and "template" formats.

footer String

This is for "list" and "template" type message only. The footer message. Please use POST method for "list" and "template" formats.

format String

This is for "list" and "template" type message only. The list or template format you want to send. This must be a valid JSON string, please check the example JSON in the quick message modal. Please use POST method for "list" and "template" formats.

shortener (optional) Number

Shortener ID, specify the shortener you want to use if you want to shorten the links in your message. You can get the list of available shorteners from /get/shorteners

Default value: none

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = WhatsApp account doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
String
String
String
File
String
String
File
String
String
String
String
String
String
String
String
String
Number
<?php

  $chat = [
      "secret" => "API_SECRET", // your API secret from (Tools -> API Keys) page
      "account" => 1,
      "recipient" => "+393123456789",
      "type" => "text",
      "message" => "Hello World!"
  ];

  $cURL = curl_init("https://app.isend.live/api/send/whatsapp");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($cURL, CURLOPT_POSTFIELDS, $chat);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"

chat = {
    "secret": apiSecret,
    "account": 1,
    "recipient": "+393123456789",
    "type": "text",
    "message": "Hello World!"
}

r = requests.post(url = "https://app.isend.live/api/send/whatsapp", params = chat)
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp message has been queued for sending!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Start WhatsApp Campaign

Start WhatsApp Campaign. Requires "start_wa_campaign" API permission.

GET https://app.isend.live/api/remote/start.chats

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

campaign Number

Campaign ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $campaignId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/remote/start.chats?secret={$apiSecret}&campaign={$campaignId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
campaignId = 1

r = requests.get(url = "https://app.isend.live/api/remote/start.chats", params = {
    "secret": apiSecret,
    "campaign": campaignId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp campaign has been resumed!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}

WhatsApp - Stop WhatsApp Campaign

Stop WhatsApp Campaign. Requires "stop_wa_campaign" API permission.

GET https://app.isend.live/api/remote/stop.chats

Parameter

Field Type Description
secret String

The API secret you copied from (Tools -> API Keys) page

campaign Number

Campaign ID

Success Response Format

Field Type Description
status Number

List of Codes
200 = Success

message String

Response message

data Array

Array of data

Error Response Format

Name Type Description
status Number

List of Codes
400 = Invalid parameters
401 = Invalid API secret
403 = Access denied
404 = Device doesn't exist
500 = Something went wrong

message String

Response message

data Array

Array of data

Send a Sample Request

url

Parameters

String
Number
<?php

  $apiSecret = "API_SECRET"; // your API secret from (Tools -> API Keys) page
  $campaignId = 1;

  $cURL = curl_init();
  curl_setopt($cURL, CURLOPT_URL, "https://app.isend.live/api/remote/stop.chats?secret={$apiSecret}&campaign={$campaignId}");
  curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($cURL);
  curl_close($cURL);

  $result = json_decode($response, true);

  // do something with response
  print_r($result);
import requests

# your API secret from (Tools -> API Keys) page
apiSecret = "API_SECRET"
campaignId = 1

r = requests.get(url = "https://app.isend.live/api/remote/stop.chats", params = {
    "secret": apiSecret,
    "campaign": campaignId
})
  
# do something with response object
result = r.json()
{
  "status": 200,
  "message": "WhatsApp campaign has been resumed!",
  "data": false
}
{
  "status": 400,
  "message": "Invalid Parameters!",
  "data": false
}