REST Get

In this article

Overview

You can use the REST Get Snap to execute an HTTP Get method on a REST API service endpoint. 

Prerequisites

None.

Supported Features

Works in Ultra Tasks.

Limitations and Known Issues

The REST GET Snap Link HTTP response header maybe be malformed compared to other third-party applications like POSTMAN.

Snap Views

View Type

View Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 0

  • Max: 1

  • Mapper

  • Script

  • Router

Each input document offers details associated with the data required from the target RESTful server.

Output

Document

  • Min: 0

  • Max: 1

  • JSON Splitter

  • JSON Formatter

  • Join

Each output document contains data retrieved from the RESTful web server.

If the Snap fails during the operation, it sends an error document to the error view containing the fields error, reason, resolution, and stacktrace. However, you must enable the Error view to view the error document.

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 while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current pipeline execution when the Snap encounters an error.

  • 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

Field Name

Field Type

Description

Label*


Default ValueREST Get
ExampleGet User Details

String

Specify a unique name for the Snap.


Service URL*


Default Value: N/A
Examplehttps://elastic.snaplogic.com/api/1/rest/
public/runtime/snaplogic?
start=1430377200000&end=1430420399000

String/Expression

Specify the service endpoint URL of REST API. You can provide the URL in one of the following ways:

  • As a JavaScript expression in expression language.

For example: http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/S3Account/'+encodeURIComponent("Special_char_owner_!3)12.json")

  • As a plain string that you should enclose in double quotes ("").

For example: "https://www.example.com/slm/webservice/v2.0/defect/%s".replace("%s", $.widg et.id)

For Snaps using AWS Signature V4 accounts, you can use the canonical name (CNAME) for the URI so it's not necessary for the URL to end with amazonaws.com or have the region and service provided in it. However, if you are using the CNAME you must provide it in the AWS Region and Service Name fields in the AWS Signature V4 account.

The host name in the CNAME must be equal to the bucket name.

For example:
Previous URI: https://jsmith-bucket.nia3.snaplogic.net.s3.us-west-1.amazonaws.com/HttpClientTest/test1

New URI with CNAME: https://jsmith-sltest.nia3.snaplogic.net/HttpClientTest/test1

Here, the bucket name is jsmith-bucket.nia3.snaplogic.net

The Snap finds the value at the JSON path $.widget.id in the input data and replaces "%s" in the Service URL with the value. You can connect File Reader and JSON Parser Snaps upstream of a REST Put Snap and prepare the following JSON file for the File Reader Snap:

The Service URL for a REST snap must be valid. If the Service URL contains any special characters, such as !, =, %21, $, and ^, the Snap throws an exception error. You can escape the special characters (using expression language) with one of the following methods:

  • Use the global function encodeURIComponent on any variables that might contain special characters so that they are encoded properly.

For example: http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/S3Account /'+encodeURIComponent(_fileName)

  • If you are aware of the code, use the code directly in the Service URL field.

For example (where <%213%2912> is the code):

http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/S3Account /Special_char_owner_%213%2912.json

We recommend that you use the encodeURIComponent method to escape the special characters.

Process array


Default ValueDeselected

Checkbox

Select to produce a stream of documents with one record in each document. 

  • If the Process Array property is selected, it takes a response that’s an array [{"value": 1}, {"value": 2}] and provides the individual inner json as separate documents. If the content provided doesn’t parse with the provided Content-Type, the snap will error.

  • If the Process Array property is not selected, the Snaps attempts to convert the entity to a string or a byte array depending on the response headers. 

Trust all certificates


Default ValueDeselected

Checkbox

Select this checkbox to trust all certificates, such as self-signed certificates.  

Follow redirects


Default Value: Selected

Checkbox

Select this checkbox to enable the Snap to follow redirects.

  • If you select this checkbox, the Snap receives a redirect response, such as a 301 or 302 response code, it sends another request to the URL specified in the response Location header.
  • If you deselect this checkbox, the Snap does not make another request, and the 301/302 response appears in the output view.

Query parameters


Default Value: N/A
Example$User

Use this field set to add query parameters to your request. This field set comprises the following fields:

  • Query parameter
  • Query parameter value


Query parameter


Default ValueN/A
Example: id

String

The name of the query parameter.


Query parameter value


Default Value: N/A
Example$widget.id

String/Expression

The value that you want to assign to the parameter.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

HTTP Header

Use this field set to create the HTTP header key-value pairs required for defining the headers for different types of input (JSON, PDF, DOCX, and so on). If you want to specify only content-type headers, you can configure the Multipart Content-Type property instead. This field set comprises the following fields:

  • Key
  • Value

Key


Default Value: N/A
Examplecontent-type

String/Expression

The name of the HTTP header.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

Value


Default Value: N/A
Exampleapplication/json

String/Expression

The value that you want to assign to the HTTP header.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

Response entity type


Default ValueDEFAULT
ExampleTEXT

Dropdown list

Select one of the following response entity types you want the Snap to display in the output document.:

  • DEFAULT - Select this option to enable the Snap to process the response automatically. The response entity is processed automatically based on the Content-Type header in the response. If the content provided does not parse with the provided Content-Type, the snap will result in an error.
    The following two scenarios describe the Snap’s behavior when using the Process Array checkbox::

    • When you select the Process Array checkbox, the Snap parses JSON or XML and produces a stream of documents at the output view.

    • When you deselect the Process Array checkbox, the Snaps sends the data as it is at the output view.   

  • TEXT - Select this option to enable, the Snap to produce an entity of string type.

  • BINARY - Select this option to enable the Snap to produce an entity of byte array type.

If you select TEXT or BINARY, the Snap does not parse the entity content. If you select DEFAULT, the Snap produces the expected result in most cases, but if it fails to process as expected, you can set the Response entity type to TEXT or BINARY.

Cookie Policy


Default Value: Ignore Cookies
Example: RFC Strict

Dropdown list

Select a Cookie Policy from the following options:

  • Browser Compatibility: This policy is compatible with different servers even if they are not completely standards-compliant. If you are facing issues while parsing cookies, you should try using this policy.

  • Ignore Cookies: This cookie policy ignores all cookies. You should use this policy to prevent HTTP Client from accepting and sending cookies.

  • RFC Strict: This policy uses the set-cookie header

  • RFC Lax: The policy uses set-cookie and set-cookie2 for parsing.

Read timeout


Default Value: 900
Example: 60

Integer

Specify the number of seconds for which the Snap waits before aborting the request due to a failure to read from the target service.

  • In some cases, the request does not return, such as during network issues. For those a timeout can be configured to allow failing fast. 
  • Every Snap instance can have its own timeout settings.
  • The Snap will execute five retries within a couple of seconds back-off time before it fails.

Connection timeout


Default Value: 30
Example60

Integer

Specify the number of seconds for which the Snap waits before aborting the request due to a failure to establish a connection to the target endpoint or service.


Maximum request attempts 


Default Value5
Example3

Integer

Specify the maximum number of attempts that the Snap must make to receive a response. If the attempts do not result in a response, the Snap terminates the request.


Retry request interval


Default Value3
Example10

Integer

Specify the time in seconds to wait before retrying the request.

Retry Policy


Default ValueConnection errors
ExampleAll errors

String

Select how you want to handle connection and error responses from the following options:

  • Connection errors: Occurs when a client fails to establish a secure connection to the server.

  • Connection and auth errors (401/403): Occurs when either the user authorization fails or access to the page/resource is forbidden.

  • Connection and client errors (4xx): Occurs when the request for the resource contains bad syntax or when the resource is not found (404).

  • Connection and server errors (5xx): Occurs when the server is unable to complete a request.

  • All errors: Applies to all of the above-listed errors.

Normalize URL

Checkbox

Select this checkbox to normalize the Service URL. This enables the Snap to convert double slashes (//) in the URL path to single slash (/).
For example,
https://example.com/path//to//file is converted to https://example.com/path/to/file.

Deselecting this check box reverts the Snap to 4.19 Snaplex behavior, wherein the URL paths were not normalized by default.

In the 4.20 Release, due to the HTTP client upgrade the URL paths were normalized by default. Hence, there was a change in behavior in handling the URL paths in 4.20 release when compared to 4.19. This change in behavior should not impact the existing Pipelines, because most of the websites map URL paths with double or single slashes to the same endpoint. For example, https://snaplogic.com/company/diversity and https://snaplogic.com//company//diversity direct to the same endpoint. Therefore, we recommend you to select the Normalize URL checkbox.

However, an exception to this is when you use non-standard URLs that differentiate the URL paths containing double slashes from those with single slashes and map them to different endpoints, in which case you must deselect Normalize URL check box. 
For example, http://host/pages/foo.html and http://host/pages//foo.html point to different URIs, and servers assign different meanings to them.

Default ValueSelected
ExampleDeselected

Has next


Default Value: N/A
Example$entity['has-more']

String/Expression

Enter the expression that must be evaluated on the output document to true or false, to indicate whether there are more records available. The Snap continues to read the next page until this expression evaluates to false in the new set of output documents.

Has next is a property in the API response that indicates whether there are more records to be fetched. This property is used for the REST Get pagination feature, which retrieves 20 records at a time (referred to as a page), by default. Learn more about REST Get#RESTGetPagination.

To see this property in action, see Retrieving Contact Information from HubSpot or Retrieving Contact Information from HubSpot Using Upstream Values, below.

This field is null-safe; if the evaluated value is null, or if there is no value provided in Has next field, the Snap stops the pagination.

Next URL


Default ValueN/A
Example: $entity['has-more']

String/Expression

Enter the expression that is evaluated on the output document to a URL that the Snap must use to get the next page. This property is used for the REST Get pagination feature.

The Next URL has two components, which are structured as follows:
"<endpoint_URL>&<offset_indicator>=" + $entity['last_ID_retrieved']

  • The first component contains the URL of the endpoint and an instruction to look for the offset indicator. ("<endpoint_URL>&<offset_indicator>=").

  • The second component is a pointer to the parameter in the API response that contains the ID of the last entity retrieved. This tells the endpoint that the next page must contain entities that are returned after the entity number listed in the Next URL.

You can create the Next URL in either of the following ways:

  • You can enter the entire URL in the expression and include the parameter required to fetch the next set of documents.
    Example: "https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=demo&vidOffset=" + $entity['vid-offset']

  • If you have the URL part of the Next URL as an input from an upstream Snap, you can structure the Next URL expression using the original parameter in the API response received. 
    For example, if you have the following input coming from upstream:

    You can configure the Next URL field as follows:

    Here, vid-offset is the API response parameter containing the ID of the last output received from the endpoint.
    If the API response does not contain a field with information about the last entity retrieved, you can use the Snap's output document count to fetch the next page.
    For example, <https://domain.com/object/page/' + (snap.out.totalCount + 1).toString()>

For additional information, see Retrieving Contact Information from HubSpot or Retrieving Contact Information from HubSpot Using Upstream Values.

The Next URL is evaluated as an expression but not encoded, which is the general behavior of the Snap.

Pagination interval(s)


Default Value0
Example10

Integer

The number of seconds for the Snap to wait before attempting to get the next page.


Show all headers


Default ValueDeselected

Checkbox

The REST endpoint may return a response with multiple headers with the same header name.

  • If this property is deselected, only one response header will be shown in the output document.
  • If selected, the response header displays all the response header values received as a list of objects.

If any of these objects has a key-value format, it is parsed into the map data.

Snap Execution


Default ValueValidate & Execute
ExampleValidate & Execute

String

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

  • 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.


REST Get Pagination

When making REST API calls to a specific endpoint using the GET method, there might be a lot of results to return. We use the pagination settings to fetch all the records/documents on multiple pages. For example, if the GET API call returns 20 documents by default, to get all other pages/records, we use Has Next field and get the list of all records until the last record.

Using REST Get to Process gzip Compressed Data

The response can provide gzipped data. In that case, the Snap can be configured to process it using the header parameter:

HTTP Header

 Key

 Value

 Accept-Encoding

 gzip    

 Accept

 */*

The stream is then uncompressed while parsing the data and making it available on the output view.

Troubleshooting

Error

Reason

Resolution

Failed to execute HTTP request.

The Service URL must have a protocol, such as http://, https://.

Check the Snap properties. Specifically, check your entry in the Service URL field.

<Service_URL>: Name or service not known. This basically means that the service URL you entered is not accessible.

Failure: Validation errors: property_map.settings.serviceUrl.value: Could not compile expression: <Service_URL>

The snap settings are not correct. Encountered extraneous input ':' at line 1:5; expecting={<EOF>, '||', '&&', '^', '==', '!=', '>', '<', '>=', '<=', '+', '-', '*', '/', '%', '?', 'instanceof', 'in', 'matches', '[', '(', '.', PropertyRef}.

This means that you have turned expressions on () while entering string value into the Service URL field.

Fix the snap configuration and try executing again. Please check expression syntax. Ensure that your service URL is a proper expression; or turn off the expression control (). 

For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions.

URL Parse Exception - 403

The Service URL path might be containing any of the following special characters:
!, =, %, #, $, ^&()_¢äâêîôûñç¡¿ÉÙËǨ°¸ðø©¢¾A+²½µ®§÷¶þ 

To escape the special characters, use the global function encodeURIComponent on any variables that might contain special characters so that they are encoded properly.

Too many Requests - 429

There are too many requests to REST endpoint.

Wait for the retry to succeed.

Rest related Snaps extract the response header and automatically retry when they encounter status 429.

By default, the retry interval (Retry-After) is specified in the HTTP response header. If no value is available for Retry-After, then the Snap’s Retry Interval value is used.

Examples

Retrieving Contact Information from HubSpot

In this example, we use the Has next field to retrieve the list of users created most recently in HubSpot, then separate the user information from the other details in the API response.

Download this Pipeline

Step 1: Configure the REST Get Snap to retrieve user information from HubSpot. Configure the REST Get Snap without the Pagination details - Has Next and Next URL.

Step 2: Validate the Snap. The Snap displays the output with only 20 records and has more value as true indicating that there are more records.

Step 3: Next, configure the Has Next and Next URL fields as follows:

REST Get configuration details: The following configuration details are key to understanding this example:

Field

Value

Description

Service URL

https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=demo

This is a demo API offered by HubSpot, which returns details of all contacts created in the demo account, in descending order. This API only scrolls back 30 days in time.

Has next

$entity['has-more']

The REST Get Snap lists 20 documents by default. If there are more contacts created during the 30 days preceding the call, this API returns true for the key has-more.

Next URL

"https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=demo&vidOffset=" + $entity['vid-offset']

This is the URL that the Snap calls to retrieve the next set of 20 documents. In this URL, vid-offset is the ID of the last user whose details were retrieved in the preceding call. For example, if the ID of the last user in the API response is 12345, then that will be the value of the vid-offset parameter.

Step 4: Execute the Snap—it lists out API response entities in sets of 20, until the last contact information is listed out, and the has-more field changes to false:


Step 5: Configure the JSON Splitter Snap. The output from the REST Get Snap contains a lot of details, but for this example we only want user details, which are available in the entity.contacts array in the API response. Use the JSON Splitter Snap to isolate the information.

The output of the JSON Splitter Snap contains only the information we need:

Download this Pipeline

Retrieving Contact Information from HubSpot Using Upstream Values

In this example, we use values from the upstream Snap in the Has next property of the REST Get Snap to retrieve the list of users created most recently in HubSpot.

Download this Pipeline

Step 1: Configure the JSON Generator Snap. Enter the endpoint URL as follows:

Execute the Snap—it gets the following output:

Step 2: Configure the REST Get Snap to retrieve user information from HubSpot.

The following configuration details are critical to understand this example:

Field

Value

Description

Service URL

https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=demo

This is a demo API offered by HubSpot, which lists out a few details of their most recently created users in descending order. This API only scrolls back 30 days in time.

Has next

$entity['has-more']

The Get all contacts API offers 20 documents by default. If there are more contacts created during the 30 days preceding the call, this API returns true for the key has-more.

Next URL

$original.url+ "=" + $entity['vid-offset']

This is the expression that uses the value received from the upstream JSON Generator Snap to create the URL that the Snap calls to retrieve the next set of documents. In this URL, vid-offset is the ID of the last user whose details were retrieved in the preceding call. For example, if the ID of the last user in the API response is 12345, then that will be the value of the vid-offset parameter.

Step 2: Execute the Snap. It lists out API response entities in sets of 20, until the last contact information is listed out, and the has-more field changes to false.

Download this Pipeline

Connecting to the SnapLogic API

You can use the REST Get Snap to get information from the Pipeline Monitoring API. For example, to return the status of executed pipelines for the specified time within the org Snaplogic, the GET statement of GET https://elastic.snaplogic.com/api/1/rest/public/runtime/snaplogic?start=1430377200000&end=1430420399000 can be passed through the REST Get Snap as shown below:

Connecting to Rally with REST

See the Use Case example Pipeline: Connecting to Rally with REST.

Example #3: REST Snap Pack

The REST Get Snap in the above example pipeline gets the data for a JIRA issue created and updated in the preceding Snaps in the pipeline.

 
The following JSON data is the input document to the Snap:


Click this link to see the output provided by the Snap: Output Data 

REST Get Pagination: Eloqua

For Eloqua, set:

  • Has Next: ($total - ($page*$pageSize)) > 0

  • Next URL: “/assets/campaigns?count=2&page=” + (resultdoc.page +1)

REST Get Pagination: Marketo

For Marketo, set:

  • Has Next: resultdoc.moreResult

  • Next URL: “/rest/v1/activities.json?nextPageToken=” + resultdoc.nextPageToken + ”&activityTypeIds=1&activityTypeIds=12”

REST Get handles multiple response cookies

In this Pipeline, we request for a service URL 'https://mockbin.com/bin/f580f547-310a-44da-bec2-e43890eebe26' using the Rest Get Snap, where the REST endpoint returns the HTTP response with multiple cookies under the same header. We connected the JSON Splitter Snap to view the cookies under the header 'set-cookie'.

We enter the JSON Path as $headers['set-cookie'] in the JSON Snap

The successful execution of the Pipeline displays the below output view in which we can see the two cookies, {JSESSIONID:first, Path:/} and {ORA_OD_OSI:second, Path:/} respectively under the header'set-cookie'.


Example Output to demonstrate when Process Array is Deselected


The following example demonstrates how the Snap displays the output when you deselect the Process array checkbox.

Configure the REST Get Snap as follows:

Validate the Snap. The Snap displays the data as-is in the output.

Example Output to demonstrate when Process Array is Selected

The following example demonstrates how the Snap displays the output when you select the Process array checkbox.

Configure the REST Get Snap as follows:

Validate the Snap. The Snap parses the JSON input and displays the output as follows:

Downloads

Important steps to successfully reuse Pipelines

  1. Download and import the pipeline into the SnapLogic application.
  2. Configure Snap accounts as applicable.
  3. Provide pipeline parameters as applicable.

  File Modified

File REST Get Pagination for Hubspot.slp

Apr 06, 2017 by Diane Miller

File RESTGet_Pagination_Hubspot_UpstreamURL.slp

Jan 10, 2020 by Rakesh Chaudhary

File RESTGet_Pagination_Hubspot_FullURL.slp

Jan 10, 2020 by Rakesh Chaudhary

File REST Snap Pack.slp

Nov 15, 2022 by Kalpana Malladi

Snap Pack History

 Click to view/expand

​

Release

Snap Pack Version 

Date

Type

Updates

August 2024

main27765

 

Stable

Upgraded the org.json.json library from v20090211 to v20240303, which is fully backward compatible.

May 2024437patches26522 Latest

Enhanced the REST OAuth2 Account with Snaplex support for executing OAuth2 operations.

May 2024

main26341

 

Stable

Updated and certified against the current SnapLogic Platform release.

February 2024main25112 StableUpdated and certified against the current SnapLogic Platform release.
November 2023main23721 StableUpdated and certified against the current SnapLogic Platform release.

August 2023

main22460

 

Stable

Updated and certified against the current SnapLogic Platform release.

February 2023main21015 StableUpgraded with the latest SnapLogic Platform release.
February 2023432patches20054Latest

For Snaps using AWS Signature V4 accounts, DNS canonical names are now supported for S3 buckets. 

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022main18944 StableUpgraded with the latest SnapLogic Platform release.
September 2022430patches17851 LatestThe REST Post Snap now works without displaying any errors when the Show all headers checkbox is selected and the Content-type is text/xml or application/xml.
August 2022430patches17684 Latest

The REST AWS Sig v4 Account is now enhanced with the AWS Region and Service Name fields that enable the Snap to support Virtual Private Cloud (VPC) endpoint.

August 2022main17386 Stable
  • You can set cookie policy specifications using the Cookie Policy dropdown list in REST Snaps .

  • Support for auto-retries where the REST Snaps automatically retry when they encounter 429 HTTP status code - Too Many Requests error.

  • The REST AWS Sig v4 Account supports:

    • Passing AWS Security Token Service (STS) temporary credentials in the Security Token field.

    • Expression values for Access-key ID and Secret Key fields.

  • Improved the performance of REST Snaps when the Snaps encounter Unauthorized (401) or Forbidden (403) errors even when the user credentials are available in the organization and the account type is OAuth2.

4.29  Patch

429patches17084

 Latest
 Learn more

Cookie Policy: The Cookie Policy to select from the following options:

BROWSER COMPATIBILITY: This policy is compatible with different servers even if they are not completely standards-compliant. If you are facing issues while parsing cookies, you should try using this policy.

IGNORE COOKIES: This cookie policy ignores all cookies. You should use this policy to prevent HTTP Client from accepting and sending cookies.

RFC STRICT: All servers that handle version 1 cookies should use this policy.

RFC LAX: The original cookie specification which formed the basis for RFC2109.

  • Added a new field Security Token in the REST AWS Sig v4 Account to support AWS Security Token Service (STS) for using temporary credentials.

  • Enhanced the REST AWS Sig v4 Account to support expression values for Access-key ID and Secret Key fields.

4.29  Patch429patches16076 Latest
  • Enhanced the REST Snaps with support for auto-retry where the Snap retries automatically when the Snap encounters 429 HTTP status code - Too many requests error.
  • Improved the performance of REST Snaps when the Snaps encountered errors due to Unauthorized (401) or Forbidden (403) statuses though the user credentials are available in the organization and the account type is OAuth2.
4.29main15993 Stable

Added the REST In-memory OAuth2 Account type with Client Credentials Grant Type that supports and stores the access token in memory for reuse until it expires. When the Snap encounters 401 or 403 errors, this account generates a new token after refreshing the cache.

4.28  Patch428patches15172 Latest

Fixed an issue that caused REST SSL accounts to fail when the username in the REST SSL Account was null and the Enhanced Encryption level was low, medium, or high.

4.28main14627 Stable
  • Enhanced the REST Post, REST Put, and REST Patch Snaps with the Multipart Type list to support multipart (files and text) upload.

  • Renamed the following fields:

    • Upload File(s) field set to Form Upload

    • Upload-file key to Multipart Key

    • Upload file to Multipart Value

4.27 Patch427patches12750 LatestEnhanced the REST Put Snap with the Upload Transfer Request Type field to support encoding of chunked transfer and calculating content length.
4.27main12989Stable and LatestFixed an issue in the REST 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.

4.27

main12833

 

Stable

Enhanced REST OAuth2 accounts 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.
4.26426patches12749Latest

Fixed an issue with the REST Post Snap, where the Snap delayed the fetching of documents, when the batch size is greater than or equal to one.

4.26426patches11746Latest

Enhanced the REST Post Snap to display all cookies (securedauth cookies and httponly cookies) from the CookieStore along with headers when you select the Show all headers checkbox.

4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25 Patch425patches10419 LatestFixed a memory leak issue in the REST Snap Pack
4.25 Patch425patches9929 LatestEnhanced the REST Snap Pack to support Proxy Authentication.
4.25 Patch425patches9684 Latest
  • Fixed the REST Post Snap that fails to correctly set the Content-Length header when working with multi-file uploads.
  • Added Send Client Data as Basic Auth Header check box to the OAuth2 and OAuth2 SSL accounts. This check box enables you to include and pass the client credentials information in the header when connecting to the OAuth endpoint.
  • Added a new account type REST AWS Sig V4 Account that adds the ability to call any AWS API.
4.25main9554 StableUpgraded with the latest SnapLogic Platform release.
4.24main8556 
StableUpgraded with the latest SnapLogic Platform release.
4.23main7430StableImproved the handling of expired access tokens in REST Snaps that use OAuth2 accounts (REST OAuth2 Account and REST OAuth2 SSL Account). The Snaps can refresh expired access tokens on-demand, through a request to the platform. The Snap reloads the account with the updated/fresh access token before attempting the next retry.
4.22 Patch422patches7103 StableEnhances the Snaps in REST Snap Pack by separating the retry logic for OAuth account from that of the Snap.
4.22main6403 Stable
  • Added a new account type, REST OAuth2 SSL, which enables support for the OAuth2 SSL authentication for REST Snaps with endpoints that require client certificates.
  • [Docs Update] Applied the enhanced doc template to the Snap Pack's documentation. Improves usability by enhancing Snap field descriptions, functional examples, and use cases. 
4.21 Patchrest8858-LatestFixed the REST Get and REST Post Snaps that does not parse Content-Encoding and Content-Type headers for gzipped responses.
4.21

snapsmrc542

-StableUpgraded with the latest SnapLogic Platform release.
4.20 Patchrest8798-LatestFixed the REST POST Snap that fails when a single file is uploaded in multi-part form using the Single file upload Snap settings.

4.20

snapsmrc535

-

Stable

  • The new Multipart related option in the Upload body type property in the REST Post Snap enables you to post files to the Google Drive API and retain the original names.
  • The REST Account now has a new Grant Type option called Client Credentials. This enables the Snap to obtain an access token to the client ID and client secret through the token endpoint URL.
4.19 Patchrest8374-Latest
  • Added a drop-down property Retry Policy to the REST Snaps to provide users with different retry options for connection and 4xx and 5xx error responses.
  • Fixed the REST GET Snap that limits the output to five documents, even when more output documents are expected.

Critical fix

If your current or new Pipelines with REST Snaps use the retry functionality, then we recommend you to use this latest patch version as subsequent GA releases may result in Pipeline executions failing. Else, you can continue using your existing Snap Pack version (stable distribution – snapsmrc528).

4.19snapsmrc528-Stable

Fixed a regression issue wherein REST Snaps are unable to handle empty XML responses when Show All Headers is enabled.

4.18

snapsmrc523-StableUpgraded with the latest SnapLogic Platform release.
4.15 Patchrest6310-Latest

Fixed an issue with the NLTM Rest account connection hanging infinitely.

4.15snapsmrc500-StableUpgraded with the latest SnapLogic Platform release.

4.14 Patch

rest6159-LatestFixed an issue wherein the REST GET and POST Snaps were infinitely trying to connect to endpoint even after pipeline execution abortion.
4.14 Patch

rest5782

-Latest

Fixed an issue wherein the REST POST Snap was not accepting any blank values from upstream Mapper Snap.

4.14 Patchrest5719-Latest

Fixed an issue where the Ultra task was not producing a valid response while acknowledging documents.

4.14

snapsmrc490

-StableUpgraded with the latest SnapLogic Platform release.

4.13 Patch

NA-Latest

REST POST Snap: New properties: Multipart Content-Type, and Filename to be used added.

4.13snapsmrc486-StableUpgraded with the latest SnapLogic Platform release.
4.12 Patchrest4917-Latest

Fixed an encoding issue with the REST Get Snap so that it uses the same encoding format (UTF-8) by default on all machines instead of using a different encoding format based on the machine's Operating System.

4.12 Patch rest4816-Latest

Fixed an issue that caused the REST OAuth accounts to fail when running in orgs with Enhanced encryption in Medium or higher level. 

4.12 Patchrest4781-Latest

Enhanced REST Post Snap to prevent it from encoding file names.

4.12snapsmrc480-Stable

Added Upload body type property to the REST Post Snap for processing the specified content type.

4.11 Patchrest4333-Latest

Added support for the Binary File Uploads with the REST POST Snap.

4.11snapsmrc465-Stable

Updated support of NTLM Account Authentication to the REST Snap Pack.

4.10 Patch rest4070-Latest

Resolved an issue with the REST GET Snap that often fails to exit properly. This should reduce or eliminate that problem.

4.10snapsmrc414-StableUpgraded with the latest SnapLogic Platform release.
4.9 Patchrest3177-Latest

Addressed an issue with REST Get displaying the authorization header in plain text

4.9 Patchrest3126-Latest

Added Connection timeout property to specify the number of seconds to wait before terminating a connection. The Timeout property has been renamed to Read timeout.

4.9.0snapsmrc405-StableUpgraded with the latest SnapLogic Platform release.
4.8.0snapsmrc398-StableUpgraded with the latest SnapLogic Platform release.
4.7.0 Patchrest2555-Latest
  • Addressed an issue in the REST Post Snap with the REST API not returning a full cookie response.
  • Added Show all headers setting to the show full cookie response for the Post, Put, Patch and Delete Snaps.
4.7.0 Patchrest2336-Latest

Resolved an issue with REST Get not handling multiple response cookies.

4.7.0 Patchrest2260-Latest

Added a new "Follow redirects" setting to toggle whether redirects should be followed (default behavior is to follow redirects)

4.7.0snapsmrc382-Stable
  • Updated Snaps in the REST Snap Pack with Response entity type field(The DEFAULT option under this property allows the backward compatibilityThe addition of the property will not affect the existing production pipelines and allows them to run as before).

  • Updated Snaps in the REST Snap Pack with Maximum request attempts and Retry request interval Upload fields.  

  • Updated the RESTPost Snap with Upload transfer request type field.

4.6.0 Patchrest1992-Latest

Resolved an issue where Rest Snaps failed to process the received response that is encoded in charsets such as Windows-1252. This fix will process the response purely based on the charset provided in the Content-Type header.

4.6.0snapsmrc362-StableUpgraded with the latest SnapLogic Platform release.
4.5.1rest1566-Latest
  • A new property was added to the REST Get Snap to specify the iteration interval for pagination.

  • All Snaps now have at most one input and one output view.

4.5.0snapsmrc344-StableUpgraded with the latest SnapLogic Platform release.
4.4.1NA-Latest

Resolved an issue with REST SSL Accounts with Username not send the Authorization header with the HTTP request.

4.4.0NA-Stable

REST Get now supports using parameters from an input document in the Next URL Setting.

4.3.1NA-Latest

Addressed a defect where REST GET Snap fails saying 'Scheme "http" not registered'

Fall Release 2015 (4.3.0)NA-Stable
  • Two-way SSL support was added to the REST account.

  • REST Get 

    • Now has support for iterating over additional result pages.

    • Header variables are now being updated for each input

  • REST Post

    • Improved error handling messages.

    • Resolved an issue with the Snap failing with "Failed to execute HTTP request" error.

September 5, 2015 (4.2.2)NA-Latest
  • Maximum retries and Retry interval support added.

  • Resolved an issue with using a REST Dynamic OAuth2 account with Facebook Graph API.

  • REST Account: REST SSL account added.

June 27, 2015 (2015.22)

NA-Latest

REST Get now allows you to have no output views. Previously, there was exactly one output view.

June 6, 2015 (2015.20)NA-Latest

Rest Post Snap now supports posting a file.

May 2, 2015

NA-Stable

REST: Output views made optional 

January 2015

NA-Stable

Optional Raw data property added to all REST Snaps. If selected, the HTTP response content is written to the output view as is. If not selected, it is parsed according to the content type specified in the response header.

October 18, 2014

NA-Stable
  • NEW! REST Patch Snap introduced in this release.

  • Addressed an issue where REST GET (and perhaps REST Snaps) error view does not include response body. 

Fall 2014

NA-Stable

REST Get: support added for gzip format.

June 30, 2014

NA-Stable

Addressed an issue with RestRequestExecutor class writing data into error views even on successful requests status code 201, 204.

May 2014

NA-StableREST Get, REST Post all updated to support input parameters in HTTP headers

July 2013

NA-Stable
  • NEW! REST Delete Snap introduced in this release.

  • NEW! REST Get Snap introduced in this release.

  • NEW! REST Post Snap introduced in this release.

  • NEW! REST Put Snap introduced in this release.


Related Content: