Mark notifications as read
curl --request POST \
--url https://api.extole.io/v6/notifications/read \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"last_read_event_time": "2025-10-24T02:00:00-07:00"
}
'import requests
url = "https://api.extole.io/v6/notifications/read"
payload = { "last_read_event_time": "2025-10-24T02:00:00-07:00" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({last_read_event_time: '2025-10-24T02:00:00-07:00'})
};
fetch('https://api.extole.io/v6/notifications/read', 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.extole.io/v6/notifications/read",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'last_read_event_time' => '2025-10-24T02:00:00-07:00'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.extole.io/v6/notifications/read"
payload := strings.NewReader("{\n \"last_read_event_time\": \"2025-10-24T02:00:00-07:00\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.extole.io/v6/notifications/read")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"last_read_event_time\": \"2025-10-24T02:00:00-07:00\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v6/notifications/read")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"last_read_event_time\": \"2025-10-24T02:00:00-07:00\"\n}"
response = http.request(request)
puts response.read_body{
"last_read_event_time": "2025-10-24T02:00:00-07:00"
}User Notifications
Mark notifications as read
Advances the read cursor to the supplied timestamp, marking all notifications created at or before that time as read for the calling user. Returns the updated cursor state. Use getNotificationCursor to retrieve the current cursor position.
POST
https://api.extole.io
/
v6
/
notifications
/
read
Mark notifications as read
curl --request POST \
--url https://api.extole.io/v6/notifications/read \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"last_read_event_time": "2025-10-24T02:00:00-07:00"
}
'import requests
url = "https://api.extole.io/v6/notifications/read"
payload = { "last_read_event_time": "2025-10-24T02:00:00-07:00" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({last_read_event_time: '2025-10-24T02:00:00-07:00'})
};
fetch('https://api.extole.io/v6/notifications/read', 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.extole.io/v6/notifications/read",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'last_read_event_time' => '2025-10-24T02:00:00-07:00'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.extole.io/v6/notifications/read"
payload := strings.NewReader("{\n \"last_read_event_time\": \"2025-10-24T02:00:00-07:00\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.extole.io/v6/notifications/read")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"last_read_event_time\": \"2025-10-24T02:00:00-07:00\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v6/notifications/read")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"last_read_event_time\": \"2025-10-24T02:00:00-07:00\"\n}"
response = http.request(request)
puts response.read_body{
"last_read_event_time": "2025-10-24T02:00:00-07:00"
}Authorizations
HEADERQUERYCOOKIE
Body
application/json
RFC 3339 or RFC 9557 date-time with a numeric UTC offset and an optional IANA time-zone suffix in square brackets. Precision up to milliseconds.
Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])(\[[^\]]+\])?$Example:
"2025-10-24T02:00:00-07:00"
Response
Updated notification read cursor.
RFC 3339 or RFC 9557 date-time with a numeric UTC offset and an optional IANA time-zone suffix in square brackets. Precision up to milliseconds.
Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-](?:[01][0-9]|2[0-3]):[0-5][0-9])(\[[^\]]+\])?$Example:
"2025-10-24T02:00:00-07:00"
