Skip to content

HTTP ​

Make HTTP requests to external APIs and services

This node signs in with a credential: Basic Auth, Bearer Token, API Key, OAuth2, AWS Signature V4, Digest Auth, NTLM Auth, WSSE Auth. See Connect a credential.

Actions ​

Steps this node can perform. Add one from Add a step, then pick the action.

GET ​

Send a GET request

Settings

FieldTypeRequiredDescription
URLTextYesThe URL to send the request to
HeadersKey–value pairsRequest headers
Query ParametersKey–value pairsURL query parameters
TimeoutNumberRequest timeout in milliseconds
Default: 10000
Follow RedirectsYes / NoWhether to follow HTTP redirects
Default: true
PaginationYes / NoEnable automatic pagination
Default: false
Pagination TypeChoiceThe pagination strategy to use
Options: Page Number, Page Offset, Cursor
Default: page_number
Page Parameter NameTextQuery parameter name for page number
Default: page
Page Size Parameter NameTextQuery parameter name for page size
Default: limit
Page SizeNumberNumber of items per page
Default: 10
Start PageNumberFirst page number
Default: 1
Start OffsetNumberStarting offset for offset-based pagination
Default: 0
Cursor Parameter NameTextQuery parameter name for the cursor
Default: cursor
Cursor PathTextPath to the cursor value in the response
Max PagesNumberMaximum number of pages to fetch
Default: 5
Has More PathTextPath to the has-more flag in the response
Total PathTextPath to the total count in the response
Data PathTextPath to the data array in the response
Default: data

Output

Later steps use this data by picking this step in the $ picker. For example, statusCode is $.<step ID>.output.statusCode.

json
{
  "statusCode": 0,
  "headers": {},
  "body": null,
  "rawBody": "string",
  "url": "string",
  "duration": 0,
  "pages": [
    "string"
  ],
  "allData": [
    "string"
  ],
  "retries": {
    "attemptCount": 0,
    "attempts": [
      {
        "attempt": 0,
        "durationMs": 0,
        "error": "string",
        "nextDelayMs": 0,
        "retryable": false,
        "statusCode": 0
      }
    ],
    "succeeded": false
  },
  "data": {
    "body": null,
    "file": {
      "fileId": "string",
      "fileName": "string",
      "filePath": "string",
      "success": false
    },
    "files": []
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
statusCodeNumberHTTP response status code
headersObjectResponse headers
bodyAnyParsed response body
rawBodyTextRaw response body as a string
urlTextFinal request URL after redirects
durationNumberTotal request duration in milliseconds
pages[]ListAll pages of paginated data. Elements are free-form: one response body per page
allData[]ListAll paginated results combined. Elements are free-form: whatever the API returned
retriesObjectRetry attempt information
retries.attemptCountNumberTotal number of attempts made
retries.attempts[]ListList of individual retry attempts
retries.attempts[].attemptNumberAttempt number
retries.attempts[].durationMsNumberDuration of this attempt in milliseconds
retries.attempts[].errorTextError message if the attempt failed
retries.attempts[].nextDelayMsNumberDelay before the next retry in milliseconds
retries.attempts[].retryableYes / NoWhether the error was retryable
retries.attempts[].statusCodeNumberHTTP status code for this attempt
retries.succeededYes / NoWhether a retry eventually succeeded
dataObjectPresent when responseFormat is "file" AND Put Output in Field names a key. Left blank — the default — its contents are placed at the top level of the output instead. Multipart mode never uses this wrapper.
data.bodyAnyThe response's non-file content. For a multipart response this is the parts marked Autodetect: one such part is the value itself, several become an array in body order. Absent for a plain binary download, which has no non-file content.
data.fileObjectThe saved file's details
data.file.fileIdTextInternal cleanup handle for this run. Not a File Storage ID and cannot be used with the File Storage node.
data.file.fileNameTextThe saved file's name
data.file.filePathTextThe saved file's path on the Studio file system
data.file.successYes / NoWhether the file was saved successfully
data.files[]ListSaved files that were not given an output field of their own. In multipart mode every file whose row leaves Put Output in Field blank lands here, as does any part matching no row. Without the multipart toggle it appears only when a response yielded more than one file part, since a single file is already in "file".

POST ​

Send a POST request

Settings

FieldTypeRequiredDescription
URLTextYesThe URL to send the request to
HeadersKey–value pairsRequest headers
Query ParametersKey–value pairsURL query parameters
BodyTextRequest body content
TimeoutNumberRequest timeout in milliseconds
Default: 10000
Follow RedirectsYes / NoWhether to follow HTTP redirects
Default: true

Output

Later steps use this data by picking this step in the $ picker. For example, statusCode is $.<step ID>.output.statusCode.

json
{
  "statusCode": 0,
  "headers": {},
  "body": null,
  "rawBody": "string",
  "url": "string",
  "duration": 0,
  "pages": [
    "string"
  ],
  "allData": [
    "string"
  ],
  "retries": {
    "attemptCount": 0,
    "attempts": [
      {
        "attempt": 0,
        "durationMs": 0,
        "error": "string",
        "nextDelayMs": 0,
        "retryable": false,
        "statusCode": 0
      }
    ],
    "succeeded": false
  },
  "data": {
    "body": null,
    "file": {
      "fileId": "string",
      "fileName": "string",
      "filePath": "string",
      "success": false
    },
    "files": []
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
statusCodeNumberHTTP response status code
headersObjectResponse headers
bodyAnyParsed response body
rawBodyTextRaw response body as a string
urlTextFinal request URL after redirects
durationNumberTotal request duration in milliseconds
pages[]ListAll pages of paginated data. Elements are free-form: one response body per page
allData[]ListAll paginated results combined. Elements are free-form: whatever the API returned
retriesObjectRetry attempt information
retries.attemptCountNumberTotal number of attempts made
retries.attempts[]ListList of individual retry attempts
retries.attempts[].attemptNumberAttempt number
retries.attempts[].durationMsNumberDuration of this attempt in milliseconds
retries.attempts[].errorTextError message if the attempt failed
retries.attempts[].nextDelayMsNumberDelay before the next retry in milliseconds
retries.attempts[].retryableYes / NoWhether the error was retryable
retries.attempts[].statusCodeNumberHTTP status code for this attempt
retries.succeededYes / NoWhether a retry eventually succeeded
dataObjectPresent when responseFormat is "file" AND Put Output in Field names a key. Left blank — the default — its contents are placed at the top level of the output instead. Multipart mode never uses this wrapper.
data.bodyAnyThe response's non-file content. For a multipart response this is the parts marked Autodetect: one such part is the value itself, several become an array in body order. Absent for a plain binary download, which has no non-file content.
data.fileObjectThe saved file's details
data.file.fileIdTextInternal cleanup handle for this run. Not a File Storage ID and cannot be used with the File Storage node.
data.file.fileNameTextThe saved file's name
data.file.filePathTextThe saved file's path on the Studio file system
data.file.successYes / NoWhether the file was saved successfully
data.files[]ListSaved files that were not given an output field of their own. In multipart mode every file whose row leaves Put Output in Field blank lands here, as does any part matching no row. Without the multipart toggle it appears only when a response yielded more than one file part, since a single file is already in "file".

PUT ​

Send a PUT request

Settings

FieldTypeRequiredDescription
URLTextYesThe URL to send the request to
HeadersKey–value pairsRequest headers
Query ParametersKey–value pairsURL query parameters
BodyTextRequest body content
TimeoutNumberRequest timeout in milliseconds
Default: 10000
Follow RedirectsYes / NoWhether to follow HTTP redirects
Default: true

Output

Later steps use this data by picking this step in the $ picker. For example, statusCode is $.<step ID>.output.statusCode.

json
{
  "statusCode": 0,
  "headers": {},
  "body": null,
  "rawBody": "string",
  "url": "string",
  "duration": 0,
  "pages": [
    "string"
  ],
  "allData": [
    "string"
  ],
  "retries": {
    "attemptCount": 0,
    "attempts": [
      {
        "attempt": 0,
        "durationMs": 0,
        "error": "string",
        "nextDelayMs": 0,
        "retryable": false,
        "statusCode": 0
      }
    ],
    "succeeded": false
  },
  "data": {
    "body": null,
    "file": {
      "fileId": "string",
      "fileName": "string",
      "filePath": "string",
      "success": false
    },
    "files": []
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
statusCodeNumberHTTP response status code
headersObjectResponse headers
bodyAnyParsed response body
rawBodyTextRaw response body as a string
urlTextFinal request URL after redirects
durationNumberTotal request duration in milliseconds
pages[]ListAll pages of paginated data. Elements are free-form: one response body per page
allData[]ListAll paginated results combined. Elements are free-form: whatever the API returned
retriesObjectRetry attempt information
retries.attemptCountNumberTotal number of attempts made
retries.attempts[]ListList of individual retry attempts
retries.attempts[].attemptNumberAttempt number
retries.attempts[].durationMsNumberDuration of this attempt in milliseconds
retries.attempts[].errorTextError message if the attempt failed
retries.attempts[].nextDelayMsNumberDelay before the next retry in milliseconds
retries.attempts[].retryableYes / NoWhether the error was retryable
retries.attempts[].statusCodeNumberHTTP status code for this attempt
retries.succeededYes / NoWhether a retry eventually succeeded
dataObjectPresent when responseFormat is "file" AND Put Output in Field names a key. Left blank — the default — its contents are placed at the top level of the output instead. Multipart mode never uses this wrapper.
data.bodyAnyThe response's non-file content. For a multipart response this is the parts marked Autodetect: one such part is the value itself, several become an array in body order. Absent for a plain binary download, which has no non-file content.
data.fileObjectThe saved file's details
data.file.fileIdTextInternal cleanup handle for this run. Not a File Storage ID and cannot be used with the File Storage node.
data.file.fileNameTextThe saved file's name
data.file.filePathTextThe saved file's path on the Studio file system
data.file.successYes / NoWhether the file was saved successfully
data.files[]ListSaved files that were not given an output field of their own. In multipart mode every file whose row leaves Put Output in Field blank lands here, as does any part matching no row. Without the multipart toggle it appears only when a response yielded more than one file part, since a single file is already in "file".

PATCH ​

Send a PATCH request

Settings

FieldTypeRequiredDescription
URLTextYesThe URL to send the request to
HeadersKey–value pairsRequest headers
Query ParametersKey–value pairsURL query parameters
BodyTextRequest body content
TimeoutNumberRequest timeout in milliseconds
Default: 10000
Follow RedirectsYes / NoWhether to follow HTTP redirects
Default: true

Output

Later steps use this data by picking this step in the $ picker. For example, statusCode is $.<step ID>.output.statusCode.

json
{
  "statusCode": 0,
  "headers": {},
  "body": null,
  "rawBody": "string",
  "url": "string",
  "duration": 0,
  "pages": [
    "string"
  ],
  "allData": [
    "string"
  ],
  "retries": {
    "attemptCount": 0,
    "attempts": [
      {
        "attempt": 0,
        "durationMs": 0,
        "error": "string",
        "nextDelayMs": 0,
        "retryable": false,
        "statusCode": 0
      }
    ],
    "succeeded": false
  },
  "data": {
    "body": null,
    "file": {
      "fileId": "string",
      "fileName": "string",
      "filePath": "string",
      "success": false
    },
    "files": []
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
statusCodeNumberHTTP response status code
headersObjectResponse headers
bodyAnyParsed response body
rawBodyTextRaw response body as a string
urlTextFinal request URL after redirects
durationNumberTotal request duration in milliseconds
pages[]ListAll pages of paginated data. Elements are free-form: one response body per page
allData[]ListAll paginated results combined. Elements are free-form: whatever the API returned
retriesObjectRetry attempt information
retries.attemptCountNumberTotal number of attempts made
retries.attempts[]ListList of individual retry attempts
retries.attempts[].attemptNumberAttempt number
retries.attempts[].durationMsNumberDuration of this attempt in milliseconds
retries.attempts[].errorTextError message if the attempt failed
retries.attempts[].nextDelayMsNumberDelay before the next retry in milliseconds
retries.attempts[].retryableYes / NoWhether the error was retryable
retries.attempts[].statusCodeNumberHTTP status code for this attempt
retries.succeededYes / NoWhether a retry eventually succeeded
dataObjectPresent when responseFormat is "file" AND Put Output in Field names a key. Left blank — the default — its contents are placed at the top level of the output instead. Multipart mode never uses this wrapper.
data.bodyAnyThe response's non-file content. For a multipart response this is the parts marked Autodetect: one such part is the value itself, several become an array in body order. Absent for a plain binary download, which has no non-file content.
data.fileObjectThe saved file's details
data.file.fileIdTextInternal cleanup handle for this run. Not a File Storage ID and cannot be used with the File Storage node.
data.file.fileNameTextThe saved file's name
data.file.filePathTextThe saved file's path on the Studio file system
data.file.successYes / NoWhether the file was saved successfully
data.files[]ListSaved files that were not given an output field of their own. In multipart mode every file whose row leaves Put Output in Field blank lands here, as does any part matching no row. Without the multipart toggle it appears only when a response yielded more than one file part, since a single file is already in "file".

DELETE ​

Send a DELETE request

Settings

FieldTypeRequiredDescription
URLTextYesThe URL to send the request to
HeadersKey–value pairsRequest headers
Query ParametersKey–value pairsURL query parameters
TimeoutNumberRequest timeout in milliseconds
Default: 10000
Follow RedirectsYes / NoWhether to follow HTTP redirects
Default: true

Output

Later steps use this data by picking this step in the $ picker. For example, statusCode is $.<step ID>.output.statusCode.

json
{
  "statusCode": 0,
  "headers": {},
  "body": null,
  "rawBody": "string",
  "url": "string",
  "duration": 0,
  "pages": [
    "string"
  ],
  "allData": [
    "string"
  ],
  "retries": {
    "attemptCount": 0,
    "attempts": [
      {
        "attempt": 0,
        "durationMs": 0,
        "error": "string",
        "nextDelayMs": 0,
        "retryable": false,
        "statusCode": 0
      }
    ],
    "succeeded": false
  },
  "data": {
    "body": null,
    "file": {
      "fileId": "string",
      "fileName": "string",
      "filePath": "string",
      "success": false
    },
    "files": []
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
statusCodeNumberHTTP response status code
headersObjectResponse headers
bodyAnyParsed response body
rawBodyTextRaw response body as a string
urlTextFinal request URL after redirects
durationNumberTotal request duration in milliseconds
pages[]ListAll pages of paginated data. Elements are free-form: one response body per page
allData[]ListAll paginated results combined. Elements are free-form: whatever the API returned
retriesObjectRetry attempt information
retries.attemptCountNumberTotal number of attempts made
retries.attempts[]ListList of individual retry attempts
retries.attempts[].attemptNumberAttempt number
retries.attempts[].durationMsNumberDuration of this attempt in milliseconds
retries.attempts[].errorTextError message if the attempt failed
retries.attempts[].nextDelayMsNumberDelay before the next retry in milliseconds
retries.attempts[].retryableYes / NoWhether the error was retryable
retries.attempts[].statusCodeNumberHTTP status code for this attempt
retries.succeededYes / NoWhether a retry eventually succeeded
dataObjectPresent when responseFormat is "file" AND Put Output in Field names a key. Left blank — the default — its contents are placed at the top level of the output instead. Multipart mode never uses this wrapper.
data.bodyAnyThe response's non-file content. For a multipart response this is the parts marked Autodetect: one such part is the value itself, several become an array in body order. Absent for a plain binary download, which has no non-file content.
data.fileObjectThe saved file's details
data.file.fileIdTextInternal cleanup handle for this run. Not a File Storage ID and cannot be used with the File Storage node.
data.file.fileNameTextThe saved file's name
data.file.filePathTextThe saved file's path on the Studio file system
data.file.successYes / NoWhether the file was saved successfully
data.files[]ListSaved files that were not given an output field of their own. In multipart mode every file whose row leaves Put Output in Field blank lands here, as does any part matching no row. Without the multipart toggle it appears only when a response yielded more than one file part, since a single file is already in "file".

OPTIONS ​

Send an OPTIONS request

Settings

FieldTypeRequiredDescription
URLTextYesThe URL to send the request to
HeadersKey–value pairsRequest headers
Query ParametersKey–value pairsURL query parameters
TimeoutNumberRequest timeout in milliseconds
Default: 10000
Follow RedirectsYes / NoWhether to follow HTTP redirects
Default: true

Output

Later steps use this data by picking this step in the $ picker. For example, statusCode is $.<step ID>.output.statusCode.

json
{
  "statusCode": 0,
  "headers": {},
  "body": null,
  "rawBody": "string",
  "url": "string",
  "duration": 0,
  "pages": [
    "string"
  ],
  "allData": [
    "string"
  ],
  "retries": {
    "attemptCount": 0,
    "attempts": [
      {
        "attempt": 0,
        "durationMs": 0,
        "error": "string",
        "nextDelayMs": 0,
        "retryable": false,
        "statusCode": 0
      }
    ],
    "succeeded": false
  },
  "data": {
    "body": null,
    "file": {
      "fileId": "string",
      "fileName": "string",
      "filePath": "string",
      "success": false
    },
    "files": []
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
statusCodeNumberHTTP response status code
headersObjectResponse headers
bodyAnyParsed response body
rawBodyTextRaw response body as a string
urlTextFinal request URL after redirects
durationNumberTotal request duration in milliseconds
pages[]ListAll pages of paginated data. Elements are free-form: one response body per page
allData[]ListAll paginated results combined. Elements are free-form: whatever the API returned
retriesObjectRetry attempt information
retries.attemptCountNumberTotal number of attempts made
retries.attempts[]ListList of individual retry attempts
retries.attempts[].attemptNumberAttempt number
retries.attempts[].durationMsNumberDuration of this attempt in milliseconds
retries.attempts[].errorTextError message if the attempt failed
retries.attempts[].nextDelayMsNumberDelay before the next retry in milliseconds
retries.attempts[].retryableYes / NoWhether the error was retryable
retries.attempts[].statusCodeNumberHTTP status code for this attempt
retries.succeededYes / NoWhether a retry eventually succeeded
dataObjectPresent when responseFormat is "file" AND Put Output in Field names a key. Left blank — the default — its contents are placed at the top level of the output instead. Multipart mode never uses this wrapper.
data.bodyAnyThe response's non-file content. For a multipart response this is the parts marked Autodetect: one such part is the value itself, several become an array in body order. Absent for a plain binary download, which has no non-file content.
data.fileObjectThe saved file's details
data.file.fileIdTextInternal cleanup handle for this run. Not a File Storage ID and cannot be used with the File Storage node.
data.file.fileNameTextThe saved file's name
data.file.filePathTextThe saved file's path on the Studio file system
data.file.successYes / NoWhether the file was saved successfully
data.files[]ListSaved files that were not given an output field of their own. In multipart mode every file whose row leaves Put Output in Field blank lands here, as does any part matching no row. Without the multipart toggle it appears only when a response yielded more than one file part, since a single file is already in "file".

Custom Request ​

Send a custom HTTP request with a configurable method

Settings

FieldTypeRequiredDescription
URLTextYesThe URL to send the request to
MethodChoiceThe HTTP method to use for the request
Options: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD
Default: GET
HeadersKey–value pairsRequest headers
Query ParametersKey–value pairsURL query parameters
BodyTextRequest body content
Follow RedirectsYes / NoWhether to follow HTTP redirects
Default: true
TimeoutNumberRequest timeout in milliseconds
Default: 10000

Output

Later steps use this data by picking this step in the $ picker. For example, statusCode is $.<step ID>.output.statusCode.

json
{
  "statusCode": 0,
  "headers": {},
  "body": null,
  "rawBody": "string",
  "url": "string",
  "duration": 0,
  "pages": [
    "string"
  ],
  "allData": [
    "string"
  ],
  "retries": {
    "attemptCount": 0,
    "attempts": [
      {
        "attempt": 0,
        "durationMs": 0,
        "error": "string",
        "nextDelayMs": 0,
        "retryable": false,
        "statusCode": 0
      }
    ],
    "succeeded": false
  },
  "data": {
    "body": null,
    "file": {
      "fileId": "string",
      "fileName": "string",
      "filePath": "string",
      "success": false
    },
    "files": []
  }
}

Example values show the shape of the data, not real values. See Using data from earlier steps.

Field descriptions
FieldTypeDescription
statusCodeNumberHTTP response status code
headersObjectResponse headers
bodyAnyParsed response body
rawBodyTextRaw response body as a string
urlTextFinal request URL after redirects
durationNumberTotal request duration in milliseconds
pages[]ListAll pages of paginated data. Elements are free-form: one response body per page
allData[]ListAll paginated results combined. Elements are free-form: whatever the API returned
retriesObjectRetry attempt information
retries.attemptCountNumberTotal number of attempts made
retries.attempts[]ListList of individual retry attempts
retries.attempts[].attemptNumberAttempt number
retries.attempts[].durationMsNumberDuration of this attempt in milliseconds
retries.attempts[].errorTextError message if the attempt failed
retries.attempts[].nextDelayMsNumberDelay before the next retry in milliseconds
retries.attempts[].retryableYes / NoWhether the error was retryable
retries.attempts[].statusCodeNumberHTTP status code for this attempt
retries.succeededYes / NoWhether a retry eventually succeeded
dataObjectPresent when responseFormat is "file" AND Put Output in Field names a key. Left blank — the default — its contents are placed at the top level of the output instead. Multipart mode never uses this wrapper.
data.bodyAnyThe response's non-file content. For a multipart response this is the parts marked Autodetect: one such part is the value itself, several become an array in body order. Absent for a plain binary download, which has no non-file content.
data.fileObjectThe saved file's details
data.file.fileIdTextInternal cleanup handle for this run. Not a File Storage ID and cannot be used with the File Storage node.
data.file.fileNameTextThe saved file's name
data.file.filePathTextThe saved file's path on the Studio file system
data.file.successYes / NoWhether the file was saved successfully
data.files[]ListSaved files that were not given an output field of their own. In multipart mode every file whose row leaves Put Output in Field blank lands here, as does any part matching no row. Without the multipart toggle it appears only when a response yielded more than one file part, since a single file is already in "file".