---
title: "Your billable events, oldest first; poll with since=<epoch ms>. What you see depends on your registration: leads you were pushed (quote_received, booked), opens of your affiliate link (link_out), or both for handed-off users."
method: GET
path: "/v1/events"
tags: ["core"]
---

# Your billable events, oldest first; poll with since=<epoch ms>. What you see depends on your registration: leads you were pushed (quote_received, booked), opens of your affiliate link (link_out), or both for handed-off users.

`GET /v1/events`

## Request

- Base URL: `https://www.putroots.com`
- URL: `https://www.putroots.com/v1/events`
- Auth: HTTP bearer

Billable events after the given epoch-millisecond timestamp. Provider keys with an endpoint / intake_email see quote_received and booked for the leads pushed to them. Provider keys with a delivery.affiliate_code see link_out: one per time our agent opened your affiliate link as the entry to do a task for a user (detail.billable is true at most once per user per day). Partner keys see booked and link_out for the users they handed off. Nobody sees another company's events.

## Query parameters

- `since` integer

## Response `200`

OK

- object
  - `source` unknown, required
  - `fetched_at` string, date-time, required
  - `partner` string, required
  - `since` integer, required
  - `events` object[], required
    - `ts` integer, required
    - `type` 'booked' | 'link_out' | 'quote_received', required: Partner keys: booked and link_out for users they handed off. Provider keys: quote_received and booked for leads pushed to them (endpoint / intake_email delivery), link_out for opens of their own affiliate link (affiliate_code delivery); a provider registered with both sees both.
    - `user` string, required
    - `detail` object, required: Projected, never the raw event. booked / quote_received: lead_id, task, code (+ amount on quote_received). link_out: task, code, billable.

## Other responses

- `400`: Bad input — error says which field.
- `401`: No key / bad token.
- `403`: Key is fine but not for this: pending approval, revoked, scope missing, or an operation only the renter's own account may call.
- `404`: No such lead / hand-off / listing under this key.
- `409`: Conflict: the code is already registered.
- `429`: Rate limited; Retry-After in seconds.

---

[API](https://skmtc.dev/putroots/apis/putroots-api.md) · [All operations](https://skmtc.dev/putroots/apis/putroots-api/llms.txt) · [OpenAPI document](https://skmtc.dev/putroots/apis/putroots-api/revisions/a859d719878d?raw)
