Obtener reporte mensual de un grupo de reporte
Devuelve el reporte mensual de soporte para el grupo de reporte y periodo solicitado, junto con metricas actuales del grupo.
curl --request GET \
--url https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}', 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://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}",
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: Bearer <token>"
],
]);
$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://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"reporting_group_id": "507f1f77bcf86cd799439020",
"organization_id": "507f1f77bcf86cd799439011",
"period_year": 2026,
"period_month": 6,
"applied_patches": 58,
"critical_patches": 6,
"security_patches": 17,
"other_patches": 35,
"total_used_apps": 42,
"top_apps": [
{
"app_name": "Google Chrome",
"usage_days": 21
},
{
"app_name": "Microsoft Teams",
"usage_days": 19
}
],
"automatic_remediations": {
"microservices": 4,
"flows": 11
},
"current_reporting_group_name": "Madrid - Finance",
"current_total_workspaces": 132,
"current_total_workspace_users": 247,
"current_workspace_antivirus_statistics": {
"workspaces_without_antivirus": 9,
"workspaces_with_antivirus": {
"total": 123,
"by_status": {
"unknown": 5,
"not_installed": 7,
"installed_stopped": 3,
"installed_working": 108
}
}
}
}{
"error": {
"message": "El parámetro period debe tener formato yyyymm.",
"code": "invalid_request",
"details": "Use seis digitos con mes válido entre 01 y 12."
}
}{
"error": {
"message": "No autorizado.",
"code": "unauthorized"
}
}{
"error": {
"message": "No se encontró el reporte mensual solicitado.",
"code": "not_found"
}
}{
"error": {
"message": "Se produjo un error interno.",
"code": "internal_error"
}
}Autorizaciones
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Parámetros de ruta
Identificador de la organización.
24^[0-9a-f]{24}$Identificador del grupo de reporte.
24^[0-9a-f]{24}$Periodo mensual solicitado en formato yyyymm.
6^\d{4}(0[1-9]|1[0-2])$Respuesta
Reporte mensual obtenido correctamente.
Reporte mensual de soporte de un grupo de reporte.
Identificador del grupo de reporte.
24^[0-9a-f]{24}$Identificador de la organización.
24^[0-9a-f]{24}$Ano del reporte.
x >= 1Mes del reporte.
1 <= x <= 12Número de parches aplicados.
Número de parches criticos.
Número de parches de seguridad.
Número de otros parches.
Cantidad total de aplicaciones usadas en el periodo.
Aplicaciones mas usadas en el periodo.
Show child attributes
Show child attributes
Conteo de remediaciones automaticas.
Show child attributes
Show child attributes
Nombre actual del grupo de reporte.
Total actual de workspaces del grupo.
Total actual de usuarios en workspaces del grupo.
Estado actual de antivirus en workspaces del grupo.
Show child attributes
Show child attributes
curl --request GET \
--url https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}', 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://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}",
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: Bearer <token>"
],
]);
$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://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flexxible.net/v2/organizations/{organization_id}/reporting-groups/{reporting_group_id}/monthly-report/{period}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"reporting_group_id": "507f1f77bcf86cd799439020",
"organization_id": "507f1f77bcf86cd799439011",
"period_year": 2026,
"period_month": 6,
"applied_patches": 58,
"critical_patches": 6,
"security_patches": 17,
"other_patches": 35,
"total_used_apps": 42,
"top_apps": [
{
"app_name": "Google Chrome",
"usage_days": 21
},
{
"app_name": "Microsoft Teams",
"usage_days": 19
}
],
"automatic_remediations": {
"microservices": 4,
"flows": 11
},
"current_reporting_group_name": "Madrid - Finance",
"current_total_workspaces": 132,
"current_total_workspace_users": 247,
"current_workspace_antivirus_statistics": {
"workspaces_without_antivirus": 9,
"workspaces_with_antivirus": {
"total": 123,
"by_status": {
"unknown": 5,
"not_installed": 7,
"installed_stopped": 3,
"installed_working": 108
}
}
}
}{
"error": {
"message": "El parámetro period debe tener formato yyyymm.",
"code": "invalid_request",
"details": "Use seis digitos con mes válido entre 01 y 12."
}
}{
"error": {
"message": "No autorizado.",
"code": "unauthorized"
}
}{
"error": {
"message": "No se encontró el reporte mensual solicitado.",
"code": "not_found"
}
}{
"error": {
"message": "Se produjo un error interno.",
"code": "internal_error"
}
}