The organization's CSIRT bulletins
curl --request GET \
--url https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins \
--header 'X-Aegister-Token: <api-key>'import requests
url = "https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins"
headers = {"X-Aegister-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Aegister-Token': '<api-key>'}};
fetch('https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins', 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.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Aegister-Token: <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.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Aegister-Token", "<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.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins")
.header("X-Aegister-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Aegister-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": 0,
"messages": [],
"data": {
"missing": [
"<string>"
],
"state": {},
"inventories": [
{}
],
"attention": [
{}
],
"matched": [
{}
],
"systems": [
{}
],
"counts": {},
"facets": {},
"scopes": {},
"bulletins": [
{}
],
"total": 123,
"page": 123,
"page_size": 123
}
}{
"error": 1,
"messages": []
}{
"error": 1,
"messages": []
}CSIRT Bulletins
List an organization's CSIRT bulletins
Read what the CSIRT bulletins page shows: CSIRT Italia’s vulnerability bulletins checked against the organization’s V-CISO hardware and software inventories. You get the two inventories (with stale after six months), the bulletins about your systems nobody opened yet (attention), your systems with the bulletins that name each, and one page of every bulletin since a year before the licence started, filtered and sorted with the query parameters. Texts come in the language of the request. The organization needs the CSIRT bulletins and V-CISO licences: missing names the ones it lacks, and then the rest is empty. Every member can read it.
GET
/
api
/
v1
/
v-ciso
/
organizations
/
{organizationid}
/
csirt-bulletins
The organization's CSIRT bulletins
curl --request GET \
--url https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins \
--header 'X-Aegister-Token: <api-key>'import requests
url = "https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins"
headers = {"X-Aegister-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Aegister-Token': '<api-key>'}};
fetch('https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins', 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.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Aegister-Token: <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.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Aegister-Token", "<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.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins")
.header("X-Aegister-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aegister.com/api/v1/v-ciso/organizations/{organizationid}/csirt-bulletins")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Aegister-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": 0,
"messages": [],
"data": {
"missing": [
"<string>"
],
"state": {},
"inventories": [
{}
],
"attention": [
{}
],
"matched": [
{}
],
"systems": [
{}
],
"counts": {},
"facets": {},
"scopes": {},
"bulletins": [
{}
],
"total": 123,
"page": 123,
"page_size": 123
}
}{
"error": 1,
"messages": []
}{
"error": 1,
"messages": []
}
