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 Tasks. We recommend that you set the batch size to 1.
Limitations and Known Issues
None.
Snap Input and Output
Input/Output | Type of View | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document |
|
| Each input document contains the ID of the object to be deleted at the REST API service endpoint. |
Output | Document |
|
| Each output document contains response data from the REST API service endpoint detailing the status of the request. |
Snap Settings
Field Name | Field Type | Description |
---|---|---|
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 |
Service URL* | String/Expression | Specify the service endpoint URL of REST API. You can provide the URL in one of the following ways:
For example:
For example: 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: New URI with CNAME: Here, the bucket name is 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 |
HTTP entity | String/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 |
Batch size | String | 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 |
Show all headers | Checkbox | The REST endpoint may return a response with multiple headers with the same header name.
If any of these objects has a key-value format, it is parsed into the map data. Default Value: Deselected |
Trust all certificates* | Checkbox | Select this checkbox to trust all certificates, such as self-signed certificates. Default Value: Deselected |
Follow redirects* | Checkbox | Select this checkbox to enable the Snap to follow redirects.
Default Value: Selected |
Query parameters | Use this field set to add query parameters to your request. This field set comprises the following fields:
| |
Query parameter | String | Specify the name (or key) of the query parameter. Default Value: N/A |
Query parameter value | String/Expression | Specify the value associated with the query parameter. Default Value: N/A |
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 | String | Specify the name that you want to use for the HTTP header. Default Value: N/A |
Value | String/Expression | Specify the value that you want to assign to the HTTP header. Default Value: N/A |
Response entity type | String | Select one of the following response entity types you want the Snap to display in the output document.:
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 Value: DEFAULT |
Cookie Policy | Dropdown list | Select a Cookie Policy from the following options:
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 |
Read timeout | 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.
Default Value: 900 |
Connection timeout | 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. Default Value: 30 |
Maximum request attempts | 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. Default Value: 5 |
Retry request interval | Integer | Specify the time in seconds to wait before retrying the request. Default Value: 3 |
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. Default Value: Selected |
Snap Execution | String | Select one of the three modes in which the Snap executes. Available options are:
Example: Validate and Execute |
Troubleshooting
Error | Reason | Resolution |
---|---|---|
Batch execution failed | The 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 invalid | Illegal character in scheme name | Verify the URI and parameters that you provide are syntactically correct. |
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. |
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:
- We use the SnapLogic URL for creating the project in your instance.
- 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:
Downloads
Important steps to successfully reuse Pipelines
- Download and import the pipeline into the SnapLogic application.
- Configure Snap accounts as applicable.
- Provide pipeline parameters as applicable.
Snap Pack History
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.