Mark a notification as read or sync its client_id
POST
/notifications/{id}/read
const url = 'http://localhost:8000/api/v1/notifications/1/read';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"client_id":"245cb3df-df3a-428b-a908-e5f74b8d58a3:245cb3df-df3a-428b-a908-e5f74b8d58a4","read_at":"2026-04-15T12:00:00Z"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8000/api/v1/notifications/1/read \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "client_id": "245cb3df-df3a-428b-a908-e5f74b8d58a3:245cb3df-df3a-428b-a908-e5f74b8d58a4", "read_at": "2026-04-15T12:00:00Z" }'Marks the notification as read using the supplied read_at (or now() if omitted). If only client_id is sent, the server records the client_id without changing read state, so the mobile sync can establish the link before the user opens the notification.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” id
required
integer
Request Body
Section titled “Request Body ” Media type application/json
object
client_id
Client-generated identifier for offline sync. Optional.
string
Example
245cb3df-df3a-428b-a908-e5f74b8d58a3:245cb3df-df3a-428b-a908-e5f74b8d58a4 read_at
Timestamp the notification was read on the client. Optional. When omitted and client_id is also omitted, the server uses the current time. When omitted and client_id is present, read state is left unchanged.
string format: date-time
Responses
Section titled “ Responses ”Notification marked as read or synced
Notification not found
Validation error