OpenAPI

OpenAPI

In this article

Overview

Use this Snap to call the OpenAPI endpoint associated with your application. You can perform operations, such as GET or PUT, upon the endpoint based on the endpoint's configuration to accomplish the following tasks:

  • Download and process the endpoint's OpenAPI specification.

  • Provide the input schema suggestions for a selected base path and operation.

  • Prepare and execute HTTP requests and process HTTP responses.

 

Prerequisites

  • A valid OpenAPI account with relevant permissions.

  • A valid OpenAPI specification.

Support for Ultra Pipelines

 

Works in Ultra Pipelines

Limitations

None.

Known Issues

None.

Snap Input and Output

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 2

  • Mapper

  • JSON Parser

A document containing all the information required by the Snap. You can add the second input view to supply the OpenAPI specification.

Output

Document

  • Min: 0

  • Max: 2

  • JSON Formatter + File Writer

  • Mapper

  • The HTTP response for the specified operation in the first output view. 

  • Parts and referred objects of the specification related to the selected path and operation in the second output view.

Snap Settings

Parameter Name

Data Type

Description

Default Value

Example 

Parameter Name

Data Type

Description

Default Value

Example 

Label

String

Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

OpenAPI

Read Employee List

OpenAPI specification

String

Enter the URL for the OpenAPI specification JSON or YAML file. Alternatively, upload the OpenAPI specification file to the SLDB by clicking the

 button. 

Supported file protocols are:

  • http://

  • https://

  • sldb:///

Syntax for file path in SLDB:

  • Same project as the Pipeline:
    sldb://<filename>.json
    sldb://<filename>.yaml
    <filename>.json

  • Different project:
    sldb://<project_space>/<project>/<filename>.json
    sldb://Docmentation/OpenAPI/openapi.json

N/A

https://petstore3.swagger.io/api/v3/openapi.json

sldb:///openapi.json

openapi.json

OpenAPI base URL

String/Suggestion

Required. Enter the OpenAPI base URL for the HTTP request. The Snap appends the base URL with the OpenAPI path field's value to form the full URL.

Alternatively, click the

icon to select the OpenAPI base URL for the HTTP request. The Snap suggests the Base URL associated with the OpenAPI specification. We recommend you to refer to the target OpenAPI server documentation for the accuracy of the suggestion.

N/A

https://petstore3.swagger.io/api/v3

OpenAPI path

String

Required. Enter the path defined for the given OpenAPI URL. Alternatively, click the 

 to retrieve a list of available paths based on the value in the OpenAPI specification field. However, Snap suggestions work only when the OpenAPI specification field's value is not a Pipeline/upstream parameter.

N/A

/pet/{petId}

Operation

String

Required. Specify the HTTP method to run on the endpoint. Alternatively, click the 

 to retrieve a list of available operations based on the value in the OpenAPI specification field. However, Snap suggestions work only when the OpenAPI specification field's value is not a Pipeline/upstream parameter.

N/A

get

Pass through

Checkbox

Select this checkbox to enable the snap to pass the input document to the output view under the key original.

Selected

Deselected

Display headers for Get

Checkbox

Select this checkbox to display headers data for the Get request similar to Post requests, else the Snap displays all the entities directly in the output.

Deselected

Selected

Number of retries

Integer

Enter the maximum number of retry attempts in case of a failure in execution.

0

3

Retry interval (seconds)

Integer

Specify the minimum number of seconds to wait before the next retry.

1

3

Trust all certificates

Checkbox

Select this checkbox to trust all certificates, such as self-signed certificates. Deselect this checkbox when there is a third-party signed certificate to be separately authenticated.

Deselected

Selected

Enable URL Encoding

Checkbox

Select this checkbox to automatically encode the URL of the request path.

Deselected

Selected

HTTP Headers

Add HTTP header key-value pairs. This field set contains the following fields:

  • Headers

  • Values

Headers

String

Specify the key name for HTTP Header.

N/A

filters

Values

String

Specify the value for HTTP Header key.

N/A

firstname==johnny

Query Parameters

Add query parameters to the request URL. These parameters are appended to the HTTP request URL.

Query parameters defined here will not be used if those parameters are defined as part of the OpenAPI specification.

This field set contains the following fields:

  • Parameters

  • Values

Parameters

String

Enter the name of the Query Parameter

N/A

APIKey

Values

String

 Enter the value of the Query Parameter

N/A

84rhsfdfy8vgioavgf

Advanced properties

Use this field set to specify additional parameters for the intended operation. Most of these parameters control how you display the output, for example, Pagination interval (seconds) and Maximum pages. Specify each parameter as a separate row. Click 

 to add a new row.

This field set consists of the following fields:

  • Properties

  • Values

Properties

String

Select and specify additional parameters for the intended operations upon the endpoint. 

Available options are:

  • Has next. Enter an expression that is evaluated with the output document to true or false indicating whether the Snap must get the next page. Depending on the server implementation, the hasNext information is contained in the response headers or entity. The value of this parameter must be expression-enabled. The Snap stops the pagination when this parameter is evaluated to false or the number of pages reaches the Maximum pages parameter value.

  • Next URL. Enter an expression that is evaluated with the output document to a URL that the Snap uses to get the next page. Depending on the server implementation, the next page URL information is contained in the response headers or entity. The value of this parameter must be expression-enabled.

  • Pagination interval (seconds). The number of seconds for the Snap to wait before attempting to get to the next page.

  • Maximum pages. The maximum number of pages to download. Use -1 is for unlimited pagination.

  • Enable process array. If the schema of the response entity is expected to be an array as specified in the endpoint’s OpenAPI specification, the Snap parses the array and writes a stream of output documents to the output view without other HTTP response data such as status line or headers. You can also disable this Snap behavior by entering false for this parameter.

  • Multipart file content key. The key name used for the file content in the input data and the multipart form-data.

  • Multipart filename key. The key name used for the filename in the input data and the multipart form-data.

N/A

Has next

Next URL

Values

String/Integer

Enter the values to use for the additional parameters that you specify above.

Even if you do not specify any values for the above parameters, the Snap will use the default values at runtime. 

 

 

Has next. None

Next URL. None

Pagination interval. None

Maximum pages. -1 (for unlimited pagination)

Enable process array. true

Multipart file content key. file

Multipart filename key. name

  • Has next.
    $entity.['has-more']
    $entity.nextPageToken != null

  • Next URL.
    https://petstore3.swagger.io/api/v3/pet/findByStatus?status=sold&offset=" + $entity.offset 

  • Pagination interval. 3

  • Maximum pages.
    10, -1

  • Enable process array. false

  • Multipart file content key. uploadFile

  • Multipart filename key. filename

Snap Execution

String

Select one of the three following modes in which the Snap executes:

  • Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation, then performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled. Disables the Snap and all Snaps downstream from it.

Validate & Execute

Execute only