Skip to main content
Question

FME Flow REST API v4: How to get only “today’s” job runs (filter by date) when /jobs has no start/end filter?

  • February 3, 2026
  • 5 replies
  • 47 views

erkam
Observer
Forum|alt.badge.img+1

Ive been wondering about this for quite some time now, but couldn’t get any satisfying reply so far. The only solution I had in mind was to create a pythoncaller that automatically checks this..but that does feel a bit supoptimal. Maybe I am missing something?

 

I’m building a daily monitoring workflow in FME Flow (REST API v4 / fmeapiv4). Goal: once per day I want to store counts like “successful runs” and “failed runs” for a specific repository + workspace.

I currently use the /jobs endpoint like this:


GET /fmeapiv4/jobs
?status=success
&repository=repo%20Name
&workspace=workspace.fmw
&limit=1000
&offset=0


Problem: I only want today’s runs (or a specific day), but according to the Swagger docs for GET /jobs the available query params are things like status, repository, workspace, sort, limit, offset, etc. There is no start / end or other date range filter.

Swagger notes:

default sort is by timeFinished desc
sorting supported on workspace, timeFinished, timeStarted, status
pagination via limit (0..1000) and offset
I also found metrics endpoints that accept start and end (and interval), e.g. “job counts per interval” and “average job metrics”, but those seem to be system-level (filterable by queue/engine) and don’t appear to support filtering by repository/workspace.

Is there any way in FME Flow REST API v4 to filter /jobs by a date range (e.g. “only jobs finished today”)?

5 replies

geomancer
Evangelist
Forum|alt.badge.img+62
  • Evangelist
  • February 3, 2026

Stangely there is no way in FME Flow REST API v4 to filter jobs by a date or a date range.

So you have to get 'too many’ jobs first, and filter on date or date range afterwards.


erkam
Observer
Forum|alt.badge.img+1
  • Author
  • Observer
  • February 3, 2026

 

Stangely there is no way in FME Flow REST API v4 to filter jobs by a date or a date range.

So you have to get 'too many’ jobs first, and filter on date or date range afterwards.

Even if I request a very large number of jobs, there’s no guarantee I’m actually capturing all (possibly thousands?) jobs for the day. Repeatedly calling the HTTPCaller with the same GET request and adjusting limit/offset for pagination feels cumbersome, and I’m worried about potentially missing jobs if the total exceeds what I’ve requested.

So in that way, what would be a possible reliable way to ensure I retrieve every job for a given day without relying on arbitrary limits? (yes realistically I certainly will not come close to this limit but it has been on the back on my mind :D)


ebygomm
Influencer
Forum|alt.badge.img+46
  • Influencer
  • February 3, 2026

Version 3 of the api used to give you a totalCount so you knew how many requests you needed to make to get them all so could safely return everything without having to loop

 

It doesn’t look like the jobs call in Version 4 does the same


hkingsbury
Celebrity
Forum|alt.badge.img+68
  • Celebrity
  • February 3, 2026

Stangely there is no way in FME Flow REST API v4 to filter jobs by a date or a date range.

So you have to get 'too many’ jobs first, and filter on date or date range afterwards.

You could be smart about this and use a custom transformer to keep looping until you get no more jobs in the required date range


hkingsbury
Celebrity
Forum|alt.badge.img+68
  • Celebrity
  • February 3, 2026

Version 3 of the api used to give you a totalCount so you knew how many requests you needed to make to get them all so could safely return everything without having to loop

 

It doesn’t look like the jobs call in Version 4 does the same

The v4 API does, its just after the items object instead of before it

 

{
"items": [
{
"id": 0,
"description": "string",
"engineHost": "string",
"engineName": "string",
"repository": "string",
"queue": "string",
"queueType": "system",
"resultDatasetDownloadUrl": "string",
"sourceID": "string",
"sourceName": "string",
"sourceType": "automations",
"status": "queued",
"timeFinished": "2026-02-03T18:50:18.613Z",
"timeQueued": "2026-02-03T18:50:18.613Z",
"timeStarted": "2026-02-03T18:50:18.613Z",
"runtimeUsername": "string",
"runtimeUserID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"workspace": "string",
"elapsedTime": 0,
"cpuTime": 0,
"cpuPercent": 0,
"peakMemoryUsage": 0,
"lineCount": 0,
"warningCount": 0,
"errorCount": 0
}
],
"totalCount": 0,
"limit": 0,
"offset": 0
}