--- title: http.endpoint() function description: > `http.endpoint()` iterates over input data and sends a single POST request per input row to a specified URL. menu: flux_v0_ref: name: http.endpoint parent: http identifier: http/endpoint weight: 101 flux/v0/tags: [notification endpoints] --- `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 ``` {{% caption %}} For more information, see [Function type signatures](/flux/v0/function-type-signatures/). {{% /caption %}} ## Parameters ### url ({{< req >}}) 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() ```