***
id: c5421199-1062-47bf-b8ec-6fa53c0295c6
title: request
slug: /reference/request
description: Send a HTTP request to a remote URL.
max-toc-depth: 3
----------------
Send a GET, POST, PUT, or DELETE request to a remote URL.
## **Properties**
An object containing the following properties.
URL to send the HTTPS request to. Authentication can also be set in the url in the format of `username:password@url`.
Request type. `GET`|`POST`|`PUT`|`DELETE`
Object containing HTTP headers to set. Valid header values are `Accept`, `Authorization`, `Content-Type`, `Range`, and custom `X-` headers
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.
Maximum time in seconds to wait for a connection. Default is `0` (no timeout).
Maximum time in seconds to wait for a response. Default is `0` (no timeout).
Store 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.``:** (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.``:** (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:
```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
```yaml
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}'
```
```json
{
"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}"
}
}
]
}
}
```