---
title: http.endpoint() function
description: http.endpoint() iterates over input data and sends a single POST request per input row to a specified URL.
url: https://docs.influxdata.com/flux/v0/stdlib/http/endpoint/
estimated_tokens: 1327
product: Flux
version: v0
---

# http.endpoint() function

-   Flux 0.39.0+
-   View InfluxDB support

`http.endpoint()` iterates over input data and sends a single POST request per input row to a specified URL.

This function is designed to be used with `monitor.notify()`.

`http.endpoint()` outputs a function that requires a `mapFn` parameter. `mapFn` is the function that builds the record used to generate the POST request. It accepts a table row (`r`) and returns a record that must include the following properties:

-   `headers`
-   `data`

*For information about properties, see `http.post`.*

##### Function type signature

```js
(
    url: string,
) => (mapFn: (r: A) => {B with headers: C, data: bytes}) => (<-tables: stream[A]) => stream[{A with _sent: string}] where C: Record
```

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

## Parameters

### url

(Required) URL to send the POST request to.

## Examples

### Send an HTTP POST request for each row

```js
import "http"
import "sampledata"

endpoint =
    http.endpoint(url: "http://example.com/")(
        mapfn: (r) =>
            ({
                headers: {header1: "example1", header2: "example2"},
                data: bytes(v: "The value is ${r._value}"),
            }),
    )

sampledata.int()
    |> endpoint()
```

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