Table of Contents
Using the API request node
Table of Contents
The API request node enables Flow to communicate with external systems by making HTTP API calls. This allows you to retrieve external data, trigger operations in third-party tools, and make dynamic decisions inside your workflow based on API responses.
You can place the API request node in the workflow where you need to retrieve or send external data. When the workflow reaches the API request node, it retrieves or sends data, depending on its configuration. It produces variables from the response, and these variables can be reused in downstream nodes (for example, Edit metadata).
For an overview of the API request node, see API request node overview.
Known limitations
- Only the Edit metadata node fully supports API variables.
- Unmapped or incorrectly mapped JSON paths result in empty variables.
- If the asset metadata contains special characters (such as quotes or backslashes), the workflow will fail.
Prerequisite
The API request action must be part of your workflow.
Sending the API request
When the workflow reaches the API request node, it sends an HTTP request (GET or POST). You can configure the following:
- API URL
- HTTP method
- Headers and authentication
- Dynamic parameters, such as metadata fields, can be inserted in the request body. In an upcoming release, dynamic values will also be supported in the URL and request headers.
Configuring the API request node
- Select the API request node in your workflow.
- Select Create configuration.

- Enter a name for the connection, and, optionally, a description.
- Select GET or POST from the HTTP method dropdown list.
- Enter the endpoint URL.
- Enter the query parameters (or values from the asset, such as inventory number, file name, or ID - these values need to exist in the asset's metadata) in the Request body. Flow replaces these placeholders with real values for each asset when the workflow runs. Use Add fields to insert dynamic values (such as metadata fields).
- If you select POST, select JSON or GRAPHQL.
- If you select JSON, you can also select Format to format the text, if necessary.
- If the system you are connecting to requires authentication, select OAuth 2.0 and enter the necessary values. You can also select not to authenticate.
- Enter Key and Value information for an HTTP header (optional).
- Select Add header to add more headers.
- Select Save.
- To test your API configuration and verify that it works correctly before saving, select Test API and then Test API request.

- If the test is successful, a success message appears along with a JSON response from the external system - a structured result. This response can include a large amount of data, but in most cases you only need a few specific fields. These returned values can be used by other nodes in the workflow.
If the test fails, a failure message is shown, and additional details are available in the Debug information section.
Mapping the response into variables
When the external API returns a response, you can extract specific values using JSONPath. The external system often returns a large amount of data, but you usually need only a few fields. These extracted values become API variables for later use in the workflow.
How to enter a JSONPath
You can enter the path manually, if you know the structure, or use the visual selector (Response body content) in the Test API step. Using the visual selector is recommended for users unfamiliar with JSON path syntax.
- Test the API request.
- Preview the JSON response.
- Select a value to automatically generate the correct JSON path.
In both the Configuration and Test API views, you can:
- Create variables with user-friendly names. Each variable corresponds to a single piece of data in the API response (for example, artist name or copyright status).
Example names: artistcopyrightdepartment-
usageTerms
- Save these variables so they become temporary variables that the rest of the workflow can use. The node itself doesn't write metadata; it just collects and names the data.
Using the API variables in other nodes
Variables created in the API request node can be used in subsequent nodes.
Example - Edit metadata
You can use the API values to automatically fill fields such as:
- Artist/Photographer
- Credit line
- Rights/Usage terms
- Department/Collection
Example - How to insert API variables in the Edit metadata node
In the Edit metadata node:
- Select Insert field
. - Select the API Variables from the View dropdown list.
- Select the variable you mapped earlier.
- Select Insert.
All variables defined in the API request node will appear in this selector. For each piece of data you want from the response, add a variable name and provide a JSONPath.
Example workflow - Metadata enrichment
Learn how to retrieve metadata details from an external API and write them into Fotoware metadata fields.
API request node
• Method: GET
• URL: https://api.example.com/assets/{{asset.metadata:20}}
• Mappings:JSON PathVariable$.data.ownerapi_owner$.data.locationapi_location
Edit metadata node
Insert variables:
• Owner: {{api_owner}}
• Location: {{api_location}}
Result
The workflow retrieves additional data and automatically enriches the asset metadata.
Using dynamic values in the API URL
You can insert metadata values from the asset directly into the API request node.
This allows the request URL, headers, or body to change depending on the asset being processed.
Example URL:
https://api.example.com/assets/{{asset.metadata:20}}{{asset.metadata:20}} is a dynamic placeholder that Flow replaces at runtime. asset.metadata tells Flow to use a metadata field from the current asset
:20 indicates which metadata field to use (field ID 20)
The value stored in metadata field 20 will be injected into the URL before the request is sent.
Why this is useful
This makes the API request dynamic and asset-specific.
For example, if metadata field 20 contains an external ID, Flow will automatically request:
https://api.example.com/assets/12345 for one asset
https://api.example.com/assets/98765 for another