REST Delete

In this article

Overview


We recommend that you use the HTTP Client Snap instead of Snaps from the REST Snap Pack to connect to REST-based APIs and applications.

You can use the REST Delete Snap to delete business object resources using a REST API call.

Prerequisites

None.

Supported Features

Works in Ultra Task Pipelines. We recommend that you set the batch size to 1.

Limitations and Known Issues

None.

Snap Input and Output

Input/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input Document
  • Min: 0
  • Max: 1
  • REST Get
  • Mapper
  • Script
Each input document contains the ID of the object to be deleted at the REST API service endpoint.
OutputDocument
  • Min: 0
  • Max: 1
  • REST Post
  • JSON Formatter
  • Mapper

Each output document contains response data from the REST API service endpoint detailing the status of the request.

Snap Settings

Field NameField TypeDescription
Label*String

Specify a 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.

Default Value: REST Delete
ExampleREST Delete

Service URL*

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 the 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 hostname 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 the REST snap has to 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) using one of the following methods:

We recommend you use the former (encodeURIComponent) method to escape the special characters.

Default Value: N/A
Examplehttps://www.example.com/slm/webservice/v2.0/defect/%s".replace("%s", $.widget.id)

HTTP entityString/Expression

Specify the JSON path to the HTTP entity data in the input map data. You can leave this field blank if there is no entity data to send to the service URL.

Default Value: N/A
Example$response.entity.id 

Batch sizeString

The number of documents to be included in a single request. The incoming documents will be accumulated in a list up to the defined batch size before it is submitted to the endpoint

Make sure to set the batch size only if your REST endpoint expects a list.

Default Value: N/A
Example50

Show all headersCheckbox

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.

Default Value: Deselected
Example: N/A

Trust all certificates*Checkbox

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

Default ValueDeselected
Example: N/A

Follow redirects*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.

Default ValueSelected
Example: N/A

Query parameters

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

String

Specify the name (or key) of the query parameter.

Default Value: N/A
Exampleoauth2_access_token

Query parameter value

String/Expression

Specify the value associated with the query parameter.

Default Value: N/A
Example$account.access_token

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

String

Specify the name that you want to use for the HTTP header.

Default Value: N/A
ExampleUser-Agent

Value

String/Expression

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

Default Value: N/A
ExampleSnapLogic

Response entity typeString

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.


Default ValueDEFAULT
ExampleTEXT

Cookie Policy

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.

When using a cookie policy, you must select Show All Headers checkbox to view the parsed cookies from the cookie policy specification.

Default Value: Ignore Cookies
Example: RFC Strict

Read timeoutInteger

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.

Default Value900
Example1500

Connection timeoutInteger

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.

Default Value30
Example45

Maximum request attemptsInteger

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.

Default Value5
Example3

Retry request intervalInteger

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

Default Value3
Example10

Normalize URLCheckboxSelect 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

Snap ExecutionString

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

ExampleValidate and Execute

Troubleshooting

ErrorReasonResolution
Batch execution failedThe Pipeline ended before the batch could complete execution due to a connection error.

Verify that the Batch size field is configured to handle the inputs properly. If you are not sure when the input data is available, configure this field as zero to keep the connection always open.

The provided URI is invalidIllegal character in scheme nameVerify the URI and parameters that you provide are syntactically correct.
URL Parse Exception - 403The 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.

Example

Creating and Deleting an Account in SnapLogic Using REST Snaps

Prerequisites:

  • A valid account.

This example Pipeline demonstrates how to create an account in SnapLogic and delete it using REST Snaps.
          

Initially, we configure the JSON Generator Snap where we mention the project name - testDeleteProject111.

          


Then, we configure the REST Post Snap to create the project in SnapLogic using the account-name string of your choice. To do so:

  1. We use the SnapLogic URL for creating the project in your instance.
  2. We use '$projectName' in the HTTP entity field to indicate that we want to use the string coming from the upstream Snap.


 We click the Account tab and select the account that we want to use with Snap. 

          

When we validate the Snap, it creates a project in the SnapLogic instance. The Snap displays the following output:

         

The id field lists out the unique identifier of the new project created by Snap.

We now want to delete the project that you just created. To do so, we use a REST Delete for this task.

         
The project you created is deleted from the SnapLogic instance. Upon validation, the REST Delete Snap displays the following output:

          

Download this Pipeline.

Downloads

Important steps to successfully reuse Pipelines

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

  File Modified

File Example_REST Delete.slp

Dec 05, 2022 by Lakshmi Manda

Snap Pack History

 Click to view/expand

Release

Snap Pack Version 

Date

Type

Updates

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 Create Account settings of 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.