Skip to content

Events

Send, retrieve, and query webhook events.

Ingest Event

POST /e/:endpoint_id

Send an event to a specific endpoint. Just POST JSON with your API key — no signing required.

Headers

HeaderRequiredDescription
AuthorizationYesBearer API key
X-Event-TypeNoEvent type (auto-detected from event_type in body if omitted)
X-Correlation-IDNoYour tracking ID for this event (max 128 chars, alphanumeric + -_)
X-PromptJang-SignatureConditionalRequired only when inbound signature verification is enabled
X-PromptJang-TimestampConditionalRequired only when inbound signature verification is enabled

Request Body

json
{
  "event_type": "order.created",
  "data": {
    "order_id": "ORD-001",
    "amount": 99.99
  }
}

The body can be any JSON. event_type is extracted from the body or the X-Event-Type header.

Response

HTTP 202 Accepted
json
{
  "id": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "status": "QUEUED"
}

Save the id — use it to check delivery status later.

List Events

GET /api/v1/events

Query Parameters

ParamTypeDefaultDescription
limitinteger50Results per page (max 100)
offsetinteger0Offset for pagination
endpoint_idstringFilter by endpoint
statusstringFilter by status
event_typestringFilter by event type
correlation_idstringFilter by your correlation ID

Response

json
{
  "events": [
    {
      "id": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
      "endpoint_id": "4e2eba24818c6a8bbbdab486cfad9785",
      "event_type": "order.created",
      "status": "DELIVERED",
      "created_at": "2026-05-27T12:00:00Z"
    }
  ],
  "total": 142,
  "limit": 50,
  "offset": 0
}

Get Event

GET /api/v1/events/:id

Response

json
{
  "id": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "org_id": "e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
  "endpoint_id": "4e2eba24818c6a8bbbdab486cfad9785",
  "event_type": "order.created",
  "status": "DELIVERED",
  "payload": {
    "order_id": "ORD-001",
    "amount": 99.99
  },
  "delivery_attempts": [
    {
      "id": "da_7a337feef0633bcfa20ae1b0ba3e0372",
      "status_code": 200,
      "duration_ms": 145,
      "attempted_at": "2026-05-27T12:00:01Z"
    }
  ],
  "created_at": "2026-05-27T12:00:00Z"
}

Replay Event

POST /api/v1/events/:id/replay

Re-delivers a past event. The original event is marked REPLAYED and a new event is created.

Response

json
{
  "id": "f1e2d3c4b5a697886970615043322110",
  "status": "QUEUED"
}

Released under the MIT License.