---
title: alerta.endpoint() function
description: alerta.endpoint() sends alerts to Alerta using data from input rows.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/bonitoo-io/alerta/endpoint/
estimated_tokens: 3113
product: Flux
version: v0
---

# alerta.endpoint() function

-   Flux 0.115.0+
-   View InfluxDB support

`alerta.endpoint()` is a user-contributed function maintained by the [package author](#package-author-and-maintainer).

`alerta.endpoint()` sends alerts to Alerta using data from input rows.

### Usage

`alerta.endpoint` is a factory function that outputs another function. The output function requires a `mapFn` parameter.

#### mapFn

A function that builds the object used to generate the POST request. Requires an `r` parameter.

`mapFn` accepts a table row (`r`) and returns an object that must include the following fields:

-   `resource`
-   `event`
-   `severity`
-   `service`
-   `group`
-   `value`
-   `text`
-   `tags`
-   `attributes`
-   `type`
-   `timestamp`

For more information, see `alerta.alert()` parameters.

##### Function type signature

```js
(
    apiKey: string,
    url: string,
    ?environment: A,
    ?origin: B,
) => (
    mapFn: (
        r: C,
    ) => {
        D with
        value: O,
        type: N,
        timestamp: M,
        text: L,
        tags: K,
        severity: J,
        service: I,
        resource: H,
        group: G,
        event: F,
        attributes: E,
    },
) => (<-tables: stream[C]) => stream[{C with _sent: string}]
```

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

## Parameters

### url

(Required) (Required) Alerta URL.

### apiKey

(Required) (Required) Alerta API key.

### environment

Alert environment. Default is `""`. Valid values: “Production”, “Development”, or empty string (default).

### origin

Alert origin. Default is `"InfluxDB"`.

## Examples

### Send critical alerts to Alerta

```js
import "contrib/bonitoo-io/alerta"
import "influxdata/influxdb/secrets"

apiKey = secrets.get(key: "ALERTA_API_KEY")
endpoint =
    alerta.endpoint(
        url: "https://alerta.io:8080/alert",
        apiKey: apiKey,
        environment: "Production",
        origin: "InfluxDB",
    )

crit_events =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses" and status == "crit")

crit_events
    |> endpoint(
        mapFn: (r) => {
            return {r with
                resource: "example-resource",
                event: "example-event",
                severity: "critical",
                service: r.service,
                group: "example-group",
                value: r.status,
                text: "Status is critical.",
                tags: ["ex1", "ex2"],
                attributes: {},
                type: "exampleAlertType",
                timestamp: now(),
            }
        },
    )()
```

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