HTTP Component
Make HTTP requests to URLs such as REST APIs, Webhooks, etc
Component key: http
Description
The HTTP component allows you to make requests to an HTTP-based API or endpoint.
Common HTTP verbs like GET, POST, PUT, PATCH, and DELETE are supported. For all actions, you can specify:
- A URL to send a request to
- A response type (like
application/json
) - A list of request headers
- A list of query parameters
In addition, the POST, PUT, and PATCH actions allow you to specify data
to send as part of the request.
data
can be a reference to a binary file, a string literal, or any structured data that is expected in the body of the request.
This component can be configured to use optional Basic Auth (username/password), API Key, or OAuth 2.0 Connections to authenticate the request.
For other non-standard authentication schemes, you will either need to supply your own Authorization
as a header as an input to the HTTP component, or you can create your own custom component to interact with an HTTP-based API.
Connections
API Key
If an API Key Connection is supplied, an Authorization: Basic ${APIKEY}
header is used in the HTTP request.
On-prem enabled: this connection can be configured to connect to an on-prem resource on a private network. Learn more.
Input | Default | Notes | Example |
---|---|---|---|
API Key string / Required apiKey | API Key | ||
Authentication Scheme string / Required authScheme | Basic | ||
Host string Hidden Field host | The address of your on-prem server. This should be an IP address or hostname. | server.example.io | |
Port string Hidden Field port | The port of your on-prem server | 8080 |
OAuth 2.0 Authorization Code
If an OAuth 2.0 Connection is supplied, an Authorization: Bearer ${KEY}
header is used in the HTTP request, where KEY
is the client key that is fetched from the OAuth provider.
Input | Notes |
---|---|
Authorize URL string / Required authorizeUrl | The OAuth 2.0 Authorization URL for the API |
Client ID string / Required clientId | Client Identifier of your app for the API |
Client Secret password / Required clientSecret | Client Secret of your app for the API |
Headers string Key Value List headers | Additional header to supply to authorization requests |
Scopes string scopes | Space separated OAuth 2.0 permission scopes for the API |
Token URL string / Required tokenUrl | The OAuth 2.0 Token URL for the API |
Basic Username/Password
If a Basic Auth Connection is supplied, an Authorization: Basic ${base64(USERNAME:PASSWORD)}
header is used in the HTTP request.
On-prem enabled: this connection can be configured to connect to an on-prem resource on a private network. Learn more.
Input | Notes | Example |
---|---|---|
Host string Hidden Field host | The address of your On-Prem server. This should be an IP address or hostname. | server.example.io |
Password password / Required password | Password | |
Port string Hidden Field port | The port of your On-Prem server. | 8080 |
Username string / Required username | Username |
OAuth 2.0 Client Credentials
Input | Notes |
---|---|
Client ID string / Required clientId | Client Identifier of your app for the API |
Client Secret password / Required clientSecret | Client Secret of your app for the API |
Headers string Key Value List headers | Additional header to supply to token requests |
Scopes string scopes | Space separated OAuth 2.0 permission scopes for the API |
Token URL string / Required tokenUrl | The OAuth 2.0 Token URL for the API |
Actions
DELETE request
Issue a HTTP DELETE request | key: httpDelete
Input | Default | Notes | Example |
---|---|---|---|
Connection connection connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Ignore SSL Errors (Not Recommended) boolean / Required ignoreSslErrors | false | When this flag is enabled, SSL certificate errors will be ignored. Use this flag with caution - ignoring SSL errors presents security issues. This should only be used for testing purposes. | |
Include Full Response boolean includeFullResponse | false | Enabling this flag will include the full response instead of only the returned data. | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. | |
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | binary |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. | |
Retry On All Errors boolean retryOnAllErrors | false | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | This is the URL to call. | https://api.company.com/endpoint | |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. If this is set to true, 'Retry Delay (ms)' is ignored. |
Example Payload for DELETE request
{
"data": null,
"contentType": "application/json"
}
GET Request
Issue a HTTP GET request | key: httpGet
Input | Default | Notes | Example |
---|---|---|---|
Connection connection connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Ignore SSL Errors (Not Recommended) boolean / Required ignoreSslErrors | false | When this flag is enabled, SSL certificate errors will be ignored. Use this flag with caution - ignoring SSL errors presents security issues. This should only be used for testing purposes. | |
Include Full Response boolean includeFullResponse | false | Enabling this flag will include the full response instead of only the returned data. | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. | |
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | binary |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. | |
Retry On All Errors boolean retryOnAllErrors | false | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | This is the URL to call. | https://api.company.com/endpoint | |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. If this is set to true, 'Retry Delay (ms)' is ignored. |
Example Payload for GET Request
{
"data": null,
"contentType": "application/json"
}
PATCH request
Issue a HTTP PATCH request | key: httpPatch
Input | Default | Notes | Example |
---|---|---|---|
Connection connection connection | |||
Data string data | The HTTP body payload to send to the URL. Must be a string or a reference to output from a previous step. | {"exampleKey": "Example Data"} | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Ignore SSL Errors (Not Recommended) boolean / Required ignoreSslErrors | false | When this flag is enabled, SSL certificate errors will be ignored. Use this flag with caution - ignoring SSL errors presents security issues. This should only be used for testing purposes. | |
Include Full Response boolean includeFullResponse | false | Enabling this flag will include the full response instead of only the returned data. | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. | |
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | binary |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. | |
Retry On All Errors boolean retryOnAllErrors | false | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | This is the URL to call. | https://api.company.com/endpoint | |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. If this is set to true, 'Retry Delay (ms)' is ignored. |
Example Payload for PATCH request
{
"data": null,
"contentType": "application/json"
}
POST Request
Issue a HTTP POST request | key: httpPost
Input | Default | Notes | Example |
---|---|---|---|
Connection connection connection | |||
Data string data | The HTTP body payload to send to the URL. Must be a string or a reference to output from a previous step. | {"exampleKey": "Example Data"} | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Ignore SSL Errors (Not Recommended) boolean / Required ignoreSslErrors | false | When this flag is enabled, SSL certificate errors will be ignored. Use this flag with caution - ignoring SSL errors presents security issues. This should only be used for testing purposes. | |
Include Full Response boolean includeFullResponse | false | Enabling this flag will include the full response instead of only the returned data. | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. | |
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | binary |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. | |
Retry On All Errors boolean retryOnAllErrors | false | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | This is the URL to call. | https://api.company.com/endpoint | |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. If this is set to true, 'Retry Delay (ms)' is ignored. |
Example Payload for POST Request
{
"data": null,
"contentType": "application/json"
}
POST/PUT Form Data Request
POST/PUT data as multipart/form-data. Often useful for uploading binary data. | key: httpPostFormData
Input | Default | Notes | Example |
---|---|---|---|
Connection connection connection | |||
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
File Data string Key Value List fileData | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] | |
File Data File Names string Key Value List fileDataFileNames | File names to apply to the file data inputs. Keys must match the file data keys above. | ||
Form Data string Key Value List formData | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
HTTP Method string / Required httpMethod | post | ||
Ignore SSL Errors (Not Recommended) boolean / Required ignoreSslErrors | false | When this flag is enabled, SSL certificate errors will be ignored. Use this flag with caution - ignoring SSL errors presents security issues. This should only be used for testing purposes. | |
Include Full Response boolean includeFullResponse | false | Enabling this flag will include the full response instead of only the returned data. | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. | |
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | binary |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. | |
Retry On All Errors boolean retryOnAllErrors | false | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | This is the URL to call. | https://api.company.com/endpoint | |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. If this is set to true, 'Retry Delay (ms)' is ignored. |
The Post Form Data Action takes two possible inputs for data to be uploaded to an endpoint.
- Form Data are key/value pairs. For example,
"username"/"Groucho"
and"accountnum"/12345
. Values are turned into strings if they are not already. For more information see https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects - File Data is similar to form data but allows you to upload file contents. A
filename
property is automatically generated from the key. This should be used to upload files only. All other types of data should go through the Form Data Input.
PUT request
Issue a HTTP PUT request | key: httpPut
Input | Default | Notes | Example |
---|---|---|---|
Connection connection connection | |||
Data string data | The HTTP body payload to send to the URL. Must be a string or a reference to output from a previous step. | {"exampleKey": "Example Data"} | |
Debug Request boolean debugRequest | false | Enabling this flag will log out the current request. | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Ignore SSL Errors (Not Recommended) boolean / Required ignoreSslErrors | false | When this flag is enabled, SSL certificate errors will be ignored. Use this flag with caution - ignoring SSL errors presents security issues. This should only be used for testing purposes. | |
Include Full Response boolean includeFullResponse | false | Enabling this flag will include the full response instead of only the returned data. | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. | |
Query Parameter string Key Value List queryParams | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | ||
Response Type string responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | binary |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. | |
Retry On All Errors boolean retryOnAllErrors | false | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required url | This is the URL to call. | https://api.company.com/endpoint | |
Use Exponential Backoff boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. If this is set to true, 'Retry Delay (ms)' is ignored. |
Example Payload for PUT request
{
"data": null,
"contentType": "application/json"
}