GET
/
v1
/
events
import { Polar } from "@polar-sh/sdk";

const polar = new Polar({
  accessToken: process.env["POLAR_ACCESS_TOKEN"] ?? "",
});

async function run() {
  const result = await polar.events.list({
    organizationId: "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
  });

  for await (const page of result) {
    // Handle the page
    console.log(page);
  }
}

run();
{
  "items": [
    {
      "id": "<string>",
      "timestamp": "2023-11-07T05:31:56Z",
      "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
      "customer_id": "<string>",
      "customer": {
        "id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
        "created_at": "2023-11-07T05:31:56Z",
        "modified_at": "2023-11-07T05:31:56Z",
        "metadata": {},
        "external_id": "usr_1337",
        "email": "customer@example.com",
        "email_verified": true,
        "name": "John Doe",
        "billing_address": {
          "line1": "<string>",
          "line2": "<string>",
          "postal_code": "<string>",
          "city": "<string>",
          "state": "<string>",
          "country": "US"
        },
        "tax_id": [
          "911144442",
          "us_ein"
        ],
        "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
        "deleted_at": "2023-11-07T05:31:56Z",
        "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"
      },
      "external_customer_id": "<string>",
      "source": "<string>",
      "name": "<string>",
      "metadata": {
        "meter_id": "<string>",
        "units": 123,
        "rollover": true
      }
    }
  ],
  "pagination": {
    "total_count": 123,
    "max_page": 123
  }
}

Authorizations

Authorization
string
header
required

You can generate an Organization Access Token from your organization's settings.

Query Parameters

filter
string | null

Filter events following filter clauses. JSON string following the same schema a meter filter clause.

start_timestamp
string | null

Filter events after this timestamp.

end_timestamp
string | null

Filter events before this timestamp.

organization_id

Filter by organization ID. The organization ID.

Examples:

"1dbfc517-0bbf-4301-9ba8-555ca42b9737"

customer_id

Filter by customer ID. The customer ID.

external_customer_id

Filter by external customer ID.

meter_id
string | null

Filter by a meter filter clause. The meter ID.

name

Filter by event name.

source

Filter by event source.

Available options:
system,
user
page
integer
default:1

Page number, defaults to 1.

Required range: x > 0
limit
integer
default:10

Size of a page, defaults to 10. Maximum is 100.

Required range: x > 0
sorting
enum<string>[] | null

Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign - before the criteria name to sort by descending order.

metadata
object | null

Filter by metadata key-value pairs. It uses the deepObject style, e.g. ?metadata[key]=value.

Response

200
application/json

Successful Response

items
object[]
required
pagination
object
required