---
title: sensu.endpoint() function
description: sensu.endpoint() sends an event to the Sensu Events API using data from table rows.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/sranka/sensu/endpoint/
estimated_tokens: 686
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/contrib/sranka/sensu/endpoint/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.90.0+

InfluxDB support

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

`sensu.endpoint()` sends an event
to the [Sensu Events API](https://docs.sensu.io/sensu-go/latest/api/events/#create-a-new-event)using data from table rows.

### Usage

`sensu.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:

* `checkName`
* `text`
* `status`

For more information, see `sensu.event()` parameters.

##### Function type signature

```js
(
    apiKey: string,
    url: string,
    ?entityName: string,
    ?handlers: A,
    ?namespace: string,
) => (
    mapFn: (r: B) => {C with text: E, status: D, checkName: string},
) => (<-tables: stream[B]) => stream[{B with _sent: string}] where D: Equatable
```

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

## Parameters

### url

(Required)
Base URL of [Sensu API](https://docs.sensu.io/sensu-go/latest/migrate/#architecture)*without a trailing slash*.
Example: `http://localhost:8080`.

### apiKey

(Required)
Sensu [API Key](https://docs.sensu.io/sensu-go/latest/operations/control-access/).

### handlers

[Sensu handlers](https://docs.sensu.io/sensu-go/latest/reference/handlers/) to execute.
Default is `[]`.

### namespace

[Sensu namespace](https://docs.sensu.io/sensu-go/latest/reference/rbac/).
Default is `default`.

### entityName

Event source.
Default is `influxdb`.

Use alphanumeric characters, underscores (`_`), periods (`.`), and hyphens (`-`).
All other characters are replaced with an underscore.

## Examples

### Send critical status events to Sensu

```js
import "influxdata/influxdb/secrets"
import "contrib/sranka/sensu"

token = secrets.get(key: "TELEGRAM_TOKEN")
endpoint = sensu.endpoint(url: "http://localhost:8080", apiKey: apiKey)

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

crit_statuses
    |> endpoint(mapFn: (r) => ({checkName: "critStatus", text: "Status is critical", status: 2}))()
```

#### Related

* [Sensu Events API](https://docs.sensu.io/sensu-go/latest/api/events/)
* [Sensu APIKeys API](https://docs.sensu.io/sensu-go/latest/api/apikeys/)
* [Sensu handlers](https://docs.sensu.io/sensu-go/latest/reference/handlers/)

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