RBLTracker API

The RBLTracker API is a simple web-service API, which lets customers poll our system for the current list of hosts, contacts, and listed hosts, as well as manage your hosts and contacts.

Users should use the API endpoint URL:

https://rbltracker.com/api/

Response Formats

The RBLTracker API supports both JSON and XML response formats. Simply include either .json or .xml in the resource URL when making the request to select the preferred response format. JSON is the default format when none is specified.

For example, to query the API for a list of hosts on your account using the JSON response format, make a GET request to:

https://rbltracker.com/api/hosts.json

Response Codes

Every request to the RBLTracker API, will return both a status_code integer, which will always be either 200 on success, or 500 on failure, as well as a status_message string, which will include a descriptive message of the status.

For example:

{
    "status_code": 200,
    "status_message": "Host addeded successfully."
}

on success, or:

{
    "status_code": 500,
    "status_message": "Invalid host value provided. Please try again."
}

On failure.

Pseudo Formats

The RBLTracker API also supports two pseudo response formats which make integrating into existing monitoring systems that much easier:

  • nagios - for integrating the Nagios monitoring tool.

  • zabbix - for integrating with the Zabbix monitoring tool.

For example, requesting the current host listings, using .nagios in the resource URL:

https://rbltracker.com/api/listings.nagios

Will return a Nagios friendly response:

CRITICAL - 1 host listed!

Currently only the /api/listings resource URL supports these pseudo formats.

Authentication

Authentiction is done via HTTP Basic auth, using your RBLTracker Account SID and API Token, both of which are available from the RBLTracker Portal under the Account -> API Access section.

Pagination

If data returned is too long, the API will return partial results in a single page, and will include additional paging information to navigate the additional pages of information.

  • page number - The current page number.

  • page_size number - The total number of entries to return per-page. Defaults to 20.

  • total_pages number - The total number of pages of results.

To adjust the number of entries returned per-page:

https://rbltracker.com/api/hosts.json?page_size=50

To advance to the next page of results:

https://rbltracker.com/api/hosts.json?page=2

Pagination response values are returned on all pages, even requests for single objects, just to make parsing responses easier for developers. Data will always be returned in the same format, whether there is a single entry, or 100 entries.

API Libraries

PHP SDK

The PHP SDK can be installed via composer:

composer require rbltracker/sdk

Or the source code can be downloaded diretly from the GitHub repository.

The PHP SDK requires:

  • PHP >= 5.4

  • The PHP JSON extension

Node.js SDK

The Node.js SDK can be installed via npm:

npm install rbltracker

Or the source code can be downloaded directly from the GitHub repository.

Python SDK

Coming soon.

Manual Check

Start a manual RBL check

POST https://rbltracker.com/api/check/start
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl https://rbltracker.com/api/check/start.json \
    -u 'your_account_sid:your_auth_token' \
    -d host='10.10.10.11' \
    -d callback='https://your.website.com/callback.php' \
    -d details=1
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Check started successfully.",
  "data": {
    "id": "4ff27529b33c83ffa8c79a7426d40daf087181baaaac75e029b6fd878a3df199",
    "rbls": [
      {
        "id": "RB18c470cc518a09678bb280960dbdd524",
        "type": "rbl",
        "custom": 0,
        "host": "admin.bl.kundenserver.de",
        "website": "http://admin.bl.kundenserver.de/"
      },
      {
        "id": "RBdbf3e492680ee6358a1a703d8b275aa7",
        "type": "rbl",
        "custom": 0,
        "host": "b.barracudacentral.org",
        "website": "http://www.barracudacentral.org/rbl/"
      }
    ]
  },
  "version": "3.6"
}
Body
$ curl https://rbltracker.com/api/check/start.xml \
    -u 'your_account_sid:your_auth_token' \
    -d host='10.10.10.11' \
    -d callback='https://your.website.com/callback.php' \
    -d details=1
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Check started successfully.</status_message>
    <data>
        <id>f99fa22809a336271db54820bf08a3adbc9158a6e55f6a9160aaeba0f7dc92c5</id>
        <rbls>
            <id>RB18c470cc518a09678bb280960dbdd524</id>
            <type>rbl</type>
            <custom>0</custom>
            <host>admin.bl.kundenserver.de</host>
            <website>http://admin.bl.kundenserver.de/</website>
        </rbls>
        <rbls>
            <id>RBdbf3e492680ee6358a1a703d8b275aa7</id>
            <type>rbl</type>
            <custom>0</custom>
            <host>b.barracudacentral.org</host>
            <website>http://www.barracudacentral.org/rbl/</website>
        </rbls>
    </data>
    <version>3.6</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $rbl = $client->check->start(array(

        'host'      => '10.10.10.11',
        'callback'  => 'https://your.website.com/callback.php',
        'details'   => 1
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Check started successfully.
    [data] => Array
    (
        [id] => 176150a199a84bc625cc458726faf977232af2927ff57bf5e760ddfddc27ad4d
        [rbls] => Array
        (
            [0] => Array
            (
                [id] => RB18c470cc518a09678bb280960dbdd524
                [type] => rbl
                [custom] => 0
                [host] => admin.bl.kundenserver.de
                [website] => http://admin.bl.kundenserver.de/
            )

            [1] => Array
            (
                [id] => RBdbf3e492680ee6358a1a703d8b275aa7
                [type] => rbl
                [custom] => 0
                [host] => b.barracudacentral.org
                [website] => http://www.barracudacentral.org/rbl/
            )
        )

    )

    [version] => 3.6
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.check.start({

    host: '10.10.10.11',
    callback: 'https://your.website.com/callback.php',
    details: 1

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Check started successfully.",
  "data": {
    "id": "4ff27529b33c83ffa8c79a7426d40daf087181baaaac75e029b6fd878a3df199",
    "rbls": [
      {
        "id": "RB18c470cc518a09678bb280960dbdd524",
        "type": "rbl",
        "custom": 0,
        "host": "admin.bl.kundenserver.de",
        "website": "http://admin.bl.kundenserver.de/"
      },
      {
        "id": "RBdbf3e492680ee6358a1a703d8b275aa7",
        "type": "rbl",
        "custom": 0,
        "host": "b.barracudacentral.org",
        "website": "http://www.barracudacentral.org/rbl/"
      }
    ]
  },
  "version": "3.6"
}

Start a manual RBL check
POST/api/check/start

Starts a manual RBL check process via the API.

This process is asynchronous, in that it returns right away, returning a check id that you may use to poll for subsequent updates. This is done because a full RBL check may take some time to process, and this avoids blocking the API response.

Required:

  • host - the host value; either an IP address, domain name, or host ID (to use an existing host)

Optional:

  • callback - an HTTP callback URL that RBLTracker will post to once the check request completes.

  • details - a flag indicating if the RBL details should be returned with the response. Either 1 or 0 defaults to 0.

Returns

  • id - the check id that can be used in subsequent requests to /api/check/status for updated details.

Get the Status of a manual check

GET https://rbltracker.com/api/check/status
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/check/status/{id}.json?details=1 \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Check status retrieved successfully.",
  "data": {
    "status": "completed",
    "checked_count": 72,
    "listed": 1,
    "listed_count": 3,
    "listed_details": [
      {
        "rbl": "RB18c470cc518a09678bb280960dbdd524",
        "details": "",
        "response_time": 50.2,
        "listed": 0
      },
      {
        "rbl": "RB69753bbc73e1309c1ceae0ed4e3acc18",
        "details": "SPAMRATS IP Addresses See: http://www.spamrats.com/bl?1.0.204.116",
        "response_time": 642.75,
        "listed": 1
      }
    ]
  },
  "version": "3.6"
}
Body
$ curl -G https://rbltracker.com/api/check/status/{id}.xml?details=1 \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Check status retrieved successfully.</status_message>
    <data>
        <status>completed</status>
        <checked_count>72</checked_count>
        <listed>1</listed>
        <listed_count>3</listed_count>
        <listed_details>
            <rbl>RB18c470cc518a09678bb280960dbdd524</rbl>
            <details></details>
            <response_time>50.2</response_time>
            <listed>0</listed>
        </listed_details>
        <listed_details>
            <rbl>RB69753bbc73e1309c1ceae0ed4e3acc18</rbl>
            <details>SPAMRATS IP Addresses See: http://www.spamrats.com/bl?10.10.10.11</details>
            <response_time>642.75</response_time>
            <listed>1</listed>
        </listed_details>
        ...
    </data>
    <version>3.6</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $rbl = $client->check->status('4ff27529b33c83ffa8c79a7426d40daf087181baaaac75e029b6fd878a3df199', array('details' => 1));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Check status retrieved successfully.
    [data] => Array
    (
        [status] => completed
        [checked_count] => 72
        [listed] => 1
        [listed_count] => 3
        [listed_details] => Array
        (
            [0] => Array
            (
                [rbl] => RB18c470cc518a09678bb280960dbdd524
                [details] => 
                [response_time] => 50.2
                [listed] => 0
            )

            [1] => Array
            (
                [rbl] => RB1e5bad2c068a43bf52fa6135759e3b84
                [details] => https://www.spamhaus.org/query/ip/10.10.10.11
                [response_time] => 518.39
                [listed] => 1
            )

        )

    )

    [version] => 3.6
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.check.satus('4ff27529b33c83ffa8c79a7426d40daf087181baaaac75e029b6fd878a3df199', {

    details: 1

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Check status retrieved successfully.",
  "data": {
    "status": "completed",
    "checked_count": 72,
    "listed": 1,
    "listed_count": 3,
    "listed_details": [
      {
        "rbl": "RB18c470cc518a09678bb280960dbdd524",
        "details": "",
        "response_time": 50.2,
        "listed": 0
      },
      {
        "rbl": "RB69753bbc73e1309c1ceae0ed4e3acc18",
        "details": "SPAMRATS IP Addresses See: http://www.spamrats.com/bl?1.0.204.116",
        "response_time": 642.75,
        "listed": 1
      }
    ]
  },
  "version": "3.6"
}

Get the status of a manual check
GET/api/check/status

Gets the status of a previously started manual check.

You can use the check id returned from /api/check/start to poll for check status in real-time.

Required:

  • id - the check id returned from a call to /api/check/start

Optional:

  • details - a flag indicating if the RBL details should be returned with the response. Either 1 or 0 defaults to 0.

Returns

  • status - the current status of the check, eiher processing or completed

  • checked_count - the number of RBLs checked so far in this check.

  • listed - if the host is current listed (either 1 or 0)

  • listed_count - the total number of RBLs this host is currently listed on.

  • listed_details - optional; only returned if the details flag is set to 1 on the request.

RBL Details

If you set the details flag to 1 on the POST request to /api/check/start, then the following RBL details will be returned in the response:

  • id - the ID of the RBL. For more details, see the /api/rbls request

  • details - the details returned by the RBL provider when listed, or empty when not listed.

  • listed - if the host is listed on this RBL, either 1 or 0.

  • response_time - the response time to query this RBL in milliseconds.


Listings

Current Listings

GET https://rbltracker.com/api/listings
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/listings.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_hosts": 1,
  "total_listed": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "HT3c1ad60aa7adc3654bad58ce6da11817",
      "host": "10.10.10.10",
      "name": "Broken Host",
      "type": "rbl",
      "parent": null,
      "status": "active",
      "rbl_profile": "RP15d4e891d784977cacbfcbb00c48f133",
      "contact_group": "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
      "last_checked": "2016-11-07 21:01:50 EST",
      "first_listed": "2016-08-25 22:55:33 EDT",
      "listed_period": "73 days 23:45:01",
      "listed": 1,
      "listed_count": 3,
      "listed_details": [
        {
          "host": "noptr.spamrats.com",
          "website": "http://www.spamrats.com/rats-noptr.php",
          "details": "SPAMRATS IP Addresses See: http://www.spamrats.com/bl?10.10.10.10"
        },
        {
          "host": "pbl.spamhaus.org",
          "website": "http://www.spamhaus.org/pbl/",
          "details": "https://www.spamhaus.org/query/ip/10.10.10.10"
        },
        {
          "host": "spam.dnsbl.sorbs.net",
          "website": "http://www.sorbs.net/",
          "details": "Spam Received See: http://www.sorbs.net/lookup.shtml?10.10.10.10"
        }
      ]
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/listings.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_hosts>1</total_hosts>
    <total_listed>1</total_listed>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
       <id>HT3c1ad60aa7adc3654bad58ce6da11817</id>
        <host>10.10.10.10</host>
        <name>Broken Host</name>
        <type>rbl</type>
        <parent/>
        <status>active</status>
        <rbl_profile>RP15d4e891d784977cacbfcbb00c48f133</rbl_profile>
        <contact_group>CG37106c6baa1ec90a2b3f5c8ec54afe9d</contact_group>
        <last_checked>2016-11-07 21:01:50 EST</last_checked>
        <first_listed>2016-08-25 22:55:33 EDT</first_listed>
        <listed_period>73 days 23:46:42</listed_period>
        <listed>1</listed>
        <listed_count>3</listed_count>
        <listed_details>
            <host>noptr.spamrats.com</host>
            <website>http://www.spamrats.com/rats-noptr.php</website>
            <details>SPAMRATS IP Addresses See: http://www.spamrats.com/bl?10.10.10.10</details>
        </listed_details>
        <listed_details>
            <host>pbl.spamhaus.org</host>
            <website>http://www.spamhaus.org/pbl/</website>
            <details>https://www.spamhaus.org/query/ip/10.10.10.10</details>
        </listed_details>
        <listed_details>
            <host>spam.dnsbl.sorbs.net</host>
            <website>http://www.sorbs.net/</website>
            <details>Spam Received See: http://www.sorbs.net/lookup.shtml?10.10.10.10</details>
        </listed_details>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $listings = $client->listings->get();

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_hosts] => 1
    [total_listed] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => HT3c1ad60aa7adc3654bad58ce6da11817
                    [host] => 10.10.10.10
                    [name] => Broken Host
                    [type] => rbl
                    [parent] => 
                    [status] => active
                    [rbl_profile] => RP15d4e891d784977cacbfcbb00c48f133
                    [contact_group] => CG37106c6baa1ec90a2b3f5c8ec54afe9d
                    [last_checked] => 2016-11-07 21:01:50 EST
                    [first_listed] => 2016-08-25 22:55:33 EDT
                    [listed_period] => 73 days 23:45:01
                    [listed] => 1
                    [listed_count] => 3
                    [listed_details] => Array
                        (
                            [0] => Array
                                (
                                    [host] => noptr.spamrats.com
                                    [website] => http://www.spamrats.com/rats-noptr.php
                                    [details] => SPAMRATS IP Addresses See: http://www.spamrats.com/bl?10.10.10.10
                                )
                            [1] => Array
                                (
                                    [host] => pbl.spamhaus.org
                                    [website] => http://www.spamhaus.org/pbl/
                                    [details] => https://www.spamhaus.org/query/ip/10.10.10.10
                                )
                            [2] => Array
                                (
                                    [host] => spam.dnsbl.sorbs.net
                                    [website] => http://www.sorbs.net/
                                    [details] => Spam Received See: http://www.sorbs.net/lookup.shtml?10.10.10.10
                                )
                        )
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.listings.get().then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_hosts": 1,
  "total_listed": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "HT3c1ad60aa7adc3654bad58ce6da11817",
      "host": "10.10.10.10",
      "name": "Broken Host",
      "type": "rbl",
      "parent": null,
      "status": "active",
      "rbl_profile": "RP15d4e891d784977cacbfcbb00c48f133",
      "contact_group": "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
      "last_checked": "2016-11-07 21:01:50 EST",
      "first_listed": "2016-08-25 22:55:33 EDT",
      "listed_period": "73 days 23:45:01",
      "listed": 1,
      "listed_count": 3,
      "listed_details": [
        {
          "host": "noptr.spamrats.com",
          "website": "http://www.spamrats.com/rats-noptr.php",
          "details": "SPAMRATS IP Addresses See: http://www.spamrats.com/bl?10.10.10.10"
        },
        {
          "host": "pbl.spamhaus.org",
          "website": "http://www.spamhaus.org/pbl/",
          "details": "https://www.spamhaus.org/query/ip/10.10.10.10"
        },
        {
          "host": "spam.dnsbl.sorbs.net",
          "website": "http://www.sorbs.net/",
          "details": "Spam Received See: http://www.sorbs.net/lookup.shtml?10.10.10.10"
        }
      ]
    }
  ],
  "version": "3.4"
}

Get Listed Hosts
GET/api/listings

Return a full list of all the hosts that are currently listed on one or more RBLs.

This data mirrors the response returned by the /api/hosts API request. The only difference, is the /api/listings request only returns hosts that are currently listed, instead of all hosts.

See the /api/hosts call for an explanation of all the fields.


Hosts

Hosts Collection

GET https://rbltracker.com/api/hosts
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/hosts.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_hosts": 1,
  "total_listed": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "HTee06c4fa7c23aa8a3a4e8d66922b0834",
      "host": "bad-url.com",
      "name": "bad-url.com",
      "type": "uribl",
      "parent": null,
      "status": "active",
      "rbl_profile": "RP15d4e891d784977cacbfcbb00c48f133",
      "contact_group": "CGd3dca251d33135e0a518d7c49b89dc61",
      "last_checked": "2016-11-07 21:01:33 EST",
      "first_listed": "2016-11-06 10:14:58 EST",
      "listed_period": "1 day 11:36:40",
      "listed": 1,
      "listed_count": 1,
      "listed_details": [
        {
          "host": "Google Safe Browsing",
          "website": "",
          "details": "Malware (Virus) on Windows"
        }
      ]
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/hosts.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_hosts>1</total_hosts>
    <total_listed>1</total_listed>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>HTee06c4fa7c23aa8a3a4e8d66922b0834</id>
        <host>bad-url.com</host>
        <name>bad-url.com</name>
        <type>uribl</type>
        <parent/>
        <status>active</status>
        <rbl_profile>RP15d4e891d784977cacbfcbb00c48f133</rbl_profile>
        <contact_group>CGd3dca251d33135e0a518d7c49b89dc61</contact_group>
        <last_checked>2016-11-07 21:01:33 EST</last_checked>
        <first_listed>2016-11-06 10:14:58 EST</first_listed>
        <listed_period>1 day 11:37:10</listed_period>
        <listed>1</listed>
        <listed_count>1</listed_count>
        <listed_details>
            <host>Google Safe Browsing</host>
            <website/>
            <details>Malware (Virus) on Windows</details>
        </listed_details>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $hosts = $client->hosts->get();

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_hosts] => 1
    [total_listed] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => HTee06c4fa7c23aa8a3a4e8d66922b0834
                    [host] => bad-url.com
                    [name] => bad-url.com
                    [type] => uribl
                    [parent] => 
                    [status] => active
                    [rbl_profile] => RP15d4e891d784977cacbfcbb00c48f133
                    [contact_group] => CGd3dca251d33135e0a518d7c49b89dc61
                    [last_checked] => 2016-11-07 21:01:33 EST
                    [first_listed] => 2016-11-06 10:14:58 EST
                    [listed_period] => 1 day 11:37:51
                    [listed] => 1
                    [listed_count] => 1
                    [listed_details] => Array
                        (
                            [0] => Array
                                (
                                    [host] => Google Safe Browsing
                                    [website] => 
                                    [details] => Malware (Virus) on Windows
                                )
                        )
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.hosts.get().then(data => {                 

    console.log(data);          

}).catch(err => {      

    console.log(err);           
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_hosts": 1,
  "total_listed": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "HTee06c4fa7c23aa8a3a4e8d66922b0834",
      "host": "bad-url.com",
      "name": "bad-url.com",
      "type": "uribl",
      "parent": null,
      "status": "active",
      "rbl_profile": "RP15d4e891d784977cacbfcbb00c48f133",
      "contact_group": "CGd3dca251d33135e0a518d7c49b89dc61",
      "last_checked": "2016-11-07 21:01:33 EST",
      "first_listed": "2016-11-06 10:14:58 EST",
      "listed_period": "1 day 11:36:40",
      "listed": 1,
      "listed_count": 1,
      "listed_details": [
        {
          "host": "Google Safe Browsing",
          "website": "",
          "details": "Malware (Virus) on Windows"
        }
      ]
    }
  ],
  "version": "3.4"
}

Get a List of Hosts
GET/api/hosts

Returns a full list of hosts on your RBLTracker account.

Attributes

  • id - the unique ID for this for this host.

  • host - the host value, based on the type value.

  • name - the label for this host.

  • type - the host type.

  • parent - the parent ID, used for IP range types.

  • status - the current status of this host.

  • rbl_profile - the RBL profile used on this host.

  • contact_group - the contact group used on this host.

  • last_checked - the last time this host was checked.

  • first_listed - the date this host first became listed.

  • listed_period - the interval since this host was listed.

  • listed - if this host is listed (1 or 0)

  • listed_count - the total number of RBLs this host is listed on.

  • listed_details - an array of listing details for this host.

Host Types

Each host will have a type associated with it, which will be one of:

  • rbl - an IP address type that checks against RBLs.

  • uribl - a hostname that checks against URIBLs.

  • ip_range - a range of IP addresses that check against RBLs.

Status Values

The status value indicates the current state of the host, and will be one of:

  • active - the host is currently active, and being monitored.

  • paused - the host is currently paused, and not being monitored.

RBL Profile

Each host is associated with a rbl_profile, which defines which RBLs should be monitored for this host. The rbl_profile value references the unique ID of associated RBL Profile object.

The unique rbl_profile ID is available via the /api/rblprofiles API call.

Contact Group

Each host is also associated with a contact_group, which defines which contacts should be alerted in the event of a listing for this host.

The unique contact_group ID is available via the /api/contactgroups API call.


Host Details

GET https://rbltracker.com/api/host/HT3c1ad60aa7adc3654bad58ce6da11817
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/host/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_hosts": 1,
  "total_listed": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "HTbe896165151926c98ee4e1b68720890a",
      "host": "11.11.11.11",
      "name": "Malicious Host",
      "type": "rbl",
      "parent": null,
      "status": "active",
      "rbl_profile": "RP15d4e891d784977cacbfcbb00c48f133",
      "contact_group": "CGd3dca251d33135e0a518d7c49b89dc61",
      "last_checked": "2016-11-07 21:02:24 EST",
      "first_listed": "2016-07-18 23:07:14 EDT",
      "listed_period": "111 days 23:48:07",
      "listed": 1,
      "listed_count": 2,
      "listed_details": [
        {
          "host": "b.barracudacentral.org",
          "website": "http://www.barracudacentral.org/rbl/",
          "details": "Client host blocked using Barracuda Reputation, see http://www.barracudanetworks.com/reputation/?r=1&ip=11.11.11.11"
        },
        {
          "host": "Threat Exchange: IP Addresses",
          "website": "",
          "details": "IDS Detected Spam - Reported by: Zendesk ThreatExchange"
        }
      ]
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/host/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_hosts>1</total_hosts>
    <total_listed>1</total_listed>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>HTbe896165151926c98ee4e1b68720890a</id>
        <host>11.11.11.11</host>
        <name>Malicious Host</name>
        <type>rbl</type>
        <parent/>
        <status>active</status>
        <rbl_profile>RP15d4e891d784977cacbfcbb00c48f133</rbl_profile>
        <contact_group>CGd3dca251d33135e0a518d7c49b89dc61</contact_group>
        <last_checked>2016-11-07 21:02:24 EST</last_checked>
        <first_listed>2016-07-18 23:07:14 EDT</first_listed>
        <listed_period>111 days 23:51:02</listed_period>
        <listed>1</listed>
        <listed_count>2</listed_count>
        <listed_details>
            <host>b.barracudacentral.org</host>
            <website>http://www.barracudacentral.org/rbl/</website>
            <details>Client host blocked using Barracuda Reputation, see http://www.barracudanetworks.com/reputation/?r=1&ip=11.11.11.11</details>
        </listed_details>
        <listed_details>
            <host>Threat Exchange: IP Addresses</host>
            <website/>
            <details>IDS Detected Spam - Reported by: Zendesk ThreatExchange</details>
        </listed_details>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $host = $client->host->get({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_hosts] => 1
    [total_listed] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => HTbe896165151926c98ee4e1b68720890a
                    [host] => 11.11.11.11
                    [name] => Malicious Host
                    [type] => rbl
                    [parent] => 
                    [status] => active
                    [rbl_profile] => RP15d4e891d784977cacbfcbb00c48f133
                    [contact_group] => CGd3dca251d33135e0a518d7c49b89dc61
                    [last_checked] => 2016-11-07 21:02:24 EST
                    [first_listed] => 2016-07-18 23:07:14 EDT
                    [listed_period] => 111 days 23:48:07
                    [listed] => 1
                    [listed_count] => 2
                    [listed_details] => Array
                        (
                            [0] => Array
                                (
                                    [host] => b.barracudacentral.org
                                    [website] => http://www.barracudacentral.org/rbl/
                                    [details] => Client host blocked using Barracuda Reputation, see http://www.barracudanetworks.com/reputation/?r=1&ip=11.11.11.11
                                )
                            [1] => Array
                                (
                                    [host] => Threat Exchange: IP Addresses
                                    [website] => 
                                    [details] => IDS Detected Spam - Reported by: Zendesk ThreatExchange
                                )
                        )
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.host.get({id}).then(data => {

    console.log(data);          

}).catch(err => {      

    console.log(err);           
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_hosts": 1,
  "total_listed": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "HTbe896165151926c98ee4e1b68720890a",
      "host": "11.11.11.11",
      "name": "Malicious Host",
      "type": "rbl",
      "parent": null,
      "status": "active",
      "rbl_profile": "RP15d4e891d784977cacbfcbb00c48f133",
      "contact_group": "CGd3dca251d33135e0a518d7c49b89dc61",
      "last_checked": "2016-11-07 21:02:24 EST",
      "first_listed": "2016-07-18 23:07:14 EDT",
      "listed_period": "111 days 23:48:07",
      "listed": 1,
      "listed_count": 2,
      "listed_details": [
        {
          "host": "b.barracudacentral.org",
          "website": "http://www.barracudacentral.org/rbl/",
          "details": "Client host blocked using Barracuda Reputation, see http://www.barracudanetworks.com/reputation/?r=1&ip=11.11.11.11"
        },
        {
          "host": "Threat Exchange: IP Addresses",
          "website": "",
          "details": "IDS Detected Spam - Reported by: Zendesk ThreatExchange"
        }
      ]
    }
  ],
  "version": "3.4"
}

Get a Single Host
GET/api/host/{id}

Returns details for an individual host

URI Parameters
HideShow
id
string (required) Example: HT3c1ad60aa7adc3654bad58ce6da11817

A unique host id.


Add a New Host

POST https://rbltracker.com/api/host/add
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl https://rbltracker.com/api/host/add.json \
    -u 'your_account_sid:your_auth_token' \
    -d name='My New Host' \
    -d host='10.10.10.11' \
    -d type='rbl' \
    -d rbl_profile='RP15d4e891d784977cacbfcbb00c48f133' \
    -d contact_group='CG37106c6baa1ec90a2b3f5c8ec54afe9d'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Hosts added successfully.",
  "data": [
    {
      "id": "HTe092d4858135fad83dc938618a4ebfbf",
      "host": "10.10.10.11",
      "name": "My New Host",
      "parent": null
    }
  ],
  "version": "3.4"
}
Body
$ curl https://rbltracker.com/api/host/add.xml \
    -u 'your_account_sid:your_auth_token' \
    -d name='My New Host' \
    -d host='10.10.10.11' \
    -d type='rbl' \
    -d rbl_profile='RP15d4e891d784977cacbfcbb00c48f133' \
    -d contact_group='CG37106c6baa1ec90a2b3f5c8ec54afe9d'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Hosts added successfully.</status_message>
    <data>
        <id>HTe092d4858135fad83dc938618a4ebfbf</id>
        <host>10.10.10.11</host>
        <name>My New Host</name>
        <parent></parent>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->host->add(array(

        'name'          => 'My New Host',
        'host'          => '10.10.10.11',
        'type'          => 'rbl',
        'rbl_profile'   => 'RP15d4e891d784977cacbfcbb00c48f133',
        'contact_group' => 'CG37106c6baa1ec90a2b3f5c8ec54afe9d'
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Hosts added successfully.
    [data] => Array
        (
            [0] => Array
                (
                    [id] => HTe092d4858135fad83dc938618a4ebfbf
                    [host] => 10.10.10.11
                    [name] => My New Host
                    [parent] => 
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.host.add({ 

    name: "My New Host",
    host: "10.10.10.11",
    type: "rbl",
    rbl_profile: "RP15d4e891d784977cacbfcbb00c48f133",
    contact_group: "CG37106c6baa1ec90a2b3f5c8ec54afe9d"

}).then(data => {                 

    console.log(data);          

}).catch(err => {

    console.log(err);           
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Hosts added successfully.",
  "data": [
    {
      "id": "HTe092d4858135fad83dc938618a4ebfbf",
      "host": "10.10.10.11",
      "name": "My New Host",
      "parent": null
    }
  ],
  "version": "3.4"
}

Add a New Host
POST/api/host/add

Add a new host to your RBLTracker account.

Required:

  • name - a label for the host.

  • host - the host value; either an IP address, IP range, or domain name.

  • type - see the /api/hosts section for details.

For more information about the IP range type, see https://rbltracker.com/docs/ip-range-host-type/

Optional:

  • rbl_profile - the unique ID of the RBL profile to use for this host.

  • contact_group - the unique ID of the contact group to use for this host.

Returns

  • data - an array of objects with id, host, name, and parent of the new host.

When using the ip_range host type, or when adding hosts by subnet, multiple hosts may be added, and returned in the data response object.


Modify a Host

POST https://rbltracker.com/api/host/update/HT3c1ad60aa7adc3654bad58ce6da11817
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl https://rbltracker.com/api/host/update/{id}.json \
    -u 'your_account_sid:your_auth_token' \
    -d name='My New Host'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host updated successfully.",
  "version": "3.4"
}
Body
$ curl https://rbltracker.com/api/host/update/{id}.xml \
    -u 'your_account_sid:your_auth_token' \
    -d name='My New Host'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Host updated successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->host->update({id}, array(

        'name' => 'My New Host'
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Host updated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.host.update({id}, { 

    name: "My New Host"

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host updated successfully.",
  "version": "3.4"
}

Modify a Host
POST/api/host/update/{id}

Modifies an existing host on your RBLTracker account.

Optional:

  • name - a label for the host.

  • rbl_profile - the unique ID of the RBL profile to use for this host.

  • contact_group - the unique ID of the contact group to use for this host.

The host and type values can not be modified after a host is created.

URI Parameters
HideShow
id
string (required) Example: HT3c1ad60aa7adc3654bad58ce6da11817

A unique host id.


Pause a Host

POST https://rbltracker.com/api/host/pause/HT3c1ad60aa7adc3654bad58ce6da11817
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST https://rbltracker.com/api/host/pause/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host paused successfully.",
  "version": "3.4"
}
Body
$ curl -X POST https://rbltracker.com/api/host/pause/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Host paused successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->host->pause({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Host paused successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.host.pause({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host paused successfully.",
  "version": "3.4"
}

Pause a Host
POST/api/host/pause/{id}

Pauses a host, which temporarily stops all checks on this host.

URI Parameters
HideShow
id
string (required) Example: HT3c1ad60aa7adc3654bad58ce6da11817

A unique host id.


Re-Activate a Host

POST https://rbltracker.com/api/host/resume/HT3c1ad60aa7adc3654bad58ce6da11817
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST https://rbltracker.com/api/host/resume/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host activated successfully.",
  "version": "3.4"
}
Body
$ curl -X POST https://rbltracker.com/api/host/resume/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Host activated successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->host->resume({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Host activated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.host.resume({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host activated successfully.",
  "version": "3.4"
}

Re-Activate a Host
POST/api/host/resume/{id}

Re-activates a host after it was paused. RBLTracker will resume processing checks on this host.

URI Parameters
HideShow
id
string (required) Example: HT3c1ad60aa7adc3654bad58ce6da11817

A unique host id.


Delete a Host

POST https://rbltracker.com/api/host/delete/HT3c1ad60aa7adc3654bad58ce6da11817
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST https://rbltracker.com/api/host/delete/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host deleted successfully.",
  "version": "3.4"
}
Body
$ curl -X POST https://rbltracker.com/api/host/delete/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Host deleted successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->host->delete({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Host deleted successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.host.delete({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Host deleted successfully.",
  "version": "3.4"
}

Delete a Host
POST/api/host/delete/{id}

Deletes an existing host on your RBLTracker account.

URI Parameters
HideShow
id
string (required) Example: HT3c1ad60aa7adc3654bad58ce6da11817

A unique host id.


Contacts

Contacts Collection

GET https://rbltracker.com/api/contacts
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/contacts.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contacts": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "COc7d69f48da351273d71d431c3402a091",
      "type": "email",
      "status": "active",
      "schedule": "while_listed",
      "contact": "info@rbltracker.com",
      "args": null,
      "contact_group": [
        "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
        "CGd3dca251d33135e0a518d7c49b89dc61"
      ]
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/contacts.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_contacts>1</total_contacts>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>COc7d69f48da351273d71d431c3402a091</id>
        <type>email</type>
        <status>active</status>
        <schedule>while_listed</schedule>
        <contact>info@rbltracker.com</contact>
        <args/>
        <contact_group>CG37106c6baa1ec90a2b3f5c8ec54afe9d</contact_group>
        <contact_group>CGd3dca251d33135e0a518d7c49b89dc61</contact_group>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $contacts = $client->contacts->get();

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_contacts] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => COc7d69f48da351273d71d431c3402a091
                    [type] => email
                    [status] => active
                    [schedule] => while_listed
                    [contact] => info@rbltracker.com
                    [args] => 
                    [contact_group] => Array
                        (
                            [0] => CG37106c6baa1ec90a2b3f5c8ec54afe9d
                            [1] => CGd3dca251d33135e0a518d7c49b89dc61
                        )
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contacts.get().then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contacts": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "COc7d69f48da351273d71d431c3402a091",
      "type": "email",
      "status": "active",
      "schedule": "while_listed",
      "contact": "info@rbltracker.com",
      "args": null,
      "contact_group": [
        "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
        "CGd3dca251d33135e0a518d7c49b89dc61"
      ]
    }
  ],
  "version": "3.4"
}

Get a List of Contacts
GET/api/contacts

Returns a full list of contacts on your RBLTracker account.

Attributes

  • id - the unique ID for this for this contact.

  • type - the type of this contact.

  • status - the current status of this contact.

  • schedule - this current schedule of this contact.

  • contact - the contact value, based on the type.

  • contact_group - an array of contact group IDs to use for this contact.

Contact Types

RBLTracker supports many different contact types, all of which can be managed via this API. The type value can currently be one of:

  • email - the contact is an email address.

  • sms - the contact is a mobile phone number, in the US or Canada.

  • twitter - the contact is a Twitter handle.

  • pushover - the contact is a Pushover user key.

  • pagerduty - the contact is a PagerDuty service integration key.

  • slack - the contact is a Slack webhook URL.

  • hipchat - the contact is a HipChat notification URL.

  • datadog - the contact uses the extended args, with an api_key and application_key value.

For more details about the various contact types RBLTracker support, see https://rbltracker.com/docs/contact-types/

Status Values

The status value indicates the current state of the contact, and will be one of:

  • active - the contact is active, and is ready to receive notifications.

  • paused - the contact is paused, adn will not receive any notifications.

  • pending - the contact is pending confirmation.

Scheduling Values

Each Contact defined in the RBLTracker system, can be configured with a simple scheduling option, to control how you receive notifications to that Contact. The schedule value can be one of:

  • every_check - send notifications on every check.

  • start_and_end - send notifications once at the start and at the end of the listing period.

  • while_listed - send notifications on every check, while a host is listed.

  • none - don’t send any notifications.

For more details about contact schedules, see https://rbltracker.com/docs/selecting-a-contact-schedule/

Contact Groups

Contact groups let you easily control which contacts on your account are notified
when a host is listed. Each contact can be the member of multiple contact groups, by specifying a list of contact group unique ID’s.

The contact group ID’s can be found from the /api/contactgroups API call.

For more details about contact groups, see https://rbltracker.com/docs/setting-up-contact-groups/

Extended Arguments

Some contact types (for example, the Datadog contact type) require additional arguments to work proplerly. These values will be included in the additional args object, and can be passed as individual arguments when adding a new contact.


Contacts Details

GET https://rbltracker.com/api/contact/COc7d69f48da351273d71d431c3402a091
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/contact/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contacts": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "COc7d69f48da351273d71d431c3402a091",
      "type": "email",
      "status": "active",
      "schedule": "while_listed",
      "contact": "info@rbltracker.com",
      "args": null,
      "contact_group": [
        "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
        "CGd3dca251d33135e0a518d7c49b89dc61"
      ]
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/contact/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_contacts>1</total_contacts>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>COc7d69f48da351273d71d431c3402a091</id>
        <type>email</type>
        <status>active</status>
        <schedule>while_listed</schedule>
        <contact>info@rbltracker.com</contact>
        <args/>
        <contact_group>CG37106c6baa1ec90a2b3f5c8ec54afe9d</contact_group>
        <contact_group>CGd3dca251d33135e0a518d7c49b89dc61</contact_group>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $contact = $client->contact->get({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_contacts] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => COc7d69f48da351273d71d431c3402a091
                    [type] => email
                    [status] => active
                    [schedule] => while_listed
                    [contact] => info@rbltracker.com
                    [args] => 
                    [contact_group] => Array
                        (
                            [0] => CG37106c6baa1ec90a2b3f5c8ec54afe9d
                            [1] => CGd3dca251d33135e0a518d7c49b89dc61
                        )
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.get({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contacts": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "COc7d69f48da351273d71d431c3402a091",
      "type": "email",
      "status": "active",
      "schedule": "while_listed",
      "contact": "info@rbltracker.com",
      "args": null,
      "contact_group": [
        "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
        "CGd3dca251d33135e0a518d7c49b89dc61"
      ]
    }
  ],
  "version": "3.4"
}

Get a Single Contact
GET/api/contact/{id}

Returns the details for a single contact.

URI Parameters
HideShow
id
string (required) Example: COc7d69f48da351273d71d431c3402a091

A unique contact id.


Add a New Contact

POST https://rbltracker.com/api/contact/add
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl http://dev.rbltracker.com/api/contact/add.json \ 
    -u "your_account_sid:your_auth_token" \
    -d contact="info@rbltracker.com" \
    -d type="email" \
    -d schedule="every_check" \
    -d contact_group="CGd3dca251d33135e0a518d7c49b89dc61"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact added successfully.",
  "data": {
    "id": "COd398ac1b87cecb7d48bc4b4c8da85e93",
    "contact": "info@rbltracker.com"
  },
  "version": "3.4"
}
Body
$ curl http://dev.rbltracker.com/api/contact/add.xml \ 
    -u "your_account_sid:your_auth_token" \
    -d contact="info@rbltracker.com" \
    -d type="email" \
    -d schedule="every_check" \
    -d contact_group="CGd3dca251d33135e0a518d7c49b89dc61"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact added successfully</status_message>
    <data>
        <id>COd398ac1b87cecb7d48bc4b4c8da85e93</id>
        <contact>info@rbltracker.com</contact>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact->add(array(

        'contact'       => 'info@rbltracker.com',
        'type'          => 'email',
        'schedule'      => 'every_check',
        'contact_group' => array(

            'CGd3dca251d33135e0a518d7c49b89dc61', 
            'CG37106c6baa1ec90a2b3f5c8ec54afe9d'
        )
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact added successfully.
    [data] => Array
        (
            [id] => COd398ac1b87cecb7d48bc4b4c8da85e93
            [contact] => info@rbltracker.com
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.add({

    contact: "info@rbltracker.com",
    type: "email",
    schedule: "every_check",
    contact_group: "CGd3dca251d33135e0a518d7c49b89dc61"

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact added successfully.",
  "data": {
    "id": "COd398ac1b87cecb7d48bc4b4c8da85e93",
    "contact": "info@rbltracker.com"
  },
  "version": "3.4"
}

Add a New Contact
POST/api/contact/add

Adds a new contact to your RBLTracker account.

Required:

  • contact - the contact value, based on the type value.

  • type - the contact type value.

  • schedule - the contact schedule.

Extended Arguments

For contact type that require additional arguments (for example the Datadog contact type), the data can be passed as additional arguments.

Optional:

  • contact_group - a comma separate list of contact group ID’s to use for this contact.

Returns:

  • data - an object with the id and contact values of the new contact.

See the /api/contacts API call for details.

Most contacts must be confirmed with an authentication token. This token is automatically sent out to new contacts immediately after they’re added to the system.


Modify a Contact

POST https://rbltracker.com/api/contact/update/COc7d69f48da351273d71d431c3402a091
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl http://dev.rbltracker.com/api/contact/update/{id}.json \ 
    -u "your_account_sid:your_auth_token" \
    -d schedule="every_check" \
    -d contact_group="CGd3dca251d33135e0a518d7c49b89dc61"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact updated successfully.",
  "version": "3.4"
}
Body
$ curl http://dev.rbltracker.com/api/contact/update/{id}.xml \ 
    -u "your_account_sid:your_auth_token" \
    -d schedule="every_check" \
    -d contact_group="CGd3dca251d33135e0a518d7c49b89dc61"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact updated successfully</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact->update({id}, array(

        'schedule'      => 'every_check',
        'contact_group' => array(

            'CGd3dca251d33135e0a518d7c49b89dc61',
            'CG37106c6baa1ec90a2b3f5c8ec54afe9d'
        )
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact updated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.update({id}, {

    schedule: "every_check",
    contact_group: [ 

        "CGd3dca251d33135e0a518d7c49b89dc61",
        "CG37106c6baa1ec90a2b3f5c8ec54afe9d"
    ]

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact updated successfully.",
  "version": "3.4"
}

Modify a Contact
POST/api/contact/update/{id}

Modifies an existing contact.

Optional:

  • schedule - the contact schedule.

  • contact_group - a comma separate list of contact group ID’s to use for this contact.

The contact and type values can not be modified after a contact is created.

URI Parameters
HideShow
id
string (required) Example: COc7d69f48da351273d71d431c3402a091

A unique contact id.


Pause a Contact

POST https://rbltracker.com/api/contact/pause/COc7d69f48da351273d71d431c3402a091
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/pause/{id}.json \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact paused successfully.",
  "version": "3.4"
}
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/pause/{id}.xml \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact paused successfully</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact->pause({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact paused successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.pause({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact paused successfully.",
  "version": "3.4"
}

Pause a Contact
POST/api/contact/pause/{id}

Pause a contact. This will temporarily stop notifications to this contact.

URI Parameters
HideShow
id
string (required) Example: COc7d69f48da351273d71d431c3402a091

A unique contact id.


Re-Activate a Contact

POST https://rbltracker.com/api/contact/resume/COc7d69f48da351273d71d431c3402a091
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/resume/{id}.json \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact activated successfully.",
  "version": "3.4"
}
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/resume/{id}.xml \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact activated successfully</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact->resume({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact activated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.resume({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact activated successfully.",
  "version": "3.4"
}

Re-Activate a Contact
POST/api/contact/resume/{id}

Re-activate a contact after it was paused. RBLTracker will resume sending notifications to this contact.

URI Parameters
HideShow
id
string (required) Example: COc7d69f48da351273d71d431c3402a091

A unique contact id.


Resend Confirmation

POST https://rbltracker.com/api/contact/resend/COc7d69f48da351273d71d431c3402a091
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/resend/{id}.json \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact authorization re-sent successfully.",
  "version": "3.4"
}
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/resend/{id}.xml \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact authorization re-sent successfully</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact->resend({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact authorization re-sent successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.resend({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact authorization re-sent successfully.",
  "version": "3.4"
}

Resend Confirmation
POST/api/contact/resend/{id}

Resend the confirmation notification to this contact.

For example, this will resend a confirmation email to a pending email address.

URI Parameters
HideShow
id
string (required) Example: COc7d69f48da351273d71d431c3402a091

A unique contact id.


Confirm Contact

POST https://rbltracker.com/api/contact/confirm/COc7d69f48da351273d71d431c3402a091
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl http://dev.rbltracker.com/api/contact/confirm/{id}.json \
    -d authcode="3Kx3se" \
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact authorized successfully.",
  "version": "3.4"
}
Body
$ curl http://dev.rbltracker.com/api/contact/confirm/{id}.xml \ 
    -d authcode="3Kx3se" \
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact authorized successfully</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact->confirm({id}, array('authcode' => '3Kx3se'));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact authorized successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.confirm({id}, { authcode: "3Kx3se" }).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact authorized successfully.",
  "version": "3.4"
}

Confirm Contact
POST/api/contact/confirm/{id}

Confirms a pending contact using a confirmation code.

Required:

  • authcode - the confirmation code sent to this contact.
URI Parameters
HideShow
id
string (required) Example: COc7d69f48da351273d71d431c3402a091

A unique contact id.


Delete a Contact

POST https://rbltracker.com/api/contact/delete/COc7d69f48da351273d71d431c3402a091
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/delete/{id}.json \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact deleted successfully.",
  "version": "3.4"
}
Body
$ curl -X POST http://dev.rbltracker.com/api/contact/delete/{id}.xml \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact deleted successfully</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact->delete({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact deleted successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact.delete({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact deleted successfully.",
  "version": "3.4"
}

Delete a Contact
POST/api/contact/delete/{id}

Delete a contact from your RBLTracker account.

URI Parameters
HideShow
id
string (required) Example: COc7d69f48da351273d71d431c3402a091

A unique contact id.


Contact Groups

Contact Groups Collection

GET https://rbltracker.com/api/contactgroups
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/contactgroups.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contacts_groups": 2,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "CGd3dca251d33135e0a518d7c49b89dc61",
      "name": "Default Contacts",
      "is_default": 1,
      "total_members": 2,
      "total_hosts": 7
    },
    {
      "id": "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
      "name": "Twitter ONLY",
      "is_default": 0,
      "total_members": 1,
      "total_hosts": 4
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/contactgroups.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_contacts_groups>2</total_contacts_groups>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>CGd3dca251d33135e0a518d7c49b89dc61</id>
        <name>Default Contacts</name>
        <is_default>1</is_default>
        <total_members>2</total_members>
        <total_hosts>7</total_hosts>
    </data>
    <data>
        <id>CG37106c6baa1ec90a2b3f5c8ec54afe9d</id>
        <name>Twitter ONLY</name>
        <is_default>0</is_default>
        <total_members>1</total_members>
        <total_hosts>4</total_hosts>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $contact_groups = $client->contact_groups->get();

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_contacts_groups] => 2
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => CGd3dca251d33135e0a518d7c49b89dc61
                    [name] => Default Contacts
                    [is_default] => 1
                    [total_members] => 2
                    [total_hosts] => 7
                )
            [1] => Array
                (
                    [id] => CG37106c6baa1ec90a2b3f5c8ec54afe9d
                    [name] => Twitter ONLY
                    [is_default] => 0
                    [total_members] => 1
                    [total_hosts] => 4
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact_groups.get().then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contacts_groups": 2,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "CGd3dca251d33135e0a518d7c49b89dc61",
      "name": "Default Contacts",
      "is_default": 1,
      "total_members": 2,
      "total_hosts": 7
    },
    {
      "id": "CG37106c6baa1ec90a2b3f5c8ec54afe9d",
      "name": "Twitter ONLY",
      "is_default": 0,
      "total_members": 1,
      "total_hosts": 4
    }
  ],
  "version": "3.4"
}

Get a List of Contact Groups
GET/api/contactgroups

Returns a full list of contact groups on your RBLTracker account.

Attributes

  • id - the unique ID for this for this contact group.

  • name - the label for this contact group.

  • is_default - if this contact group is marked as default.

  • total_members - this is the total number of contacts using this contact group.

  • total_hosts - this is the total number of hosts using this contact group.

Default Contact Group

The is_default flag defines which contact group is marked as default. The default contact group is used on new hosts and contacts when a contact group ID is omitted.

Only one contact group can be marked a default. If you add a new contact group, or update an existing contact group, and set is_default to 1, then any existing default contact group will no longer be set as default.


Get a Single Contact Group

GET https://rbltracker.com/api/contactgroup/CGd3dca251d33135e0a518d7c49b89dc61
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/contactgroup/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contact_groups": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "CGd3dca251d33135e0a518d7c49b89dc61",
      "name": "Default Contacts",
      "is_default": 1,
      "total_members": 2,
      "total_hosts": 7
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/contactgroup/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_contacts_groups>1</total_contacts_groups>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>CGd3dca251d33135e0a518d7c49b89dc61</id>
        <name>Default Contacts</name>
        <is_default>1</is_default>
        <total_members>2</total_members>
        <total_hosts>7</total_hosts>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $contact_group = $client->contact_group->get({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_contact_groups] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => CGd3dca251d33135e0a518d7c49b89dc61
                    [name] => Default Contacts
                    [is_default] => 1
                    [total_members] => 2
                    [total_hosts] => 7
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact_group.get({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_contact_groups": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "CGd3dca251d33135e0a518d7c49b89dc61",
      "name": "Default Contacts",
      "is_default": 1,
      "total_members": 2,
      "total_hosts": 7
    }
  ],
  "version": "3.4"
}

Get a Single Contact Group
GET/api/contactgroup/{id}

Returns a full list of contact groups on your RBLTracker account.

URI Parameters
HideShow
id
string (required) Example: CGd3dca251d33135e0a518d7c49b89dc61

A unique contact group id.


Add a New Contact Group

POST https://rbltracker.com/api/host/contactgroup/add
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl https://rbltracker.com/api/contactgroup/add.json \
    -u 'your_account_sid:your_auth_token" \
    -d name="My Contact Group" \
    -d is_default="1"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact group added successfully.",
  "data": {
    "id": "CG7b998e9cced812a72a1a0fddaa443bee"
  },
  "version": "3.4"
}
Body
$ curl https://rbltracker.com/api/contactgroup/add.xml \
    -u 'your_account_sid:your_auth_token" \
    -d name="My Contact Group" \
    -d is_default="1"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact group added successfully.</status_message>
    <data>
        <id>CG7b998e9cced812a72a1a0fddaa443bee</id>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact_group->add(array(

        'name'          => 'My Contact Group',
        'is_default'    => 1
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact group added successfully.
    [data] => Array
        (
            [id] => CG7b998e9cced812a72a1a0fddaa443bee
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact_group.add({

    name: "My Contact Group",
    is_default: 1

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact group added successfully.",
  "data": {
    "id": "CG7b998e9cced812a72a1a0fddaa443bee"
  },
  "version": "3.4"
}

Add a New Contact Group
POST/api/host/contactgroup/add

Add a new contact group to your RBLTracker account.

Required:

  • name - the label to use for this new contact group.

Optional:

  • is_default - if this new contact group should become the default contact group.

Returns

  • data - an object with the id of the new contact group.

Modify a Contact Group

POST https://rbltracker.com/api/host/contactgroup/update/CGd3dca251d33135e0a518d7c49b89dc61
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl https://rbltracker.com/api/contactgroup/update/{id}.json \
    -u 'your_account_sid:your_auth_token" \
    -d name="My Contact Group" \
    -d is_default="1"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact group updated successfully.",
  "version": "3.4"
}
Body
$ curl https://rbltracker.com/api/contactgroup/update/{id}.xml \
    -u 'your_account_sid:your_auth_token" \
    -d name="My Contact Group" \
    -d is_default="1"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact group updated successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact_group->update({id}, array(

        'name'          => 'My Contact Group',
        'is_default'    => 1
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact group updated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact_group.update({id}, {

    name: "My Contact Group",
    is_default: 1

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact group updated successfully.",
  "version": "3.4"
}

Modify a Contact Group
POST/api/host/contactgroup/update/{id}

Modify an existing contact group.

Optional:

  • name - the label to use for this contact group.

  • is_default - if this contact group should become the default contact group.

URI Parameters
HideShow
id
string (required) Example: CGd3dca251d33135e0a518d7c49b89dc61

A unique contact group id.


Delete a Contact Group

POST https://rbltracker.com/api/host/contactgroup/delete/CGd3dca251d33135e0a518d7c49b89dc61
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST https://rbltracker.com/api/contactgroup/delete/{id}.json \
    -u 'your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact group deleted successfully.",
  "version": "3.4"
}
Body
$ curl -X POST https://rbltracker.com/api/contactgroup/delete/{id}.xml \
    -u 'your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Contact group deleted successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->contact_group->delete({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Contact group deleted successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.contact_group.delete({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Contact group deleted successfully.",
  "version": "3.4"
}

Delete a Contact Group
POST/api/host/contactgroup/delete/{id}

Delete an existing contact group.

If the default contact group is deleted, then another contact group will be chosen at random to become the default contact group.

You may not delete a contact group that is currently assocated with a contact or a host, and you may not delete the last contact group. You must always have at least one.

URI Parameters
HideShow
id
string (required) Example: CGd3dca251d33135e0a518d7c49b89dc61

A unique contact group id.


RBLs

RBLs Collection

GET https://rbltracker.com/api/rbls
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/rbls.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbls": 91,
  "page": 1,
  "total_pages": 5,
  "page_size": "20",
  "data": [
    {
      "id": "RB18c470cc518a09678bb280960dbdd524",
      "type": "rbl",
      "custom": 0,
      "host": "admin.bl.kundenserver.de",
      "website": "http://admin.bl.kundenserver.de/"
    },
    {
      "id": "RBdbf3e492680ee6358a1a703d8b275aa7",
      "type": "rbl",
      "custom": 0,
      "host": "b.barracudacentral.org",
      "website": "http://www.barracudacentral.org/rbl/"
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/rbls.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_rbls>91</total_rbls>
    <page>1</page>
    <total_pages>5</total_pages>
    <page_size>20</page_size>
    <data>
        <id>RB18c470cc518a09678bb280960dbdd524</id>
        <type>rbl</type>
        <custom>0</custom>
        <host>admin.bl.kundenserver.de</host>
        <website>http://admin.bl.kundenserver.de/</website>
    </data>
    <data>
        <id>RBdbf3e492680ee6358a1a703d8b275aa7</id>
        <type>rbl</type>
        <custom>0</custom>
        <host>b.barracudacentral.org</host>
        <website>http://www.barracudacentral.org/rbl/</website>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $rbls = $client->rbls->get();

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_rbls] => 91
    [page] => 1
    [total_pages] => 5
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => RB18c470cc518a09678bb280960dbdd524
                    [type] => rbl
                    [custom] => 0
                    [host] => admin.bl.kundenserver.de
                    [website] => http://admin.bl.kundenserver.de/
                )
            [1] => Array
                (
                    [id] => RBdbf3e492680ee6358a1a703d8b275aa7
                    [type] => rbl
                    [custom] => 0
                    [host] => b.barracudacentral.org
                    [website] => http://www.barracudacentral.org/rbl/
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbls.get().then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbls": 91,
  "page": 1,
  "total_pages": 5,
  "page_size": "20",
  "data": [
    {
      "id": "RB18c470cc518a09678bb280960dbdd524",
      "type": "rbl",
      "custom": 0,
      "host": "admin.bl.kundenserver.de",
      "website": "http://admin.bl.kundenserver.de/"
    },
    {
      "id": "RBdbf3e492680ee6358a1a703d8b275aa7",
      "type": "rbl",
      "custom": 0,
      "host": "b.barracudacentral.org",
      "website": "http://www.barracudacentral.org/rbl/"
    }
  ],
  "version": "3.4"
}

Get a List of RBLs
GET/api/rbls

Return a full list of all the active RBLs on the RBLTracker system, including custom RBLs that you’ve added.

Attributes

  • id - the unique ID for this for RBL.

  • type - the RBL type value.

  • custom - the custom flag for this RBL. (1 or 0)

  • host - the RBL hostname value.

  • website - the website for the RBL operator.

RBL Types

Each RBL will have a type associated with it, which determines host the RBL is processed, and will be one of:

  • rbl - an RBL type, which checks IP addresses.

  • uribl - a URIBL type, which checks domain names.

  • safe_browsing - a Safe Browsing type, which checks domains and URLs.

  • threat_exchange_ip - a Threat Exchange type, for IP addresses.

  • threat_exchange_domain - a Threat Exchange type, for domains.

  • threat_exchange_uri - a Threat Exchange type, for URIs.

Custom RBLs

The custom RBL feature lets you add custom RBLs and URIBLs to your account, that RBLTracker does not normally check. You can only add rbl and uribl types.

RBLs with the custom attribute set to 1 is a custom RBL that you’ve added. These custom RBLs can be managed via the API. System RBLs (where custom is set to 0) can not be modified, and are effectively read-only RBLs.


RBL Details

GET https://rbltracker.com/api/rbl/RB18c470cc518a09678bb280960dbdd524
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/rbl/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbls": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "RB18c470cc518a09678bb280960dbdd524",
      "type": "rbl",
      "custom": 0,
      "host": "admin.bl.kundenserver.de",
      "website": "http://admin.bl.kundenserver.de/"
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/rbl/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_rbls>1</total_rbls>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>RB18c470cc518a09678bb280960dbdd524</id>
        <type>rbl</type>
        <custom>0</custom>
        <host>admin.bl.kundenserver.de</host>
        <website>http://admin.bl.kundenserver.de/</website>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $rbl = $client->rbl->get({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_rbls] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => RB18c470cc518a09678bb280960dbdd524
                    [type] => rbl
                    [custom] => 0
                    [host] => admin.bl.kundenserver.de
                    [website] => http://admin.bl.kundenserver.de/
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl.get({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbls": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "RB18c470cc518a09678bb280960dbdd524",
      "type": "rbl",
      "custom": 0,
      "host": "admin.bl.kundenserver.de",
      "website": "http://admin.bl.kundenserver.de/"
    }
  ],
  "version": "3.4"
}

Get a Single RBL
GET/api/rbl/{id}

Returns the details for a single RBL.

URI Parameters
HideShow
id
string (required) Example: RB18c470cc518a09678bb280960dbdd524

A unique RBL id.


Add a New Custom RBL

POST https://rbltracker.com/api/rbl/add
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl http://dev.rbltracker.com/api/rbl/add.json \ 
    -u "your_account_sid:your_auth_token" \
    -d type="rbl" \
    -d host="your.custom.rbl.com"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL added successfully.",
  "data": {
    "id": "RBc82f6dc24db235cfad67a05a2c63351c"
  },
  "version": "3.4"
}
Body
$ curl http://dev.rbltracker.com/api/rbl/add.xml \
    -u "your_account_sid:your_auth_token" \
    -d type="rbl" \
    -d host="your.custom.rbl.com"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Custom RBL added successfully.</status_message>
    <data>
        <id>RBc82f6dc24db235cfad67a05a2c63351c</id>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl->add(array(

        'type'  => 'rbl',
        'host'  => 'your.custom.rbl.com'
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Custom RBL added successfully.
    [data] => Array
        (
            [id] => RBc82f6dc24db235cfad67a05a2c63351c
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl.add({

    type: "rbl",
    host: "your.custom.rbl.com"

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL added successfully.",
  "data": {
    "id": "RBc82f6dc24db235cfad67a05a2c63351c"
  },
  "version": "3.4"
}

Add a New Custom RBL
POST/api/rbl/add

Adds a new custom RBL to your RBLTracker account.

Required:

  • type - the type of RBL. Either rbl or uribl.

  • host - the hostname of the RBL.

RETURNS

  • data - an object with the id of the new custom RBL.

The rbl type custom RBL will be used on IP address and IP range hosts, while the uribl type custom RBL will be used on domain type hosts.


Modify a Custom RBL

POST https://rbltracker.com/api/rbl/update/RB18c470cc518a09678bb280960dbdd524
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl http://dev.rbltracker.com/api/rbl/update/{id}.json \ 
    -u "your_account_sid:your_auth_token" \
    -d type="rbl" \
    -d host="your.custom.rbl.com"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL updated successfully.",
  "version": "3.4"
}
Body
$ curl http://dev.rbltracker.com/api/rbl/update/{id}.xml \
    -u "your_account_sid:your_auth_token" \
    -d type="rbl" \
    -d host="your.custom.rbl.com"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Custom RBL updated successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl->update({id}, array(

        'type'  => 'rbl',
        'host'  => 'your.custom.rbl.com'
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Custom RBL updated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl.update({id}, {

    type: "rbl",
    host: "your.custom.rbl.com"

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL updated successfully.",
  "version": "3.4"
}

Modify a Custom RBL
POST/api/rbl/update/{id}

Modifies an existing custom RBL on your RBLTracker account.

Optional:

  • type - the type of RBL. Either rbl or uribl.

  • host - the hostname of the RBL.

You may only modify custom RBLs- RBLs where the custom attribute is 1.

URI Parameters
HideShow
id
string (required) Example: RB18c470cc518a09678bb280960dbdd524

A unique RBL id.


Pause a Custom RBL

POST https://rbltracker.com/api/rbl/pause/RB18c470cc518a09678bb280960dbdd524
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST http://dev.rbltracker.com/api/rbl/pause/{id}.json \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL paused successfully.",
  "version": "3.4"
}
Body
$ curl -X POST http://dev.rbltracker.com/api/rbl/pause/{id}.xml \
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Custom RBL paused successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl->pause({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Custom RBL paused successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl.pause({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL paused successfully.",
  "version": "3.4"
}

Pause a Custom RBL
POST/api/rbl/pause/{id}

Pauses a custom RBL entry. This temporarily stops checks using this custom RBL.

You may only pause custom RBLs- RBLs where the custom attribute is 1.

URI Parameters
HideShow
id
string (required) Example: RB18c470cc518a09678bb280960dbdd524

A unique RBL id.


Re-Activate a Custom RBL

POST https://rbltracker.com/api/rbl/resume/RB18c470cc518a09678bb280960dbdd524
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST http://dev.rbltracker.com/api/rbl/resume/{id}.json \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL activated successfully.",
  "version": "3.4"
}
Body
$ curl -X POST http://dev.rbltracker.com/api/rbl/resume/{id}.xml \
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Custom RBL activated successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl->resume({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Custom RBL activated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl.resume({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL activated successfully.",
  "version": "3.4"
}

Re-Activate a Custom RBL
POST/api/rbl/resume/{id}

Re-activates a custom RBL that was previously paused. RBLTracker will resume using this RBL for checks.

You may only re-activate custom RBLs- RBLs where the custom attribute is 1.

URI Parameters
HideShow
id
string (required) Example: RB18c470cc518a09678bb280960dbdd524

A unique RBL id.


Delete a Custom RBL

POST https://rbltracker.com/api/rbl/delete/RB18c470cc518a09678bb280960dbdd524
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST http://dev.rbltracker.com/api/rbl/delete/{id}.json \ 
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL deleted successfully.",
  "version": "3.4"
}
Body
$ curl -X POST http://dev.rbltracker.com/api/rbl/delete/{id}.xml \
    -u "your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Custom RBL deleted successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl->delete({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Custom RBL deleted successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl.delete({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Custom RBL deleted successfully.",
  "version": "3.4"
}

Delete a Custom RBL
POST/api/rbl/delete/{id}

Delete a custom RBL from your RBLTracker account.

You may only delete custom RBLs- RBLs where the custom attribute is 1.

URI Parameters
HideShow
id
string (required) Example: RB18c470cc518a09678bb280960dbdd524

A unique RBL id.


RBL Profiles

RBL Profile Collection

GET https://rbltracker.com/api/rblprofiles
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/rblprofiles.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbl_profiles": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "RP15d4e891d784977cacbfcbb00c48f133",
      "name": "Default List",
      "is_default": 1,
      "total_entries": 84,
      "total_hosts": 11,
      "entries": [
        "RBdbf3e492680ee6358a1a703d8b275aa7",
        "RBdb2c27a6f53401a6f64a939f74458fb0",
        "RBfdac47ebdeb11a4d484a8b76fb7c303f"
      ]
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/rblprofiles.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_rbl_profiles>1</total_rbl_profiles>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>RP15d4e891d784977cacbfcbb00c48f133</id>
        <name>Default List</name>
        <is_default>1</is_default>
        <total_entries>84</total_entries>
        <total_hosts>11</total_hosts>
        <entries>RBdbf3e492680ee6358a1a703d8b275aa7</entries>
        <entries>RBdb2c27a6f53401a6f64a939f74458fb0</entries>
        <entries>RBfdac47ebdeb11a4d484a8b76fb7c303f</entries>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $rbl_profiles = $client->rbl_profiles->get();

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_rbl_profiles] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array
                (
                    [id] => RP15d4e891d784977cacbfcbb00c48f133
                    [name] => Default List
                    [is_default] => 1
                    [total_entries] => 84
                    [total_hosts] => 11
                    [entries] => Array
                        (
                            [0] => RBdbf3e492680ee6358a1a703d8b275aa7
                            [1] => RBdb2c27a6f53401a6f64a939f74458fb0
                            [2] => RBfdac47ebdeb11a4d484a8b76fb7c303f
                        )
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl_profiles.get().then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbl_profiles": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "RP15d4e891d784977cacbfcbb00c48f133",
      "name": "Default List",
      "is_default": 1,
      "total_entries": 84,
      "total_hosts": 11,
      "entries": [
        "RBdbf3e492680ee6358a1a703d8b275aa7",
        "RBdb2c27a6f53401a6f64a939f74458fb0",
        "RBfdac47ebdeb11a4d484a8b76fb7c303f"
      ]
    }
  ],
  "version": "3.4"
}

Get a List of RBL Profiles
GET/api/rblprofiles

Returns a full list of RBL profiles on your RBLTracker account.

Attributes

  • id - the unique ID for this for RBL profile.

  • name - the label for this RBL profile.

  • is_default - if this RBL profile is marked a default. 0 or 1.

  • total_entries - this is the total number of RBLs enabled on this RBL profile.

  • total_hosts - this is the total number of hosts using this RBL profile.

  • entries - an array of RBL IDs used on this RBL profile.

RBL Profile Entries

The entries array value is a list of unique RBL IDs, returned by the /api/rbls API call. This defines which RBLs are to be used on this RBL profile.

An empty entries array means no RBLs are used on this RBL profile.

Default RBL Profile

The is_default flag defines which RBL profile is marked as default. The default RBL profile is used on new hosts when a RBL profile ID is omitted.

Only one RBL profile can be marked a default. If you add a new RBL profile, or update an existing RBL profile, and set is_default to 1, then any existing default RBL profile will no longer be set as default.


Get a Single RBL Profile

GET https://rbltracker.com/api/rblprofile/RP15d4e891d784977cacbfcbb00c48f133
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -G https://rbltracker.com/api/rblprofile/{id}.json \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbl_profiles": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "RP15d4e891d784977cacbfcbb00c48f133",
      "name": "Default List",
      "is_default": 1,
      "total_entries": 84,
      "total_hosts": 11,
      "entries": [
        "RBdbf3e492680ee6358a1a703d8b275aa7",
        "RBdb2c27a6f53401a6f64a939f74458fb0",
        "RBfdac47ebdeb11a4d484a8b76fb7c303f"
      ]
    }
  ],
  "version": "3.4"
}
Body
$ curl -G https://rbltracker.com/api/rblprofile/{id}.xml \
    -u 'your_account_sid:your_auth_token'
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>Ok</status_message>
    <total_rbl_profiles>1</total_rbl_profiles>
    <page>1</page>
    <total_pages>1</total_pages>
    <page_size>20</page_size>
    <data>
        <id>RP15d4e891d784977cacbfcbb00c48f133</id>
        <name>Default List</name>
        <is_default>1</is_default>
        <total_entries>84</total_entries>
        <total_hosts>11</total_hosts>
        <entries>RBdbf3e492680ee6358a1a703d8b275aa7</entries>
        <entries>RBdb2c27a6f53401a6f64a939f74458fb0</entries>
        <entries>RBfdac47ebdeb11a4d484a8b76fb7c303f</entries>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $rbl_profile = $client->rbl_profile->get({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => Ok
    [total_rbl_profiles] => 1
    [page] => 1
    [total_pages] => 1
    [page_size] => 20
    [data] => Array
        (
            [0] => Array                 
                (
                    [id] => RP15d4e891d784977cacbfcbb00c48f133
                    [name] => Default List
                    [is_default] => 1
                    [total_entries] => 84
                    [total_hosts] => 11
                    [entries] => Array
                        (
                            [0] => RBdbf3e492680ee6358a1a703d8b275aa7
                            [1] => RBdb2c27a6f53401a6f64a939f74458fb0
                            [2] => RBfdac47ebdeb11a4d484a8b76fb7c303f
                        )
                )
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl_profile.get({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "Ok",
  "total_rbl_profiles": 1,
  "page": 1,
  "total_pages": 1,
  "page_size": 20,
  "data": [
    {
      "id": "RP15d4e891d784977cacbfcbb00c48f133",
      "name": "Default List",
      "is_default": 1,
      "total_entries": 84,
      "total_hosts": 11,
      "entries": [
        "RBdbf3e492680ee6358a1a703d8b275aa7",
        "RBdb2c27a6f53401a6f64a939f74458fb0",
        "RBfdac47ebdeb11a4d484a8b76fb7c303f"
      ]
    }
  ],
  "version": "3.4"
}

Get a Single RBL Profile
GET/api/rblprofile/{id}

Return details for a single RBL profile.

URI Parameters
HideShow
id
string (required) Example: RP15d4e891d784977cacbfcbb00c48f133

A unique RBL profile id.


Add a New RBL Profile

POST https://rbltracker.com/api/host/rblprofile/add
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl https://rbltracker.com/api/rblprofile/add.json \
    -u 'your_account_sid:your_auth_token" \
    -d name="My RBL Profile" \
    -d is_default="1" \
    -d entries="RBdbf3e492680ee6358a1a703d8b275aa7,RBdb2c27a6f53401a6f64a939f74458fb0"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "RBL profile added successfully.",
  "data": {
    "id": "RP46e5998c00fe647c7d981a3110f28b6d"
  },
  "version": "3.4"
}
Body
$ curl https://rbltracker.com/api/rblprofile/add.xml \
    -u 'your_account_sid:your_auth_token" \
    -d name="My RBL Profile" \
    -d is_default="1" \
    -d entries="RBdbf3e492680ee6358a1a703d8b275aa7,RBdb2c27a6f53401a6f64a939f74458fb0"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>RBL profile added successfully.</status_message>
    <data>
        <id>RP46e5998c00fe647c7d981a3110f28b6d</id>
    </data>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl_profile->add(array(

        'name'          => 'My RBL Profile',
        'is_default'    => 1,
        'entries'       => array(

            'RBdbf3e492680ee6358a1a703d8b275aa7',
            'RBdb2c27a6f53401a6f64a939f74458fb0'
        )
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => RBL profile added successfully.
    [data] => Array
        (
            [id] => RP46e5998c00fe647c7d981a3110f28b6d
        )
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl_profile.add({

    name: "My RBL Profile",
    is_default: 1,
    entries: [

        "RBdbf3e492680ee6358a1a703d8b275aa7",
        "RBdb2c27a6f53401a6f64a939f74458fb0"
    ]

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "RBL profile added successfully.",
  "data": {
    "id": "RP46e5998c00fe647c7d981a3110f28b6d"
  },
  "version": "3.4"
}

Add a New RBL Profile
POST/api/host/rblprofile/add

Add a new RBL profile to your RBLTracker account.

Required:

  • name - a label to use for this RBL profile.

Optional:

  • is_default - if this profile should be marked as default.

  • entries - a comma separated list of RBL ids.

If the entries values omitted completly, then all the active RBLTracker default RBLs will be selected for this new RBL profile. If the entries list is provided, but left emtpy, then no RBLs will be added to this RBL profile.


Modify a RBL Profile

POST https://rbltracker.com/api/host/rblprofile/update/RP15d4e891d784977cacbfcbb00c48f133
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl https://rbltracker.com/api/rblprofile/update/{id}.json \
    -u 'your_account_sid:your_auth_token" \
    -d name="My RBL Profile" \
    -d is_default="1" \
    -d entries="RBdbf3e492680ee6358a1a703d8b275aa7,RBdb2c27a6f53401a6f64a939f74458fb0"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "RBL profile updated successfully.",
  "version": "3.4"
}
Body
$ curl https://rbltracker.com/api/rblprofile/update/{id}.xml \
    -u 'your_account_sid:your_auth_token" \
    -d name="My RBL Profile" \
    -d is_default="1" \
    -d entries="RBdbf3e492680ee6358a1a703d8b275aa7,RBdb2c27a6f53401a6f64a939f74458fb0"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>RBL profile updated successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl_profile->update({id}, array(

        'name'          => 'My RBL Profile',
        'is_default'    => 1,
        'entries'       => array(

            'RBdbf3e492680ee6358a1a703d8b275aa7',
            'RBdb2c27a6f53401a6f64a939f74458fb0'
        )
    ));

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => RBL profile updated successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl_profile.update({id}, {

    name: "My RBL Profile",
    is_default: 1,
    entries: [

        "RBdbf3e492680ee6358a1a703d8b275aa7",
        "RBdb2c27a6f53401a6f64a939f74458fb0"
    ]

}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "RBL profile updated successfully.",
  "version": "3.4"
}

Modify a RBL Profile
POST/api/host/rblprofile/update/{id}

Modify an existing RBL profile.

Optional:

  • name - a label to use for this RBL profile.

  • is_default - if this profile should be marked as default.

  • entries - a comma separated list of RBL ids.

URI Parameters
HideShow
id
string (required) Example: RP15d4e891d784977cacbfcbb00c48f133

A unique RBL profile id.


Delete a RBL Profile

POST https://rbltracker.com/api/host/rblprofile/delete/RP15d4e891d784977cacbfcbb00c48f133
RequestsCURL+JSONCURL+XMLPHPNode
Body
$ curl -X POST https://rbltracker.com/api/rblprofile/delete/{id}.json \
    -u 'your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "RBL profile deleted successfully.",
  "version": "3.4"
}
Body
$ curl -X POST https://rbltracker.com/api/rblprofile/delete/{id}.xml \
    -u 'your_account_sid:your_auth_token"
Responses200
Headers
Content-Type: text/xml
Body
<rbltracker>
    <status_code>200</status_code>
    <status_message>RBL profile deleted successfully.</status_message>
    <version>3.4</version>
</rbltracker>
Body
$client = new RBLTracker\Client('your_account_sid', 'your_auth_token');
try
{
    $res = $client->rbl_profile->delete({id});

} catch(RBLTracker\Exceptions\RBLTrackerException $e)
{
    echo $e->getMessage();
}
Responses200
Headers
Content-Type: application/json
Body
Array
(
    [status_code] => 200
    [status_message] => RBL profile deleted successfully.
    [version] => 3.4
)
Body
var client = require('rbltracker')('Your Account SID', 'Your Auth Token');

client.rbl_profile.delete({id}).then(data => {

    console.log(data);

}).catch(err => {

    console.log(err);
});
Responses200
Headers
Content-Type: application/json
Body
{
  "status_code": 200,
  "status_message": "RBL profile deleted successfully.",
  "version": "3.4"
}

Delete a RBL Profile
POST/api/host/rblprofile/delete/{id}

Delete an existing RBL profile.

If the default RBL profile is deleted, then another RBL profile will be chosen at random to become the default RBL profile.

You may not delete an RBL profile that is currently assocated with a host, and you may not delete the last RBL profile. You must always have at least one.

URI Parameters
HideShow
id
string (required) Example: RP15d4e891d784977cacbfcbb00c48f133

A unique RBL profile id.


Generated by aglio on 26 Mar 2017