Mark Notification as Read
curl --request PATCH \
--url https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read"
headers = {"Authorization": "Bearer <token>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-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.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
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.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read"
req, _ := http.NewRequest("PATCH", 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.patch("https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyApp Notification Endpoints
Mark Notification as Read
Mark a single notification as read by its ID
Mark Notification as Read
curl --request PATCH \
--url https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read"
headers = {"Authorization": "Bearer <token>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-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.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
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.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read"
req, _ := http.NewRequest("PATCH", 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.patch("https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sublay.io/v8/:projectId/app-notifications/:notificationId/mark-as-read")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyMarks a specific notification as read. The notification must belong to the authenticated user — users cannot mark another user’s notifications as read.
Returned when the notification does not exist or does not belong to the authenticated user.
Returned when
This endpoint requires an authenticated user. Include a valid
Authorization: Bearer <accessToken> header.Path Parameters
string
required
The UUID of the notification to mark as read.
Response
Returns HTTP200 on success with no response body.
Error Responses
Notification Not Found — 404
Notification Not Found — 404
{
"error": "Notification not found",
"code": "app-notification/not-found"
}
Invalid Params — 400
Invalid Params — 400
{
"error": "...",
"code": "app-notification/invalid-params"
}
notificationId is not a valid UUID.Missing token — 401
Missing token — 401
No
Authorization header was sent. The body is text/plain, not JSON:Unauthorized
Expired or invalid token — 403
Expired or invalid token — 403
The header was sent but the token failed verification. Refresh the access
token and retry. The body is
text/plain, not JSON:Forbidden

