# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api GET /v1/webhooks/messages \
--query status=SUCCESS limit=10List webhook messages (endpointId ep_1234567890abcdef, eventTypes transfer.completed,transfer.failed, status SUCCESS).import requests
url = "https://sandbox.api.infinite.dev/v1/webhooks/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.infinite.dev/v1/webhooks/messages', 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://sandbox.api.infinite.dev/v1/webhooks/messages",
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://sandbox.api.infinite.dev/v1/webhooks/messages"
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://sandbox.api.infinite.dev/v1/webhooks/messages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/webhooks/messages")
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{
"available": true,
"data": [
{
"id": "msg_1234567890abcdef",
"eventType": "transfer.completed",
"timestamp": "2023-11-07T05:31:56Z",
"tags": [
"tfr_1234567890abcdef",
"cus_1234567890abcdef"
],
"status": "SUCCESS",
"nextAttempt": "2023-11-07T05:31:56Z"
}
],
"iterator": "<string>",
"done": true
}List webhook messages
Returns webhook messages sent to the organization, newest first. Scope to an endpoint with endpointId for per-endpoint delivery status and status filtering. Paginate with the iterator cursor returned by the previous page. Message history is retained for 90 days.
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api GET /v1/webhooks/messages \
--query status=SUCCESS limit=10List webhook messages (endpointId ep_1234567890abcdef, eventTypes transfer.completed,transfer.failed, status SUCCESS).import requests
url = "https://sandbox.api.infinite.dev/v1/webhooks/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.infinite.dev/v1/webhooks/messages', 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://sandbox.api.infinite.dev/v1/webhooks/messages",
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://sandbox.api.infinite.dev/v1/webhooks/messages"
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://sandbox.api.infinite.dev/v1/webhooks/messages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/webhooks/messages")
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{
"available": true,
"data": [
{
"id": "msg_1234567890abcdef",
"eventType": "transfer.completed",
"timestamp": "2023-11-07T05:31:56Z",
"tags": [
"tfr_1234567890abcdef",
"cus_1234567890abcdef"
],
"status": "SUCCESS",
"nextAttempt": "2023-11-07T05:31:56Z"
}
],
"iterator": "<string>",
"done": true
}Authorizations
API Key in Bearer format (e.g., Bearer sk_test_...)
Headers
API key
Query Parameters
Scope results to a single endpoint. Required for status filtering.
"ep_1234567890abcdef"
Filter by event types (comma-separated)
"transfer.completed,transfer.failed"
Filter by delivery status. Only applies when endpointId is provided.
SUCCESS, PENDING, FAIL, SENDING, CANCELED Only include messages created before this timestamp
"2026-08-01T00:00:00Z"
Only include messages created after this timestamp
"2026-07-01T00:00:00Z"
Filter by resource tag, e.g. a transfer or customer ID carried on the message
"tfr_1234567890abcdef"
Pagination cursor returned by a previous page
Number of results to return per page
1 <= x <= 250Response
Webhook messages retrieved successfully
Whether delivery history is available. False when webhook delivery is not configured in this environment.
Show child attributes
Show child attributes
Cursor for the next page, when more results exist
Whether this is the last page
Was this page helpful?