Events
curl --request GET \
--url https://api.viarosandbox.com/v1/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.viarosandbox.com/v1/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.viarosandbox.com/v1/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.viarosandbox.com/v1/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.viarosandbox.com/v1/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.viarosandbox.com/v1/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.viarosandbox.com/v1/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_bodyDeveloper Platform
Events
Inspect the append-only audit trail of events emitted across your Pursar ecosystem.
GET
/
events
Events
curl --request GET \
--url https://api.viarosandbox.com/v1/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.viarosandbox.com/v1/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.viarosandbox.com/v1/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.viarosandbox.com/v1/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.viarosandbox.com/v1/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.viarosandbox.com/v1/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.viarosandbox.com/v1/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_bodyEvents are our way of letting you know when something interesting happens in your account. When an event occurs, Pursar creates an
Event object and sends it to all configured webhook endpoints.
You can also poll or query the /events endpoint to audit past activities, inspect delivery status, or recover missed events.
Query Parameters
integer
default:"10"
A limit on the number of objects to be returned, between
1 and 100.string
Filter events by specific event type (e.g.
payment_intent.succeeded, charge.successful).Code Examples
curl -G https://api.viarosandbox.com/v1/events \
-u sk_test_uLsofsae3tB9Izwgeuy0Mxbh4JIxUPSG: \
-d limit=10
import requests
url = "https://api.viarosandbox.com/v1/events"
auth = ("sk_test_uLsofsae3tB9Izwgeuy0Mxbh4JIxUPSG", "")
response = requests.get(url, auth=auth, params={"limit": 10})
print(response.json())
const axios = require('axios');
async function listEvents() {
const response = await axios.get('https://api.viarosandbox.com/v1/events', {
auth: {
username: 'sk_test_uLsofsae3tB9Izwgeuy0Mxbh4JIxUPSG',
password: ''
},
params: { limit: 10 }
});
console.log(response.data);
}
listEvents();
Response
{
"object": "list",
"data": [
{
"id": "evt_1a2b3c4d5e6f",
"object": "event",
"type": "payment_intent.succeeded",
"data": {
"object": {
"id": "pi_550e8400e29b41d4a716446655440000",
"amount": 25000,
"currency": "XAF",
"status": "succeeded",
"customer_email": "[email protected]"
}
},
"created_at": "2026-11-06T11:35:00Z"
}
],
"has_more": false
}

