Page 1 of 1

Bulk edits: DateModified and job.updated each miss different changes

Posted: Tue Aug 25, 2026 1:48 pm
by nemanja-elogii
We sync jobs into our platform and need to know which jobs changed since our last poll. We use GET /jobs/ with If-Modified-Since. It silently misses changes made via bulk actions in the Jobs list, and the job.updated webhook misses a different set.

Each case below was reproduced on more than one job.
  • Individual job edit - If-Modified-Since catches it, the job log records it, the webhook fires.
  • Bulk add tag - If-Modified-Since misses it. The job log records it and the webhook fires.
  • Bulk change due date - If-Modified-Since catches it and the job log records it, but the webhook does not fire.
  • Bulk change stage - If-Modified-Since catches it and the job log records it, but the webhook does not fire.
Bulk tagging does not update Job.DateModified. After the tag was added, the job still carried the timestamp of an earlier, unrelated edit. The job log recorded the tag change correctly. A request with If-Modified-Since set between those two points returns an empty list, so the job stays invisible to an incremental sync until something else happens to touch it.

Bulk due-date and stage changes do not fire job.updated. Both update DateModified correctly, but no delivery ever arrived, while a bulk tag change on the same build reached the same endpoint almost immediately.

So the two mechanisms fail in opposite directions and neither is a superset of the other. The only thing that caught all of them was polling /logs/jobs/ and pattern-matching the free-text Message field, which means inferring "the due date changed" from English prose. The range of message wordings on a live build is wide, so any change on your side would silently break a customer's sync.

What would help, in order of preference:
  1. Update DateModified on every write path, including the bulk actions, so If-Modified-Since is a reliable change feed. This is the one that matters most to us.
  2. Time granularity on DateLogged filters (currently date-only, a value with a time component is rejected) plus a documented set of log message types.
  3. Change feed endpoint, e.g. GET /jobs/changes?since=<cursor> returning job IDs and changed fields.
Happy to share build, job IDs and exact timestamps with support.

Is there a supported approach we have missed?

Re: Bulk edits: DateModified and job.updated each miss different changes

Posted: Fri Sep 11, 2026 3:55 am
by SimproAPITeam
Hi,

Thanks for the detailed report. We have verified the behaviour and can confirm:
  • Bulk add tag not updating DateModified is a defect.
  • Bulk due date change not firing job.updated is a defect. The webhook is currently only sent when the new due date is today or earlier.
  • Bulk stage change not firing job.updated is working as designed. Stage changes emit their own webhook events: job.stage.pending, job.stage.progress, job.stage.complete, job.stage.invoiced and job.stage.archived. Subscribing to those will catch bulk stage changes today.
We have raised a ticket to address the two defects and will update you once a fix is scheduled.