Text CALL to 88440

+44 (0)1484 599 311

Login Free Account

Developer Tools

Free Account

Forget Status

This API call will check the status on any given day of previous API calls to forget a CLI (destination number). This API call will return the current status


http:// or https:// www.voodooSMS.com/vapi/server/forgetstatus





Required Fields


System allocated username for API user configured within the VoodooSMS.com Portal in 'Send SMS>API Management'


System password for API user configured within the VoodooSMS.com Portal in 'Send SMS>API Management'


Specify the date you wish to forget for - format yyyy-mm-dd


Return format requested: XML, JSON or PHP data.

Forget Status without any query parameter


     case "GET":
          $uid = htmlspecialchars($_GET["uid"]);
          $pass = htmlspecialchars($_GET["pass"]);
          $date = htmlspecialchars($_GET["date"]);
          $format = htmlspecialchars($_GET["format"]);
     case "POST":
          $uid = htmlspecialchars($_POST["uid"]);
          $pass = htmlspecialchars($_POST["pass"]);
          $date = htmlspecialchars($_POST["date"]);
          $format = htmlspecialchars($_POST["format"]);

$url = 'https://www.voodoosms.com/vapi/server/forgetstatus?uid='.$uid.'&pass='.$pass.'&date='

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
// Download the given URL, and return output
$output = curl_exec($ch);
echo $output."   ".curl_error($ch);
 // Close the cURL resource, and free system resources

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class Servlet extends HttpServlet {
     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

          if (request.getAttribute("uid") != null && request.getAttribute("pass") != null
            && request.getAttribute("date") != null
            && request.getAttribute("format") != null) {
               String charset = "UTF-8";
               String query = String.format("uid=%s&pass=%s&date=%s&format=%s",
                URLEncoder.encode(request.getAttribute("uid").toString(), charset),
                URLEncoder.encode(request.getAttribute("pass").toString(), charset));
                URLEncoder.encode(request.getAttribute("date").toString(), charset),
                URLEncoder.encode(request.getAttribute("format").toString(), charset));
               String url = "www.voodoosms.com/vapi/server/forgetstatus?" + query;
               // reqres contains the request output
          else {
             // Wrong parameters
     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          // Same as GET

var http = require('http');
var https = require('https');
var querystring = require('querystring');
var url = require('url');

var server = http.createServer(function(req, res) {

    var url_parts = url.parse(req.url, true);
    var query = url_parts.query;
    var uid = query.uid;
    var pass = query.pass;
    var date = query.date;
    var format = query.format;

    if (uid && pass && date && format) {
        var get_data = querystring.stringify({
            "uid": uid,
            "pass": pass,
            "date": date,
            "format": format

        var options = {
            host: 'www.voodoosms.com',
            path: '/vapi/server/forgetstatus' + get_data

        https.get(options, function(reqres) {
            reqres.on('data', function(chunk) {

    } else
        res.end("Wrong parameters");


require 'net/http'
require 'json'

class Controller < ApplicationController
     def index
     uid = params[: uid]
     pass = params[: pass]
     date = params[: date]
     format = params[: format]

     if uid and pass and date and format
          uri = "uid=" + uid + "&pass=" + pass + "&date=" + date +
                "&format=" + format
          uri = 0

     if uri != 0
           url = URI.parse('http://www.voodoosms.com/vapi/server/forgetstatus' + uri)
           uri = URI(url)
           response = Net::HTTP.get(uri)
           @res = response
           @res = "Wrong parameters"

from django.http
import HttpResponse, HttpRequest
import urllib2

def index(request):

    if request.method == 'GET':
         uid = request.GET.get('uid', '')
         pass = request.GET.get('pass', '')
         date = request.GET.get('date', '')
         format = request.GET.get('format', '')
    elif request.method == 'POST':
          uid = request.POST.get('uid', '')
          pass = request.POST.get('pass', '')
          date = request.POST.get('date', '')
          format = request.POST.get('format', '')

    if uid and pass and date and format:
         u = "uid=%s&pass=%s&date=%s&format=%s" % (uid, pass, date, format)
    else :
         u = 0

    if u :
         res = urllib2.urlopen("https://voodoosms.com/vapi/server/forgetstatus" + u).read()
         return HttpResponse(res)
    else :
         return HttpResponse("Wrong parameters")

using System;
using System.Net.Http;
using System.Web;

var client = new HttpClient();

/*Get the parameters, either GET or POST request*/
    string uid = HttpContext.Current.Server.HtmlEncode(Request["uid"]);
    string pass = HttpContext.Current.Server.HtmlEncode(Request["pass"]);
    string date = HttpContext.Current.Server.HtmlEncode(Request["date"]);
    string format = HttpContext.Current.Server.HtmlEncode(Request["format"]);

/*Exit if one or more parameters is missing*/
    if(String.IsNullOrEmpty(uid) || String.IsNullOrEmpty(pass) || String.IsNullOrEmpty(date)
    || String.IsNullOrEmpty(format))

/* Send the async request*/
    HttpResponseMessage response = await client.GetAsync(
    "https://www.voodoosms.com/vapi/server/forgetstatus?uid=" + uid + "&pass="
    + pass + "&date=" + date + "&format=" + format);

/* Get the response content */
HttpContent responseContent = response.Content;

/* Get the stream of the content and write the output*/
using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
Console.WriteLine(await reader.ReadToEndAsync());


      <message>Your request has been accepted and is pending removal</message>
      <date>2018-05-17 00:23:37</date>

Or if more than one request has been made and is still pending:

      <message>Your request has been accepted and is pending removal</message>
      <date>2018-05-17 00:23:37</date>
      <message>Your request has been accepted and is pending removal</message>
      <date>2018-05-17 00:25:17</date>

For the check status (forgetstatus), this will return a list of your outstanding requests referenced by the reference value returned on the original forget request. Once a request has been completed, this status will change as per the following example:

      <message>The CLI has been removed</message>
      <date>2018-05-17 03:00:15</date>
    "requestError": {
        "serviceException": {
            "messageId": "UNAUTHORIZED",
            "text": "Invalid login details"
Request Headers
Accept: */*
Referer: http:// or https:// www.voodoosms.com/vapi/server
authorization: Basic ZGZkZjpzZGZkZg==
accept-encoding: gzip, deflate
content-type: application/json
content-length: 64
URL http:// or https:// www.voodoosms.com/vapi/server/sendSMS
Request Data
    "from": "447711112244",
    "to": [
    "text": "tsdsdsd"
Response Headers
access-control-allow-origin: *
access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, COPY, HEAD, OPTIONS, LINK, UNLINK,
PURGE access-control-allow-headers: Authorization, Content-Type, X-Enrollment-Token
content-type: application/json;charset=UTF-8
content-length: 97
date: Tue, 27 Dec 2016 08:17:07 GMT
connection: close
server: SMS API
strict-transport-security: max-age=16000000; includeSubDomains; preload;