Live IPv4
curl --request GET \
--url https://app.onefirewall.com/api/v1/ipv4/{min_score} \
--header 'Authorization: <api-key>'import requests
url = "https://app.onefirewall.com/api/v1/ipv4/{min_score}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.onefirewall.com/api/v1/ipv4/{min_score}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.onefirewall.com/api/v1/ipv4/{min_score}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.onefirewall.com/api/v1/ipv4/{min_score}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.onefirewall.com/api/v1/ipv4/{min_score}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.onefirewall.com/api/v1/ipv4/{min_score}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body"X.Y.Z.W\nX.Y.Z.W\nX.Y.Z.W\nX.Y.Z.W\n....."IPv4 Feeds
Live IPv4
This API is similar with the IP addresses [FLAT] however have some advantages and disadvantages in respect:
Advantages
- Real time calculation of the OneFirewall Crime Score
- Equipped with the new (v3.2) Scoring algorithm
- Can be integrated into directly Fortigate, Checkpoint, etc..
Disadvantages
- Use pagination (therefore you have to call multiple times the IP if the list is bigger than 10000)
- Is relatively 6x slower than
IP addresses [FLAT]
GET
/
ipv4
/
{min_score}
Live IPv4
curl --request GET \
--url https://app.onefirewall.com/api/v1/ipv4/{min_score} \
--header 'Authorization: <api-key>'import requests
url = "https://app.onefirewall.com/api/v1/ipv4/{min_score}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://app.onefirewall.com/api/v1/ipv4/{min_score}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.onefirewall.com/api/v1/ipv4/{min_score}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.onefirewall.com/api/v1/ipv4/{min_score}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.onefirewall.com/api/v1/ipv4/{min_score}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.onefirewall.com/api/v1/ipv4/{min_score}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body"X.Y.Z.W\nX.Y.Z.W\nX.Y.Z.W\nX.Y.Z.W\n....."Updated API documentation with live interaction is now available in the product dashboard under API Docs.
Authorizations
Authorization Token
Path Parameters
Minimum WCF Crime Score Feeds
Required range:
0 < x < 1001Query Parameters
CSV=the output is CSV, LIST=the output is a list of IPs separated by ‘,’
Available options:
CSV, LIST show_score=yes will return the data with their respective score and if is manually or score based
Available options:
yes, no Agent ID
Plugin Name
A cursor that indicates the next page ID to access the next batch of data
Response
200 - text/html
If the response header contains a variable with name next_page, use the value with the new request on the API in order to retreive the next batch of data for the same Score. If the header is not presented, means there no more data to return.
The response is of type string.

