Usage Events
List Events
Get a list of all events.
GET
/
events
JavaScript
import DodoPayments from 'dodopayments';
const client = new DodoPayments({
bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});
// Automatically fetches more pages as needed.
for await (const event of client.usageEvents.list()) {
console.log(event.business_id);
}import os
from dodopayments import DodoPayments
client = DodoPayments(
bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
)
page = client.usage_events.list()
page = page.items[0]
print(page.business_id)package main
import (
"context"
"fmt"
"github.com/dodopayments/dodopayments-go"
"github.com/dodopayments/dodopayments-go/option"
)
func main() {
client := dodopayments.NewClient(
option.WithBearerToken("My Bearer Token"),
)
page, err := client.UsageEvents.List(context.TODO(), dodopayments.UsageEventListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}package com.dodopayments.api.example;
import com.dodopayments.api.client.DodoPaymentsClient;
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;
import com.dodopayments.api.models.usageevents.UsageEventListPage;
import com.dodopayments.api.models.usageevents.UsageEventListParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();
UsageEventListPage page = client.usageEvents().list();
}
}package com.dodopayments.api.example
import com.dodopayments.api.client.DodoPaymentsClient
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient
import com.dodopayments.api.models.usageevents.UsageEventListPage
import com.dodopayments.api.models.usageevents.UsageEventListParams
fun main() {
val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()
val page: UsageEventListPage = client.usageEvents().list()
}require "dodopayments"
dodo_payments = Dodopayments::Client.new(
bearer_token: "My Bearer Token",
environment: "test_mode" # defaults to "live_mode"
)
page = dodo_payments.usage_events.list
puts(page)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Dodopayments\Client;
use Dodopayments\Core\Exceptions\APIException;
$client = new Client(
bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token',
environment: 'test_mode',
);
try {
$page = $client->usageEvents->list(
customerID: 'customer_id',
end: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
eventName: 'event_name',
meterID: 'meter_id',
pageNumber: 0,
pageSize: 0,
start: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
);
var_dump($page);
} catch (APIException $e) {
echo $e->getMessage();
}using System;
using DodoPayments.Client;
using DodoPayments.Client.Models.UsageEvents;
DodoPaymentsClient client = new();
UsageEventListParams parameters = new();
var page = await client.UsageEvents.List(parameters);
await foreach (var item in page.Paginate())
{
Console.WriteLine(item);
}use dodopayments::Client;
#[tokio::main]
async fn main() -> dodopayments::Result<()> {
let client = Client::from_env()?;
let result = client
.usage_events()
.list()
.query(serde_json::json!({}))
.await?;
println!("{result:?}");
Ok(())
}curl --request GET \
--url https://test.dodopayments.com/events \
--header 'Authorization: Bearer <token>'{
"items": [
{
"business_id": "<string>",
"customer_id": "<string>",
"event_id": "<string>",
"event_name": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"metadata": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Filter events by customer ID
Filter events by event name. If both event_name and meter_id are provided, they must match the meter's configured event_name
Filter events by meter ID. When provided, only events that match the meter's event_name and filter criteria will be returned
Number of events to return per page (default: 10)
Required range:
x >= 0Page number (0-based, default: 0)
Required range:
x >= 0Filter events created after this timestamp
Filter events created before this timestamp
Response
Events retrieved successfully
Show child attributes
Show child attributes
Last modified on March 25, 2026
Was this page helpful?
⌘I
JavaScript
import DodoPayments from 'dodopayments';
const client = new DodoPayments({
bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
});
// Automatically fetches more pages as needed.
for await (const event of client.usageEvents.list()) {
console.log(event.business_id);
}import os
from dodopayments import DodoPayments
client = DodoPayments(
bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
)
page = client.usage_events.list()
page = page.items[0]
print(page.business_id)package main
import (
"context"
"fmt"
"github.com/dodopayments/dodopayments-go"
"github.com/dodopayments/dodopayments-go/option"
)
func main() {
client := dodopayments.NewClient(
option.WithBearerToken("My Bearer Token"),
)
page, err := client.UsageEvents.List(context.TODO(), dodopayments.UsageEventListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}package com.dodopayments.api.example;
import com.dodopayments.api.client.DodoPaymentsClient;
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;
import com.dodopayments.api.models.usageevents.UsageEventListPage;
import com.dodopayments.api.models.usageevents.UsageEventListParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();
UsageEventListPage page = client.usageEvents().list();
}
}package com.dodopayments.api.example
import com.dodopayments.api.client.DodoPaymentsClient
import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient
import com.dodopayments.api.models.usageevents.UsageEventListPage
import com.dodopayments.api.models.usageevents.UsageEventListParams
fun main() {
val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()
val page: UsageEventListPage = client.usageEvents().list()
}require "dodopayments"
dodo_payments = Dodopayments::Client.new(
bearer_token: "My Bearer Token",
environment: "test_mode" # defaults to "live_mode"
)
page = dodo_payments.usage_events.list
puts(page)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Dodopayments\Client;
use Dodopayments\Core\Exceptions\APIException;
$client = new Client(
bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token',
environment: 'test_mode',
);
try {
$page = $client->usageEvents->list(
customerID: 'customer_id',
end: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
eventName: 'event_name',
meterID: 'meter_id',
pageNumber: 0,
pageSize: 0,
start: new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
);
var_dump($page);
} catch (APIException $e) {
echo $e->getMessage();
}using System;
using DodoPayments.Client;
using DodoPayments.Client.Models.UsageEvents;
DodoPaymentsClient client = new();
UsageEventListParams parameters = new();
var page = await client.UsageEvents.List(parameters);
await foreach (var item in page.Paginate())
{
Console.WriteLine(item);
}use dodopayments::Client;
#[tokio::main]
async fn main() -> dodopayments::Result<()> {
let client = Client::from_env()?;
let result = client
.usage_events()
.list()
.query(serde_json::json!({}))
.await?;
println!("{result:?}");
Ok(())
}curl --request GET \
--url https://test.dodopayments.com/events \
--header 'Authorization: Bearer <token>'{
"items": [
{
"business_id": "<string>",
"customer_id": "<string>",
"event_id": "<string>",
"event_name": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"metadata": {}
}
]
}