We’re creating job notes from a headless backend integration using:
POST /api_1.0/note.json
Authentication is via API key. The notes are being created successfully and the data looks correct. We’ve verified this with:
GET /api_1.0/note.json?$filter=related_object_uuid eq '{job_uuid}'
The returned notes have the expected values:
-
active = 1 -
related_object = job -
correct
related_object_uuid -
correct
create_date/edit_date
The issue is that notes created this way don’t show up in the Job Diary for a client that already has that job open or previously loaded. On a stale client the notes do not necessarily appear on their own — we waited 20+ minutes with no change. They appear only via a fresh load, or a UI-originated Diary change.
If the job is already loaded in a client, the API-created note does not appear after:
-
passive / pull refresh
-
closing and reopening the job
-
navigating away and back
-
hard refresh with Shift-F5
-
closing and reopening the app window
This happens in both the web and desktop apps, even after waiting several minutes.
However, if the same job is opened for the first time in a fresh client — meaning an app instance that has not already loaded that job — the note appears immediately.
Also, on the stale client, if a user manually adds or deletes any note in that job’s Diary, all of the pending API-created notes appear at once.
Our interpretation is that the note data itself is fine, and this appears to be a client-side sync issue. A client that already has the job loaded does not seem to re-sync notes created through the API. A fresh load pulls them correctly, and a UI-originated Diary change appears to trigger the missing sync. So this looks less like a server-side feed cache issue and more like the client’s local replica/sync layer not receiving an event for API-created notes.
Is there a supported way for a note created through:
POST /api_1.0/note.json
to propagate to the Job Diary of a client that already has the job loaded?
For example, is there an event that the client normally subscribes to that API-created notes do not currently emit, or is there a job-level signal we can send from the backend to force the job Diary to re-sync?
We know that client.refreshJobDetails() works from an add-on iframe, but this integration is running headlessly on the backend, with no iframe or SDK context. We’re looking for the supported server-side equivalent for API-created notes.