{
"id": "ink.branchline.markNotificationsRead",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"entries"
],
"properties": {
"entries": {
"type": "array",
"items": {
"ref": "#entry",
"type": "ref"
},
"maxLength": 100,
"minLength": 1
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "Unauthorized",
"description": "The caller is not signed in."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"updated"
],
"properties": {
"updated": {
"type": "integer",
"minimum": 0
}
}
},
"encoding": "application/json"
},
"description": "Mark one or more notification groups as read for the authenticated viewer. Each entry stamps the viewer's readAt for that groupKey, hiding the group from ink.branchline.listNotifications until fresh activity pushes latestAt past the stamp. Responds 401 without a session."
},
"entry": {
"type": "object",
"required": [
"groupKey",
"readAt"
],
"properties": {
"readAt": {
"type": "string",
"format": "datetime",
"description": "latestAt of the group at the moment it was dismissed. Typically the same value returned in the notification view."
},
"groupKey": {
"type": "string",
"description": "Opaque identifier returned by ink.branchline.listNotifications."
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}