---
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: 333
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/http/endpoint/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.39.0+

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/)
