GET /events
List events with cursor or offset pagination, optional filters, and time range.

Authentication

API Key (header: X-API-Key) API Key (cookie: better-auth.session_token)

Query Parameters

source_id string optional query
Filter by source ID
org_id string optional query
Organization ID
status string optional query
Filter by event status
verification_status string optional query
Filter by verification status
dedup_status string optional query
Filter by dedup status
method string optional query
Filter by HTTP method
search string optional query
Search by event ID or payload content
cursor string optional query
Cursor for pagination
direction string optional query
Cursor direction
after string optional query
ISO datetime lower bound
before string optional query
ISO datetime upper bound
limit string optional query
Max results (default 50, max 100)
Example: "50"
offset string optional query
Offset for pagination
Example: "0"

Responses

200 Paginated list of events
application/json
events object[] REQUIRED
Array of:
id string REQUIRED
source_id string REQUIRED
org_id string REQUIRED
env_id string REQUIRED
method string REQUIRED
content_type string | null REQUIRED
source_ip string | null REQUIRED
payload_size integer REQUIRED
verification_status string REQUIRED
dedup_status string REQUIRED
status string REQUIRED
received_at string REQUIRED
source_name string | null REQUIRED
source_slug string | null REQUIRED
pagination object REQUIRED
total number REQUIRED
limit number REQUIRED
offset number REQUIRED
has_more boolean REQUIRED
next_cursor string | null
prev_cursor string | null
401 Unauthorized
curl -X GET 'https://hookstream.io/v1/events' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://hookstream.io/v1/events', {
  method: 'GET',
  headers: {
      "Authorization": "Bearer YOUR_API_TOKEN"
  }
});

const data = await response.json();
console.log(data);
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_TOKEN'
}

response = requests.get('https://hookstream.io/v1/events', headers=headers)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://hookstream.io/v1/events", nil)
	req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")

	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
	result, _ := io.ReadAll(resp.Body)
	fmt.Println(string(result))
}
200 Response
{
  "events": [
    {
      "id": "<string>",
      "source_id": "<string>",
      "org_id": "<string>",
      "env_id": "<string>",
      "method": "<string>",
      "content_type": "<string>",
      "source_ip": "<string>",
      "payload_size": 123,
      "verification_status": "<string>",
      "dedup_status": "<string>",
      "status": "<string>",
      "received_at": "<string>",
      "source_name": "<string>",
      "source_slug": "<string>"
    }
  ],
  "pagination": {
    "total": 123,
    "limit": 123,
    "offset": 123,
    "has_more": true,
    "next_cursor": "<string>",
    "prev_cursor": "<string>"
  }
}
GET /events
Ask a question... ⌘I