Communications
Mark one notice read
/a/Notice_markSeen
Mark one current-user notice as read.
When to use this endpoint
Use Notice_markSeen when the user opens a notice or explicitly chooses “Mark as read”. This changes row status, unlike the similarly named plural checkpoint endpoint.
Authentication and permissions
The request must authenticate with signed API-key fields or a logged-in CRM session. The handler requires login and performs no additional page or role-permission check.
The read or write is limited to the authenticated tenant. Notice endpoints that say “current user” use the authenticated session user ID within that tenant.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | Integer-compatible | Yes | Notice ID. It must convert to an integer of at least 1. |
Example request
$result = FM_api('Notice_markSeen', [
'id' => '49018',
]);
Example response
{"ok":1}
Errors and unusual responses
| Response | Condition |
|---|---|
{"error":"not logged in"} | No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs. |
{"error":"missing or invalid parameter: id"} | id is absent or converts below 1. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- The route sets
status=1only where both ID and current user match. - An unknown ID, another user’s ID, or an already-read notice still returns success because affected-row count is not checked.
- The CRM implementation can mark either CRM-originated or app-push notices. The mobile API exposes a matching ownership-scoped route and the app uses it for individual notifications.
Side effects
- Updates the notice row only. It does not advance the user metadata polling checkpoint or write generic history.
See it in Fieldmotion
CRM1
Open a notice from the CRM1 notice widget. If it is unread, the widget calls this endpoint after displaying the body.
CRM2
Click an unread header-bell row or choose Mark as read on the Notifications page. Both actions call this endpoint and update the visible counter.
Related endpoints
Notices_markAllSeenmarks every CRM-visible notice for the current user read.Notices_markSeenchanges only a polling checkpoint, not row status.