Skip to main content
Feedback

OpenAPI (legacy) connector known limitations

The following known limitations affect the OpenAPI connector.

Formats

Only JSON format is supported with this connector. XML format is not supported.

Steps

Currently, only the following steps are supported for performing CRUD operations on API source data using the connector:

Message steps are not currently supported for use with this connector.

Nested types

The OpenAPI connector works with nested types by using recursion while parsing an OpenAPI schema definition. This results in nested types being namespaced as described above (ArtistObject:genres). This namespacing can also recurse and have multiple parent objects, for example, ArtistObject:track:genres. In most cases this is unnecessary and indicates that likely an x-flow-type extension could be added to the definition of the track property, if it is an object, to avoid the long namespaced name.

If the connector encounters a nested object which has been decorated with an x-flow-type extension then it will not namespace the property, as it will correctly identify the property as being of a top level type.

For example, AlbumObject is decorated with x-flow-type and has an images property which is a list of ImageObject, the property will retain the name images and be identified as a ContentList of type ImageObject as long as the ImageObject definition within the schema was also decorated with an x-flow-type extension. This avoids the scenario where the resulting type would be an AlbumObject:images type, which could result in duplicate types if the ImageObject also appears nested elsewhere.

Objects without an ID

In certain interactions with the connector where Flow expects an external ID, if this is not present on a given response, a GUID ID will be generated.

OneOf keywords

In the OpenAPI document schema, a response from an API request may be defined as one of a collection of objects. In this scenario, as Flow requires strictly defined types, the connector will generate a property for each possible response.

For example, in the case of a PlaylistTrackObject being able to return a TrackObject or an EpisodeObject for it's track property:

1   track:
2 description: Information about the track or episode.
3 oneOf:
4 - $ref: "#/components/schemas/TrackObject"
5 - $ref: "#/components/schemas/EpisodeObject"

The connector will generate two properties on the PlaylistTrackObject, track-TrackObject and track-EpisodeObject.

When a response from this endpoint is received by the connector it will populate the property with the object that matches the most properties.

Response headers

Expected response headers are not supported with this connector.

Scalar arrays

As scalar arrays are not supported in Flow, an object will be created for any scalar arrays found in the API. A type will be a list containing an object with ID and Value properties.

To avoid name clashes for types created in this scenario, a new type is created and given a namespace of the parent object, such as ArtistObject:genres for example.

Server URL

Only one absolute server URL is supported, for example:

url: https://api.spotify.com/v1

Environments or segmented URLs are not supported, such as:

url: "@@@SCHEMA@@@://@@@HOSTNAME@@@/api/rest/v1/{accountId}"

Tables

Data cannot be loaded directly into a table, and an error is shown in this instance.

On this Page