Introduction
APIs are a communication medium that allows us to talk to an application. If you’ve never worked with an API before, I recommend you check out the tutorial series Getting Started with APIs.
In this article, you will find our REST API documentation and some useful transformers that you may consider including in your workspace when working with the FME Flow REST API.
As of FME Flow 2025.1, the V3 REST API has been deprecated. The current API will remain accessible, but no new features or general bug fixes will be implemented. Starting with FME Flow 2026.0, the V3 API will be removed, and we encourage all users to prepare their systems for this change.
The V4 REST API offers enhanced security and usability, including new and reorganized endpoints, and the removal of some endpoints. For information on migrating from V3 to V4, please log into FME Flow, click the question mark in the top right corner, select REST API, and then click the Migrating from REST API V3 tab.
Finding the Documentation
The FME Flow REST API Homepage is an essential tool for any API user. This website provides the documentation needed to learn about the FME Flow REST API. It also allows the user to view all calls available on the REST API. Each call has detailed documentation about it and any parameters connected to it. The user can also practice a call before implementing it.
To find this, go to http://<yourServerHost>/fmeapiv4/docs/index.html where <yourServerHost> is your server hostname.
Once on that page, click on the API Endpoints link.
Here, you can explore the various calls you can make to FME Flow. Find the category called health check and expand the call. You should see this documentation at the top.
This page outlines everything you need to know about the call. Click "Try it out." This will connect to your server and provide a response to your call. However, before you receive a response, you will have to connect to your server.
You will be prompted for the server username and password. Here, you will need to request a token to complete your call.
Next, click Authorize. The token should now be in the top right-hand corner of the page. Once you click "Try it out," the call can be made.
After you have made a call to FME Flow, you will receive a response from FME Flow.
Transformers
HTTPCaller
In FME Workbench, the HTTPCaller is your best friend when it comes to working with any API. In this transformer, you’ll configure the Request, any headers or query string parameters, and authentication. Depending on the type of request, there is an option to specify the upload body as well. Be sure to consult the FME Flow REST API Documentation, which includes configuration details required for each endpoint.
JSON Transformers
The majority of FME Flow REST API calls return their response as JSON. Therefore, to work with the job statistics in FME, the JSON string must first be parsed and broken into attributes. The JSONFragmenter, JSONFlattener, and JSONExtractor can be used to perform this action. The tutorial Getting Started with JSON provides an overview of reading, writing, and transforming JSON data using FME.
HTMLReportGenerator
The output must be written to HTML to work with Dashboards in FME Flow. The HTMLReportGenerator can help you quickly create basic charts in HTML. For more complex dashboards, you’ll have to create your own custom HTML. There are online HTML preview tools that can be used to help you put this together.
API Pagination
Most APIs have a maximum number of entries they can return in a single request; therefore, to retrieve all the results, you need to be able to page data. Usually, this can be done by setting two additional query strings in your request: an offset and a limit. Offset-based pagination allows you to set the number of records to skip before retrieving your results. For example, when Offset=0 and Limit=1000, the response will hold the first 1000 features. When Offset=1000, the response will essentially be returning the second page, the second set of 1000 features, and so on.
In FME, you can take two different routes to set up pagination. If you know the total number of pages, you can use the Cloner transformer to create a feature for every offset needed and feed this into the HTTPCaller. Alternatively, create a custom transformer to use the looping functionality to continually increase the offset after each request.
If your FME Flow has yet to reach 1000 jobs, try reducing the limit to see this pagination in action.
The webinar To Loop or Not to Loop showcases examples of when looping is appropriate and the best practices in looping, such as Looping Until a Condition is Met.
Additional Resources
Monitoring FME Flow Job Activity using the REST API
FME Flow Troubleshooting: REST API