List pending events for a CLI webhook endpoint
curl --request GET \
--url https://api.creem.io/v1/webhooks/{id}/events/pending \
--header 'x-api-key: <api-key>'import requests
url = "https://api.creem.io/v1/webhooks/{id}/events/pending"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.creem.io/v1/webhooks/{id}/events/pending', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.creem.io/v1/webhooks/{id}/events/pending",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.creem.io/v1/webhooks/{id}/events/pending"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.creem.io/v1/webhooks/{id}/events/pending")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creem.io/v1/webhooks/{id}/events/pending")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "evt_5Xb2mQ7vN1pLk9RtYw3zA",
"object": "webhook_event",
"event_type": "checkout.completed",
"created_at": "2026-09-17T08:00:00.000Z",
"body": "{\"id\":\"evt_5Xb2mQ7vN1pLk9RtYw3zA\",\"eventType\":\"checkout.completed\",\"created_at\":1758096000000,\"object\":{\"id\":\"ch_...\"}}",
"headers": {
"creem-signature": "a1b2c3…",
"Content-Type": "application/json"
}
}
]
}Webhooks
List pending events for a CLI webhook endpoint
Events recorded for a cli delivery-mode endpoint that have not been acknowledged yet, oldest first. Each item carries the exact request body and headers an HTTP delivery would send. Forward them to your local server, then acknowledge each event with the status it returned. Only valid for endpoints created with delivery_mode: cli.
GET
/
v1
/
webhooks
/
{id}
/
events
/
pending
List pending events for a CLI webhook endpoint
curl --request GET \
--url https://api.creem.io/v1/webhooks/{id}/events/pending \
--header 'x-api-key: <api-key>'import requests
url = "https://api.creem.io/v1/webhooks/{id}/events/pending"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.creem.io/v1/webhooks/{id}/events/pending', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.creem.io/v1/webhooks/{id}/events/pending",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.creem.io/v1/webhooks/{id}/events/pending"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.creem.io/v1/webhooks/{id}/events/pending")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creem.io/v1/webhooks/{id}/events/pending")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "evt_5Xb2mQ7vN1pLk9RtYw3zA",
"object": "webhook_event",
"event_type": "checkout.completed",
"created_at": "2026-09-17T08:00:00.000Z",
"body": "{\"id\":\"evt_5Xb2mQ7vN1pLk9RtYw3zA\",\"eventType\":\"checkout.completed\",\"created_at\":1758096000000,\"object\":{\"id\":\"ch_...\"}}",
"headers": {
"creem-signature": "a1b2c3…",
"Content-Type": "application/json"
}
}
]
}Authorizations
API key for authentication. You can find your API key in the Creem dashboard under Settings > API Keys.
Path Parameters
The webhook ID
Query Parameters
Maximum number of pending events to return.
Required range:
1 <= x <= 100Response
Successfully retrieved the pending events
Pending events, oldest first.
Show child attributes
Show child attributes