---
type: api
title: Ingest an external event for a Kibana connector
description: Public ingress for Kibana connector-scoped inbound events. Authenticate with an ingest token (`Authorization: Bearer`, or `token` query parameter as fallback). A successful emit returns 202. An emit that includes an HTTP ack returns that status, usually 200 with an empty body, and still emits. A connector HTTP-only ack returns 200 (JSON or a plain-text body; `.inboundWebhook` handshake is `{ challenge }`) and does not emit.
url: https://www.elastic.co/docs/api/doc/kibana/operation/operation-post-actions-events-connector-type-id-connector-id
resource: https://www.elastic.co/docs/api/doc/kibana/operation/operation-post-actions-events-connector-type-id-connector-id
products:
  - Kibana
---

# Ingest an external event for a Kibana connector

Authentication: required

Availability: Planned

- Server: `https://{kibana_url}`

## Paths

- `POST` `/api/actions/events/{connector_type_id}/{connector_id}`
- `POST` `/s/{space_id}/api/actions/events/{connector_type_id}/{connector_id}`

#### Path parameters

- `space_id` (string) — optional
  An identifier for the space. If `space_id` is not provided in the URL, the default space is used. Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
- `connector_type_id` (string · min length: 1 · max length: 64) — required
  The Kibana connector type identifier.
- `connector_id` (string · min length: 1 · max length: 36) — required
  The identifier of the Kibana connector instance that should receive the event.

## Description

Public ingress for Kibana connector-scoped inbound events. Authenticate with an ingest token (`Authorization: Bearer`, or `token` query parameter as fallback). A successful emit returns 202. An emit that includes an HTTP ack returns that status, usually 200 with an empty body, and still emits. A connector HTTP-only ack returns 200 (JSON or a plain-text body; `.inboundWebhook` handshake is `{ challenge }`) and does not emit.

## Query string parameters

- `token` (string · min length: 1 · max length: 128) — optional
  Connector ingest token. Prefer `Authorization: Bearer <token>`. Query `token` is only used when the Authorization header is absent.

## Request body

`application/json; application/*+json; application/x-www-form-urlencoded; text/plain; */*`

Type: `object`


## Responses

#### `200`

Connector HTTP 200 ack. A handshake such as `.inboundWebhook` `{ challenge }` does not emit. An ack included with an emit may have an empty body, and the events are still emitted. The body may be JSON or plain-text.

`application/json; application/*+json; application/x-www-form-urlencoded; text/plain; */*`

Any of:
- **string**
  Plain-text HTTP ack body.
- **{ challenge }**
  Connector HTTP 200 JSON ack. `.inboundWebhook` and Slack handshake is `{ challenge }`.
  - `challenge` (string · min length: 1 · max length: 1024)
    When present, echo of a top-level request `challenge` (inbound webhook handshake). No event is emitted.
#### `202`

The ingress request was accepted. Downstream emit failures may still be partial; see server logs.

`application/json; application/*+json; application/x-www-form-urlencoded; text/plain; */*`

- `ok` (boolean)
  Indicates the ingress request was accepted for processing.
#### `403`

Inbound connector events are disabled.

#### `404`

Connector, connector type, or ingest token was not found or failed verification.

#### `429`

Inbound rate limit exceeded. Retry-After is the seconds until a request is allowed again.

#### `500`

The connector failed to handle or validate the event.

## Code examples

#### Console

```console
POST kbn:/api/actions/events/CONNECTOR_TYPE_ID/CONNECTOR_ID
{
  "eventType": "order.created",
  "orderId": "1"
}
```

#### curl

```curl
curl -X POST "${KIBANA_URL}/api/actions/events/${CONNECTOR_TYPE_ID}/${CONNECTOR_ID}" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "Content-Type: application/json; application/*+json; application/x-www-form-urlencoded; text/plain; */*" \
  -d '{
    "eventType": "order.created",
    "orderId": "1"
  }'
```

## Response examples

#### Connector HTTP 200 ack. No event is emitted.

`application/json; application/*+json; application/x-www-form-urlencoded; text/plain; */*`

```json
{
  "challenge": "abc"
}
```

#### The ingress request was accepted.

`application/json; application/*+json; application/x-www-form-urlencoded; text/plain; */*`

```json
{
  "ok": true
}
```

