Skip to main content
GET
/
api
/
v1
/
bko
/
webhooks
/
metrics
Get Metrics
curl --request GET \
  --url https://api.example.com/api/v1/bko/webhooks/metrics \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.example.com/api/v1/bko/webhooks/metrics"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.example.com/api/v1/bko/webhooks/metrics', 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.example.com/api/v1/bko/webhooks/metrics",
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.example.com/api/v1/bko/webhooks/metrics"

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.example.com/api/v1/bko/webhooks/metrics")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.example.com/api/v1/bko/webhooks/metrics")

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
{
  "total": 120,
  "received": 2,
  "processed": 110,
  "failed": 8,
  "idempotentDuplicates": 5
}
{
"errors": [
{
"message": "required",
"path": "name"
}
],
"message": "Bad Request Error",
"statusCode": 400
}
{
"message": "Missing or invalid access token",
"statusCode": 401
}
{
"message": "Insufficient permissions",
"statusCode": 403
}
{
"message": "Internal Server Error",
"statusCode": 500
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

actionType
string

Parses a comma-separated string.

Examples:

  • UPDATE_PAYMENT,PAYMENT_PAID,UPDATE_ORDER,UPDATE_TRANSFER
Example:

"UPDATE_PAYMENT,PAYMENT_PAID,UPDATE_ORDER,UPDATE_TRANSFER"

createdAt
string

Available operators: >, >=, <, <=, =.

Example:

">=2024-01-01;<=2024-12-31"

externalEventType
string

External provider webhook event type

Example:

"charge.paid"

externalProvider
string

External provider name

Example:

"in_memory"

fields
string

Comma-separated list of fields to include in the response. Supports dot notation for nested projection (e.g. id,name,user.email,trips.route.id). Unknown fields are silently dropped.

Response

OK

Webhook metrics

total
integer
required

Total persisted webhook events

Example:

120

received
integer
required

Webhook events waiting for processing

Example:

2

processed
integer
required

Successfully processed webhook events

Example:

110

failed
integer
required

Failed webhook events

Example:

8

idempotentDuplicates
integer
required

Duplicate provider deliveries handled idempotently

Example:

5