import requests
response = requests.post(
"https://api.sikkerapi.com/v1/key/bulk-report",
headers={
"Authorization": "Bearer sk_free_...",
"Content-Type": "application/json"
},
json={
"reports": [
{"ip": "203.0.113.42", "category": "brute_force", "protocol": "ssh", "comment": "Multiple failed logins"},
{"ip": "198.51.100.7", "category": "port_scan"},
{"ip": "192.0.2.15", "category": 3, "protocol": "http"}
]
}
)
result = response.json()
print(f"Accepted: {result['accepted']}/{result['total']}")
const response = await fetch("https://api.sikkerapi.com/v1/key/bulk-report", {
method: "POST",
headers: {
"Authorization": "Bearer sk_free_...",
"Content-Type": "application/json"
},
body: JSON.stringify({
reports: [
{ ip: "203.0.113.42", category: "brute_force", protocol: "ssh", comment: "Multiple failed logins" },
{ ip: "198.51.100.7", category: "port_scan" },
{ ip: "192.0.2.15", category: 3, protocol: "http" }
]
})
});
const result = await response.json();
console.log(`Accepted: ${result.accepted}/${result.total}`);
<?php
$data = [
'reports' => [
['ip' => '203.0.113.42', 'category' => 'brute_force', 'protocol' => 'ssh', 'comment' => 'Multiple failed logins'],
['ip' => '198.51.100.7', 'category' => 'port_scan'],
['ip' => '192.0.2.15', 'category' => 3, 'protocol' => 'http']
]
];
$ch = curl_init("https://api.sikkerapi.com/v1/key/bulk-report");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_free_...",
"Content-Type: application/json"
]
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
echo "Accepted: {$result['accepted']}/{$result['total']}\n";
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
body := map[string]interface{}{
"reports": []map[string]interface{}{
{"ip": "203.0.113.42", "category": "brute_force", "protocol": "ssh", "comment": "Multiple failed logins"},
{"ip": "198.51.100.7", "category": "port_scan"},
{"ip": "192.0.2.15", "category": 3, "protocol": "http"},
},
}
jsonBody, _ := json.Marshal(body)
req, _ := http.NewRequest("POST",
"https://api.sikkerapi.com/v1/key/bulk-report",
bytes.NewBuffer(jsonBody))
req.Header.Set("Authorization", "Bearer sk_free_...")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Printf("Accepted: %.0f/%.0f\n", result["accepted"], result["total"])
}
curl -X POST "https://api.sikkerapi.com/v1/key/bulk-report" \
-H "Authorization: Bearer sk_free_..." \
-F "[email protected]"
import requests
with open("reports.csv", "rb") as f:
response = requests.post(
"https://api.sikkerapi.com/v1/key/bulk-report",
headers={"Authorization": "Bearer sk_free_..."},
files={"file": ("reports.csv", f, "text/csv")}
)
result = response.json()
print(f"Accepted: {result['accepted']}/{result['total']}")
const formData = new FormData();
formData.append("file", csvFile); // File object from input or Blob
const response = await fetch("https://api.sikkerapi.com/v1/key/bulk-report", {
method: "POST",
headers: {
"Authorization": "Bearer sk_free_..."
},
body: formData
});
const result = await response.json();
console.log(`Accepted: ${result.accepted}/${result.total}`);
<?php
$ch = curl_init("https://api.sikkerapi.com/v1/key/bulk-report");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'file' => new CURLFile('reports.csv', 'text/csv')
],
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_free_..."
]
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
echo "Accepted: {$result['accepted']}/{$result['total']}\n";