Skip to main content

request

Send a GET, POST, PUT, or DELETE request to a remote URL.

NameTypeDefaultDescription
requestRequiredobject-An object containing the request parameters

request Parameters

NameTypeDefaultDescription
urlRequiredstring-URL to send the HTTPS request to. Authentication can also be set in the url in the format of username:password@url.
methodRequiredstring-Request type. GET|POST|PUT|DELETE
headersOptionalobject-Object containing HTTP headers to set. Valid header values are Accept, Authorization, Content-Type, Range, and custom X- headers
bodyOptionalstring | object-Request body. Content-Type header should be explicitly set, but if not set, the most likely type will be set based on the first non-whitespace character.
connect_timeoutOptionalnumber5.0 secondsMaximum time in seconds to wait for a connection
timeoutOptionalnumber5.0 secondsMaximum time in seconds to wait for a response
save_variablesOptionalbooleanfalseStore parsed JSON response as variables

Variables

Set by the method:

  • request_url: (out) URL the request was sent to.
  • request_result: (out) success | failed.
  • return_value: (out) The same value as the request_result.
  • request_response_code: (out) HTTP response code from the request.
  • request_response_headers.<header name lowercase>: (out) HTTP response headers. Header names should be normalized to lowercase and trimmed of whitespace. A maximum of 64 headers are saved. Ex: %{request_response_headers.content-type}.
  • request_response_body: (out) Raw HTTP response body. This is limited to 64KB.
  • request_response.<object_field>: (out) Variables saved from the response if save_variables is true and parsed as JSON.

For example, if the server responds with the following JSON:

  { "status": "created", "time": "2 seconds ago", "number": { "home": "n/a" } }

The variables request_response.status, request_response.time, and request_response.number.home are set.

Examples

Making a GET Request

version: 1.0.0
sections:
main:
- answer: {}
- request:
url: 'https://jsonplaceholder.typicode.com/todos/1'
method: GET
save_variables: true
timeout: 10
- play:
url: 'say: the title is: %{request_response.title}'