---
id: "T:cAlgo.API.HttpRequest"
kind: "class"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/"
---

> Documentation index for agents: https://help.ctrader.com/ctrader-algo/llms.txt · machine index: https://help.ctrader.com/ctrader-algo/api.json

# HttpRequest (class)

The class representing an HTTP request.

Environments: Desktop supported · CLI supported · Cloud supported.

## Definition

```csharp
public sealed class HttpRequest
```

## Examples

C#:

```csharp
var request = new HttpRequest(new Uri("https://api.example.com/orders"))
{
    Method = HttpMethod.Post,
    Body = "{\"symbol\": \"EURUSD\", \"volume\": 10000}",
    Timeout = TimeSpan.FromSeconds(10)
};
request.Headers.Add("Content-Type", "application/json");

var response = Http.Send(request);
Print("Status code: {0} | Body: {1}", response.StatusCode, response.Body);
```

Python:

```python
from System import Uri, TimeSpan

request = HttpRequest(Uri("https://api.example.com/orders"))
request.Method = HttpMethod.Post
request.Body = '{"symbol": "EURUSD", "volume": 10000}'
request.Timeout = TimeSpan.FromSeconds(10)
request.Headers.Add("Content-Type", "application/json")

response = api.Http.Send(request)
api.Print(f"Status code: {response.StatusCode} | Body: {response.Body}")
```

## Constructors

- `public HttpRequest(Uri uri)` — The default class constructor. [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/Constructor/index.md)

## Properties

- `public string Body {get; set;}` — Gets or sets the request body. If a GET, TRACE, HEAD, CONNECT, and OPTIONS request is performed, the value of this property is ignored. [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/Body/index.md)
- `public HttpRequestHeaders Headers {get;}` — Gets the request headers. [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/Headers/index.md)
- `public HttpMethod Method {get; set;}` — Gets or sets the request method. The default value is Get. [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/Method/index.md)
- `public TimeSpan Timeout {get; set;}` — Gets or sets the request timeout. The default value is 100,000 milliseconds (100 seconds). [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/Timeout/index.md)
- `public Uri Uri {get;}` — Gets or sets the request URI. [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/Uri/index.md)
- `public Version Version {get; set;}` — Gets or sets the request version. The default value is 2.0. [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/Version/index.md)
- `public HttpVersionPolicy VersionPolicy {get; set;}` — Gets or sets the request version policy. The default value is RequestVersionOrLower . [details](https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/VersionPolicy/index.md)

