Sender ID API
A Sender ID is the name or number that appears as the sender of an SMS message, helping recipients identify who the message is from. This API allows businesses to retrieve the status of all registered Sender IDs and submit new Sender ID registration requests using GET and POST request methods, respectively.
Fetch Sender ID
The Fetch Sender ID endpoint retrieves a list of all Sender IDs associated with a customer’s account, including those that are active, pending approval, or blocked. You can also filter the results by passing the name and/or status of the Sender ID as query parameters in the GET request.
Endpoint :
https://BASE_URL/api/sender-id?api_key=api-key
Request Type : GET
Sample Response - 200 OK
{
"content": [
{
"country": "Nigeria",
"status": "active",
"createdAt": "2025-05-12 10:20:27",
"sender_id": "Renchakak"
},
{
"country": "Nigeria",
"status": "active",
"createdAt": "2025-05-09 13:08:02",
"sender_id": "WisdomTooth"
},
{
"company": "slslsls",
"country": "Nigeria",
"status": "pending",
"createdAt": "2025-05-09 13:07:11",
"sender_id": "Sksksks",
"usecase": "slslslslslsllslslslsls"
},
{
"country": "Nigeria",
"status": "active",
"createdAt": "2025-02-13 08:24:04",
"sender_id": "Great"
},
{
"country": "Nigeria",
"status": "active",
"createdAt": "2024-08-06 11:45:57",
"sender_id": "Tommy"
}
],
"pageable": {
"sort": {
"empty": false,
"sorted": true,
"unsorted": false
},
"offset": 0,
"pageNumber": 0,
"pageSize": 15,
"paged": true,
"unpaged": false
},
"totalElements": 5,
"last": true,
"totalPages": 1,
"sort": {
"empty": false,
"sorted": true,
"unsorted": false
},
"size": 15,
"number": 0,
"first": true,
"numberOfElements": 5,
"empty": false
}
Request Sender ID
The Request Sender ID endpoint allows you to submit a new Sender ID for registration. Once submitted, the request is sent to Termii’s admin team for review and approval.
Endpoint :
https://BASE_URL/api/sender-id/request
Request Type : POST
`
Request Body Params :
Options | Required | Description |
---|---|---|
api_key | yes | string Your API key (It can be found on your Termii dashboard). |
sender_id | yes | string Represents the ID of the sender which can be alphanumeric or numeric. Alphanumeric sender ID length should be between 3 and 11 characters (Example: CompanyName ) |
usecase | yes | string A sample of the type of message sent. |
company | yes | string Represents the name of the company with the sender ID. |
{
"api_key":"Your API key",
"sender_id": "Acme",
"usecase": "Your OTP code is zxsds",
"company": "Acme Corp"
}
var data = { "api_key":"Your API key",
"sender_id": "Acme",
"usecase": "Your OTP code is zxsds",
"company": "Acme Corp" };
var data = JSON.stringify(data);
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://BASE_URL/api/sender-id/request");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(data);
var request = require('request');
var data = {"api_key":"Your API key",
"sender_id": "Acme",
"usecase": "Your OTP code is zxsds",
"company": "Acme Corp"};
var options = {
'method': 'POST',
'url': 'https://BASE_URL/api/sender-id/request',
'headers': {
'Content-Type': ['application/json', 'application/json']
},
body: JSON.stringify(data)
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
url = "https://BASE_URL/api/sender-id/request"
payload = {
"api_key":"Your API key",
"sender_id": "Acme",
"usecase": "Your OTP code is zxsds",
"company": "Acme Corp"
}
headers = {
'Content-Type': 'application/json',
}
response = requests.request("GET", url, headers=headers, json=payload)
print(response.text)
RestClient restClient = new RestClient("https://BASE_URL/api/sender-id/request");
//Creating Json object
JObject objectBody = new JObject();
objectBody.Add("api_key","Your API Key");
objectBody.Add("sender_id","Acme");
objectBody.Add("usecase","Acme Corp");
RestRequest restRequest = new RestRequest(Method.POST);
restRequest.AddHeader("Content-Type", "application/json");
restRequest.AddParameter("application/json", objectBody, ParameterType.RequestBody);
IRestResponse restResponse = restClient.Execute(restRequest);
Console.WriteLine(restResponse.Content);
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://BASE_URL/api/sender-id/request")
.header("Content-Type", "application/json")
.body(" {\r\n \"api_key\":\"Your API key\",\r\n \"sender_id\": \"Acme\",\r\n \"usecase\": \"Your OTP code is zxsds\",\r\n \"company\": \"Acme Corp\"\r\n }")
.asString();
$curl = curl_init();
$data = array("api_key" => "Your API key", "sender_id" => "Acme",
"usecase" => "Your OTP code is zxsdc", "company" => "Acme Corp" );
$post_data = json_encode($data);
curl_setopt_array($curl, array(
CURLOPT_URL => "https://BASE_URL/api/sender-id/request",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $post_data,
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Sample Response - 200 OK
{
"code": "ok",
"message": "Sender Id requested. You will be contacted by your account manager."
}