Workspace Notifications
Listar notificaciones de workspace
Devuelve una lista paginada de notificaciones de workspace de la organización autorizada (incluye tenants delegados accesibles). La agregación no está disponible en este endpoint.
GET
/
v2
/
organizations
/
{organization_id}
/
workspace-notifications
Listar notificaciones de workspace
curl --request GET \
--url https://api.flexxible.net/v2/organizations/{organization_id}/workspace-notifications \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.flexxible.net/v2/organizations/{organization_id}/workspace-notifications"
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}/workspace-notifications', 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}/workspace-notifications",
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}/workspace-notifications"
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}/workspace-notifications")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flexxible.net/v2/organizations/{organization_id}/workspace-notifications")
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{
"has_next": false,
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"severity": "maintenance",
"target": "workspaces",
"status": "generated",
"time_zone": "Europe/Madrid",
"start_date_utc": "2026-09-01T08:00:00.000Z",
"end_date_utc": "2026-09-01T18:00:00.000Z",
"message": "Mantenimiento programado",
"ask_for_acknowledgement": true,
"accepted_by_users": 12,
"blink": false,
"disable_minimize": false,
"tooltip": "Aviso de mantenimiento",
"link": "https://example.com/notice",
"organization_id": "507f1f77bcf86cd799439011"
}
]
}{
"error": {
"message": "Parámetros de solicitud no válidos.",
"code": "BAD_REQUEST",
"details": "per_page must be less than or equal to 100"
}
}{
"error": {
"message": "No autorizado.",
"code": "UNAUTHORIZED"
}
}{
"error": {
"message": "Recurso no encontrado.",
"code": "NOT_FOUND"
}
}{
"error": {
"message": "Límite de solicitudes excedido.",
"code": "TOO_MANY_REQUESTS"
}
}{
"error": {
"message": "Error interno del servidor.",
"code": "INTERNAL_SERVER_ERROR"
}
}{
"error": {
"message": "Database unavailable",
"code": "SERVICE_UNAVAILABLE"
}
}Autorizaciones
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Parámetros de ruta
Identificador de la organización.
Required string length:
24Pattern:
^[0-9a-f]{24}$Parámetros de consulta
Número de página.
Rango requerido:
x >= 1Número de elementos por página.
Rango requerido:
1 <= x <= 100Campos de respuesta separados por comas para cada elemento.
Maximum string length:
2048Expresión JSON de filtros sobre campos filtrables del recurso.
Maximum string length:
5120Expresión de ordenación con el formato :asc|desc. Por defecto start_date_utc:desc.
Pattern:
^([a-z_]+):(asc|desc)$⌘I
Listar notificaciones de workspace
curl --request GET \
--url https://api.flexxible.net/v2/organizations/{organization_id}/workspace-notifications \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.flexxible.net/v2/organizations/{organization_id}/workspace-notifications"
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}/workspace-notifications', 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}/workspace-notifications",
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}/workspace-notifications"
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}/workspace-notifications")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flexxible.net/v2/organizations/{organization_id}/workspace-notifications")
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{
"has_next": false,
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"severity": "maintenance",
"target": "workspaces",
"status": "generated",
"time_zone": "Europe/Madrid",
"start_date_utc": "2026-09-01T08:00:00.000Z",
"end_date_utc": "2026-09-01T18:00:00.000Z",
"message": "Mantenimiento programado",
"ask_for_acknowledgement": true,
"accepted_by_users": 12,
"blink": false,
"disable_minimize": false,
"tooltip": "Aviso de mantenimiento",
"link": "https://example.com/notice",
"organization_id": "507f1f77bcf86cd799439011"
}
]
}{
"error": {
"message": "Parámetros de solicitud no válidos.",
"code": "BAD_REQUEST",
"details": "per_page must be less than or equal to 100"
}
}{
"error": {
"message": "No autorizado.",
"code": "UNAUTHORIZED"
}
}{
"error": {
"message": "Recurso no encontrado.",
"code": "NOT_FOUND"
}
}{
"error": {
"message": "Límite de solicitudes excedido.",
"code": "TOO_MANY_REQUESTS"
}
}{
"error": {
"message": "Error interno del servidor.",
"code": "INTERNAL_SERVER_ERROR"
}
}{
"error": {
"message": "Database unavailable",
"code": "SERVICE_UNAVAILABLE"
}
}