Create a Data Virtualization API

Sanae Mendoza
Sanae Mendoza
  • Updated

Introduction

Data Virtualization in FME Flow makes it easy to build REST APIs without writing code. You can design APIs from the ground up, controlling their structure, endpoints, formats, and configuration. This approach helps organizations expose internal data in a consistent and accessible way.

Approaches to Creating a Data Virtualization API

There are two ways to create a Data Virtualization API: from scratch or using an OpenAPI Specification (OAS). The difference is in how much manual setup is required.

  • From Scratch: You define the API structure, endpoints, request and response formats, and settings directly in FME Flow. This approach provides maximum flexibility and is best for building custom APIs that don’t already have documentation.
  • From an Existing API: You can import an OpenAPI Specification (OAS) file to automatically generate the API structure, including endpoints and methods. This saves time and works well when aligning with or migrating existing APIs.

In both approaches, you’ll configure the responses and connect the API to FME workflows that process the requests.

Note that documentation may change rapidly and not reflect the current build. This article was written with FME 2025.1.2 b25630.

Step-by-Step Instructions

In this exercise, you’ll build the EnvironData API, a single access point for real-time environmental and disaster data. The EnvironData Coordination Office needs this API to combine information from multiple internal sources, reducing manual data requests and improving efficiency across internal systems, partner agencies, and public applications. You’ll create it from the ground up, defining metadata, namespace, versioning, and access controls.

1. Create a New API

In FME Flow, open Data Virtualization from the sidebar and click Create API.

On the Create API page, you’ll enter details such as documentation, contact info, security settings, caching, and async processing.

The API Details section allows you to set the basic information about your API. These details structure the API and appear in the documentation. 

Field Value Description
API Title Environmental Impact and Response API The header for the documentation page. It will label any automatically generated Data Virtualization workspaces. 
Namespace EnvironData

A unique identifier for your API. The namespace becomes part of the API’s URL path. Avoid changing it later, since it affects all endpoints. Use a short, clear name for easier integration and cleaner URLs


 

Based on this, all requests to the Data Virtualization API will take the general URL form: https://<FME Flow>/api/EnvironData/<endpoint>

Versioning 1.0.0. Allows you to track iterations of the Data Virtualization API
Summary EnvironData API provides real-time access to environmental and disaster-related data for effective response and analysis. A short description of the API that will appear in the documentation. 
Description The EnvironData API provides essential tools for accessing real-time environmental and disaster data. It supports integration into emergency systems, monitoring platforms, and research projects to enhance preparedness and mitigate impacts. A longer form description of the Data Virtualization API. This is an opportunity to include any information about the usage of the API, its data sources, organizational information, etc. 
Job Queues (unselected) Routes all requests to the API through a specific engine. Leaving this blank will use the Default queue. 
Job Expiry Time 2 minutes  Sets how long a request can run before timing out. If a request runs longer than 2 minutes (or the set value), the user will see an expiry error. 

Contact information appears on the API documentation page and helps end users know who to reach out to with questions, issues, or feedback. You can add an organization or admin. Optional, but it helps build trust and professionalism.

For this exercise, enter your own details or use the (fictional) sample data provided below.

Field Value
Name EnvironData Coordination Office (EDCO)
URL (Leave blank)
Email (Leave blank)

Endpoint Security defines which users and roles can access the API’s endpoints, ensuring consistent protection without separate configurations. After creating the API, you can still adjust access for individual endpoints as needed. 

Field Value Why
Access Level Authenticated All endpoints will require authentication unless otherwise configured.
Allowed Roles “fmeadmin”, “fmeauthor”, and “fmeuser” This will allow all users in these roles (and the tokens they create) to access API endpoints by default. 
Allowed Users Select your own user account, for example, “dvauthor” in this example.

By default, only selected users and the tokens they generate are granted access to specific API endpoints.

Note: your account isn’t added automatically—you need to add it yourself. In some scenarios, you may choose not to grant yourself access to all endpoints. For example, if different departments manage distinct areas of the API and your role is limited to overall administration rather than direct interaction with specific data.

Caching temporarily stores API responses to avoid repeatedly querying the data source. This improves performance, lowers latency, and reduces server load, making the system faster and more scalable. You can enable caching for the entire API or for specific endpoints.

For this exercise, keep the default: No.

Asynchronous Processing lets clients send requests without waiting for them to finish. The API immediately returns a request ID, which can be used later to check progress or retrieve results. This approach is ideal for long-running tasks and helps keep systems responsive and scalable.

For this exercise, keep the default: No.

To finish, click Create. 

2. View Documentation

When the API is created, the API Details page opens.

This page for the Environmental Impact and Response API provides access to key configuration settings. From here, you can manage general administration, update settings, and review integration options such as CORS policies for cross-application communication.

The API Details also generate documentation automatically. Use View Documentation to open the Swagger page in a new browser tab.

The Swagger documentation serves as the main reference, displaying endpoints, data formats, and security rules. At this stage, no endpoints exist. The next step in the Data Virtualization process is to build and publish the first one.

3. Continue to the Next Exercise

Close the Swagger documentation to return to FME Flow. Continue to the next exercise to build the first endpoint: Create a Manual Endpoint in Data Virtualization.

Was this article helpful?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.