List inbound webhook events
curl --request GET \
--url https://api.subscriber.dev/inbound-events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.subscriber.dev/inbound-events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.subscriber.dev/inbound-events', 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.subscriber.dev/inbound-events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.subscriber.dev/inbound-events"
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))
}HttpResponse<String> response = Unirest.get("https://api.subscriber.dev/inbound-events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.subscriber.dev/inbound-events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"events": [
{
"source": "<string>",
"externalEventId": "<string>",
"type": "<string>",
"status": "received",
"matchedEvents": [
"<string>"
],
"outcome": "<string>",
"subscriberPublicId": "<string>",
"subscriberEmail": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"processedAt": "2023-11-07T05:31:56Z"
}
],
"limit": 123,
"offset": 123
}{
"statusCode": 404,
"message": "Workflow not found",
"error": "Not Found",
"errors": [
{
"path": [
"<string>"
],
"message": "<string>",
"code": "<string>"
}
]
}{
"statusCode": 404,
"message": "Workflow not found",
"error": "Not Found",
"errors": [
{
"path": [
"<string>"
],
"message": "<string>",
"code": "<string>"
}
]
}Inbound events
List inbound webhook events
Webhook events received from inbound sources (e.g. Stripe) for this environment, most recent first, with the events they matched and what happened (workflow triggered, no workflow triggered by it, person not found, etc.).
GET
/
inbound-events
List inbound webhook events
curl --request GET \
--url https://api.subscriber.dev/inbound-events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.subscriber.dev/inbound-events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.subscriber.dev/inbound-events', 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.subscriber.dev/inbound-events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.subscriber.dev/inbound-events"
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))
}HttpResponse<String> response = Unirest.get("https://api.subscriber.dev/inbound-events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.subscriber.dev/inbound-events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"events": [
{
"source": "<string>",
"externalEventId": "<string>",
"type": "<string>",
"status": "received",
"matchedEvents": [
"<string>"
],
"outcome": "<string>",
"subscriberPublicId": "<string>",
"subscriberEmail": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"processedAt": "2023-11-07T05:31:56Z"
}
],
"limit": 123,
"offset": 123
}{
"statusCode": 404,
"message": "Workflow not found",
"error": "Not Found",
"errors": [
{
"path": [
"<string>"
],
"message": "<string>",
"code": "<string>"
}
]
}{
"statusCode": 404,
"message": "Workflow not found",
"error": "Not Found",
"errors": [
{
"path": [
"<string>"
],
"message": "<string>",
"code": "<string>"
}
]
}Authorizations
bearerapi-key
A session token from subscriber login, used by subscriber.dev's own apps. Requests about an environment also need its ID in the x-environment-id header. From your own code, use an API key.
Query Parameters
Only events from this source, e.g. "stripe".
Required range:
1 <= x <= 100Required range:
0 <= x <= 9007199254740991