---
title: http.post() function
description: http.post() sends an HTTP POST request to the specified URL with headers and data and returns the HTTP status code.
url: https://docs.influxdata.com/flux/v0/stdlib/http/post/
estimated_tokens: 1430
product: Flux
version: v0
---

# http.post() function

-   Flux 0.40.0+
-   View InfluxDB support

#### requests.post()

The `http/requests` package provides a full-featured HTTP library. We recommend using [`requests.post()`](/flux/v0/stdlib/http/requests/post/) instead of `http.post()`.

`http.post()` sends an HTTP POST request to the specified URL with headers and data and returns the HTTP status code.

##### Function type signature

```js
(url: string, ?data: bytes, ?headers: A) => int where A: Record
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### url

(Required) URL to send the POST request to.

### headers

Headers to include with the POST request.

**Header keys with special characters:** Wrap header keys that contain special characters in double quotes (`""`).

### data

Data body to include with the POST request.

## Examples

### Send the last reported status to a URL

```js
import "json"
import "http"

lastReported =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses")
        |> last()
        |> findColumn(fn: (key) => true, column: "_level")

http.post(
    url: "http://myawsomeurl.com/api/notify",
    headers: {Authorization: "Bearer mySuPerSecRetTokEn", "Content-type": "application/json"},
    data: json.encode(v: lastReported[0]),
)
```

#### Related

-   [requests.post() function](/flux/v0/stdlib/http/requests/post/)

[single notification](/flux/v0/tags/single-notification/)
