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.
A valid OpenAPI account with relevant permissions.
A document containing all the information required by the Snap. You can add the second input view to supply the OpenAPI specification.
JSON Formatter + File Writer
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.
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.
Read Employee List
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:
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
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'
OpenAPI base URL
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.
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.
Required. Specify the HTTP methodto 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.
Select this checkbox to enable the snap to pass the input document to the output view under the key original.
Display headers for Get
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.
Number of retries
Enter the maximum number of retry attempts in case of a failure in execution.
Retry interval (seconds)
Specify the minimum number of seconds to wait before the next retry.
Trust all certificates
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.
Enable URL Encoding
Select this checkbox to automatically encode the URL of the request path.
Add HTTP header key-value pairs. This field set contains the following fields:
Specify the key name for HTTP Header.
Specify the value for HTTP Header key.
Add query parameters to the request URL. They are appended to the HTTP request URL.
This field set contains the following fields:
Enter the name of the Query Parameter
Enter the value of the Query Parameter
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:
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.
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
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 executionwithout generating preview data.
Disabled. Disables the Snap and all Snaps downstream from it.
Validate & Execute
Fetching Pet Information by Status
We want to retrieve a list of all the available pets in the pet store. This Pipeline demonstrates how we can use the OpenAPI Snap to accomplish this task:
We must query the status parameter with the available value to view a list of all pets with the available status. We pass this value to the $parameters.query.status parameter in the OpenAPI specification using a Mapper Snap configured as shown below:
Based on the above configuration the Mapper Snap maps the value available to the $parameters.query.status parameter as shown in the Mapper Snap's output below:
We configure the OpenAPI Snap to call the pet store's API using the OpenAPI specification, base URL, OpenAPI path, and operation type as shown below:
Upon successful execution, the OpenAPI Snap retrieves the information from the endpoint as shown in the Snap's output preview below:
This is how we can retrieve information based on specified parameters using the OpenAPI Snap. Additionally, we can add a JSON Formatter and File Writer downstream of the OpenAPI Snap to write the above output into a local file.
Pass through checkbox that allows you to pass input data to the output under Original key.
Trust all certificates checkbox that allows you to use self-signed certificates.
Enable URL Encoding checkbox that allows automatic URL encoding of the request path.
Support for external files referenced in the OpenAPI specification field.
Enhanced the Base URL field in the OpenAPI Snap to support suggestions associated with OpenAPI Specifications.
Added Dynamic OAuth2 account that enables OAuth authentication for OpenAPI Snap.
Upgraded with the latest SnapLogic Platform release.
Fixed an issue in the OpenAPI OAuth2 account that caused a new feature, OAuth Password Grant Type to be excluded from the GA version. The latest deployed build includes this feature.
Enhanced OpenAPI OAuth2accounts with a new option password for Grant Type to obtain an access token through user credentials. On selecting password, the Snap populates the Username and Password fields to enter the credentials.
Upgraded with the latest SnapLogic Platform release.
Enhanced the OpenAPI Snap by adding the following two settings:
Adds Send Client Credentials as Basic Auth Header checkbox in the Create Account settings. You can select this checkbox when you want to send the client information as a header to the OAuth endpoint.
No updates made.
No updates made.
Introduces the OpenAPI Snap Pack to enable you to connect to your OpenAPI endpoints. This Snap Pack supports OpenAPI Specification versions 2.0 and 3.0.