List events
List events with cursor or offset pagination, optional filters, and time range.
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/jsonevents
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