OpenAPI

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.

Snap views

View Description Examples of upstream and downstream Snaps
Input A document containing all the information required by the Snap. You can add the second input view to supply the OpenAPI specification.
Output
  • 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.
Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution Stops the current pipeline execution when an error occurs.
  • Discard Error Data and Continue Ignores the error, discards that record, and continues with the remaining records.
  • Route Error Data to Error View Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap settings

Legend:
  • Expression icon (): Allows using pipeline parameters to set field values dynamically (if enabled). SnapLogic Expressions are not supported. If disabled, you can provide a static value.
  • SnapGPT (): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
  • Suggestion icon (): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
  • Upload : Uploads files. Learn more.
Learn more about the icons in the Snap settings dialog.
Field / Field set Type Description
Label String

Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline.

Default value: OpenAPI

Example: Read Employee List
OpenAPI specification String/Expression

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

Note: This Snap supports external files referenced in this field and gets the data from the referenced files upon connecting to the file location. For example, $ref: 'reference to definition'

Default value: N/A

Example:
  • 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 refer to the target OpenAPI server documentation for the accuracy of the suggestion.

Default value: N/A

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

OpenAPI path String/Expression/ Suggestion

Required. Enter the path defined for the given OpenAPI URL.

Alternatively, click the icon 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.

Default value: N/A

Example: /pet/{petId}
Operation String/Expression/ Suggestion

Required. Specify the HTTP method to run on the endpoint.

Alternatively, click the icon 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.

Default value: N/A

Example: get

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

Default status: 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.

Default status: Deselected

Number of retries Integer/Expression Enter the maximum number of retry attempts in case of a failure in execution.

Default value: 0

Example: 3

Retry interval (seconds) Integer/Expression Specify the minimum number of seconds to wait before the next retry.

Default value: 1

Example: 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.

Default status: Deselected

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

Default status: Deselected

HTTP Headers

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

  • Headers
  • Values
Headers String/Expression Specify the key name for HTTP Header.

Default value: N/A

Example: filters

Values String/Expression Specify the value for HTTP Header key.

Default value: N/A

Example: 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.

Parameters String/Expression Enter the name of the Query Parameter.

Default value: N/A

Example: APIKey

Values String/Expression Enter the value of the Query Parameter.

Default value: N/A

Example: 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.
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.

Default value: N/A

Example:

Has next

Next URL

Values Integer/Expression Enter the values to use for the additional parameters that you specify above.
Warning: Even if you do not specify any values for the above parameters, the Snap will use the default values at runtime.
Default value:
  • 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
Example:
  • 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 Dropdown list
Choose one of the three modes in which the Snap executes. Available options are:
  • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, 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 that are downstream from it.

Default value: Validate and Execute

Example: Execute only

Examples