List notifications across all product pillars
curl --request GET \
--url https://api.orbit.devotel.io/api/v1/notifications/global \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.orbit.devotel.io/api/v1/notifications/global"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.orbit.devotel.io/api/v1/notifications/global', 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.orbit.devotel.io/api/v1/notifications/global",
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.orbit.devotel.io/api/v1/notifications/global"
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.orbit.devotel.io/api/v1/notifications/global")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/notifications/global")
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{
"data": {
"data": [
{
"id": "ntf_01J8Z9K3P4Q5R6S7T8U9V0W1X2",
"kind": "sla.breach",
"severity": "warning",
"title": "SLA breach on the Support queue",
"body": "Average wait time exceeded the 5 minute target.",
"action_url": "/voice/queues/q_42",
"read_at": null,
"created_at": "2026-08-07T11:40:00.000Z",
"source_pillar": "ccaas",
"category": "sla_breach"
}
],
"pagination": {
"cursor": "eyJvIjoxMH0",
"has_more": true
}
},
"meta": {
"request_id": "req_01J8Z9K3P4Q5R6S7T8U9V0W1X2",
"timestamp": "2026-08-07T12:00:00.000Z"
}
}Notifications
List notifications across all product pillars
Returns the authenticated user’s cross-pillar notification feed for the current tenant, newest first, with cursor pagination. Extends the standard list with optional since and until ISO-8601 time-window bounds so the global notification center can request ranges like the last 24 hours or this week without walking the cursor backwards. The same pillar and category filters as the list endpoint apply.
GET
/
api
/
v1
/
notifications
/
global
List notifications across all product pillars
curl --request GET \
--url https://api.orbit.devotel.io/api/v1/notifications/global \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.orbit.devotel.io/api/v1/notifications/global"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.orbit.devotel.io/api/v1/notifications/global', 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.orbit.devotel.io/api/v1/notifications/global",
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.orbit.devotel.io/api/v1/notifications/global"
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.orbit.devotel.io/api/v1/notifications/global")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbit.devotel.io/api/v1/notifications/global")
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{
"data": {
"data": [
{
"id": "ntf_01J8Z9K3P4Q5R6S7T8U9V0W1X2",
"kind": "sla.breach",
"severity": "warning",
"title": "SLA breach on the Support queue",
"body": "Average wait time exceeded the 5 minute target.",
"action_url": "/voice/queues/q_42",
"read_at": null,
"created_at": "2026-08-07T11:40:00.000Z",
"source_pillar": "ccaas",
"category": "sla_breach"
}
],
"pagination": {
"cursor": "eyJvIjoxMH0",
"has_more": true
}
},
"meta": {
"request_id": "req_01J8Z9K3P4Q5R6S7T8U9V0W1X2",
"timestamp": "2026-08-07T12:00:00.000Z"
}
}Authorizations
BearerApiKey
Dashboard JWT token from Clerk
Response
200 - application/json
A cursor-paginated page of cross-pillar notifications.
The response is of type object.
⌘I