Get an event
curl --request GET \
--url https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"event": {
"id": 1042,
"received_at": "2026-09-24T10:15:02Z",
"queued_at": "2026-09-24T10:15:02Z",
"method": "POST",
"endpoint": "/p/2mJ8kQ4vXw9aB3cD5eF7gH1iK0L",
"status": "delivered",
"source_id": "2mJ8kQ4vXw9aB3cD5eF7gH1iK0L",
"headers": {
"Content-Type": "application/json"
},
"payload": {
"event": "order.paid",
"order_id": "9311"
},
"payload_encoding": "json"
},
"attempts": []
}{
"error": "invalid event id"
}{
"error": "<string>"
}{
"error": "<string>"
}Events
Get an event
Get one event and every delivery attempt.
event.headers is an object. event.payload is JSON, text or base64, and event.payload_encoding tells you which. In attempts, the payload and header fields are base64.
GET
/
api
/
v1
/
projects
/
{projectId}
/
events
/
{eventId}
Get an event
curl --request GET \
--url https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://hooksnode.com/api/v1/projects/{projectId}/events/{eventId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"event": {
"id": 1042,
"received_at": "2026-09-24T10:15:02Z",
"queued_at": "2026-09-24T10:15:02Z",
"method": "POST",
"endpoint": "/p/2mJ8kQ4vXw9aB3cD5eF7gH1iK0L",
"status": "delivered",
"source_id": "2mJ8kQ4vXw9aB3cD5eF7gH1iK0L",
"headers": {
"Content-Type": "application/json"
},
"payload": {
"event": "order.paid",
"order_id": "9311"
},
"payload_encoding": "json"
},
"attempts": []
}{
"error": "invalid event id"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
A workspace API key. You can also send it in the X-API-Key header.
Path Parameters
Example:
"2mJ8kQ4vXw9aB3cD5eF7gH1iK0L"
Example:
1042