Skip to main content
Browse docs

Analytics

Track file sharing activity, revenue, and custom events across your workspace

Rapidly provides built-in analytics for your file sharing workspace: a metrics dashboard, an event ingestion API for custom tracking, and real-time streaming via SSE.

Metrics Dashboard

The metrics dashboard gives you time-bucketed views of your file sharing activity and revenue. All metrics are scoped to your workspace.

Filters

Every metric supports the following filters:

  • Interval -- Hourly, Daily, Weekly, Monthly, or Yearly
  • Date range -- Custom start and end dates
  • Timezone -- All timestamps adjusted to your selected timezone
  • Share -- Filter by specific file share
  • Customer -- Filter by customer

File Sharing Metrics

  • File Share Sessions -- Total number of file sharing sessions created.
  • File Share Downloads -- Total number of file downloads across all sessions.
  • Avg Downloads Per Share -- Average downloads per sharing session.
  • Active Sessions -- Sessions currently in progress.
  • Completed Sessions -- Sessions that finished successfully.
  • Expired Sessions -- Sessions that expired before completion.
  • Free File Shares -- Sessions with no price attached.
  • Paid File Shares -- Sessions that require payment.
  • Total Data Shared (bytes) -- Cumulative file size transferred.
  • Cumulative File Shares -- Running total of all sessions over time.
  • Cumulative Downloads -- Running total of all downloads over time.

Revenue Metrics

  • File Share Revenue -- Total revenue from completed file share payments (in cents).
  • Average Share Price -- Average price across paid file shares.
  • Payment Conversion Rate -- Percentage of paid sessions that resulted in a completed payment.
  • File Share Platform Fees -- Platform fees collected from file share payments.
  • Cumulative Platform Fees -- Running total of platform fees over time.

Cost Metrics

  • Costs -- Aggregate costs from events with _cost metadata.
  • Cumulative Costs -- Running total of costs over time.
  • Cost Per User -- Average cost per active customer.
  • Active Users -- Distinct customers with recorded events.
  • Cashflow -- Revenue minus costs.

Event Ingestion API

Rapidly tracks system events automatically (e.g., customer.created, customer.updated, customer.deleted). You can also ingest your own custom events via the API for application-specific tracking.

Batch Ingestion

Send events in bulk via POST /api/events/ingest:

{
  "events": [
    {
      "name": "file.scanned",
      "customer_id": "cust_uuid",
      "timestamp": "2026-03-27T10:00:00Z",
      "metadata": {
        "file_type": "pdf",
        "size_bytes": 1048576
      }
    }
  ]
}

Each event requires a name and either a customer_id (Rapidly customer) or external_customer_id (your system's ID). Events can include arbitrary key-value metadata and support parent-child relationships via parent_id and external_id for hierarchical tracking.

Structured Metadata

Two metadata keys receive special handling:

  • _cost -- { "amount": 0.0025, "currency": "usd" } -- tracked and aggregated in cost metrics.
  • _llm -- { "vendor": "...", "model": "...", "input_tokens": 100, "output_tokens": 50, ... } -- structured LLM usage tracking.

Deduplication

Set external_id on your events to enable deduplication. Duplicate events with the same external_id are skipped during ingestion.

Event Types

Event types act as a schema registry for your events. They are created automatically when new event names are ingested and track:

  • Occurrence counts
  • First and last seen timestamps
  • Source (system or user)
  • Custom labels for display in the dashboard

Update labels via PATCH /api/event-types/{id} to give events human-readable names in the UI.

Time-Series Statistics

The GET /api/events/statistics/timeseries endpoint returns aggregate statistics grouped by event name over configurable time periods. This powers the event-level analytics view with:

  • Per-period occurrence counts and customer counts
  • Aggregated metadata field totals and averages (e.g., cost per trace)
  • Percentile breakdowns (p10, p90, p99) for numeric metadata fields

Real-Time Streaming

Rapidly streams events to connected clients via Server-Sent Events (SSE) over Redis pub/sub:

  • User stream -- GET /api/stream/user -- events for the authenticated user.
  • Workspace stream -- GET /api/stream/workspaces/{id} -- events scoped to a workspace.

Use these endpoints to build real-time dashboards or trigger client-side updates when new file shares, payments, or custom events occur.