DocsGet started

Get started

GraphJSON documentation

3 min readReviewed July 2026

GraphJSON turns JSON events into useful analytics without asking you to design a warehouse first. Send an event, inspect it immediately, and build charts, dashboards, alerts, or embedded analytics from the same data.

Choose your path#

If this is your first time using GraphJSON, start with the quickstart. You will send a real event and graph it in about five minutes.

If you already have data flowing, jump to the task you need:

I want to… Start here
Understand how GraphJSON stores data Events and collections
Instrument an application Design an event schema
Model people and customer accounts Users, accounts, and identity
Make delivery production-ready Reliable event delivery
Collect from browsers or mobile apps Browser and mobile collection
Query data with SQL Run SQL queries
Manage and share dashboards Dashboard management
Monitor instrumentation quality Instrumentation health
Put a chart in my product Embed graphs
Send events over HTTP API overview
Export or delete data Data portability
Migrate historical analytics Migration overview
Follow an end-to-end design Reference architectures

The GraphJSON workflow#

Most projects follow the same loop:

  1. Collect. Send JSON objects to a named collection, or connect an integration.
  2. Inspect. Use the Samples view to confirm the shape and types of incoming fields.
  3. Visualize. Choose a chart, time range, aggregation, metric, split, and filters.
  4. Share. Save the result to a dashboard, create an alert, or generate an embed.
  5. Go deeper. Use the SQL notebook when the visualizer is not expressive enough.

You do not need to declare a schema before logging. GraphJSON discovers fields from your events and keeps the original event timestamp alongside the JSON payload.

A small mental model#

A collection is a named stream of related events. An event is a JSON object plus a Unix timestamp. Every workspace also has a virtual all_events collection that lets you query across all of its collections.

For example, a product_events collection might contain:

{
  "event": "checkout_completed",
  "user_id": "usr_42",
  "plan": "pro",
  "amount": 4900,
  "currency": "usd"
}

From that one event shape, you can count checkouts, sum revenue, compare plans, build a conversion funnel, or filter a customer-facing chart to one user_id.

A note on flexibility#

GraphJSON accepts changing JSON shapes, but analytics become much easier when the same concept always has the same name and type. A field that alternates between 49, "49", and "$49" is harder to aggregate than a consistently numeric amount.

Read Design your event schema before instrumenting a large surface area. A few deliberate conventions now will save a great deal of cleanup later.

Get help#

If an answer is missing or something behaves differently from these docs, email hi@graphjson.com. Include the collection name, endpoint or dashboard page, and the exact error message. Never send your API key by email.

Need a hand?

Tell us what you’re building and we’ll point you in the right direction.

Contact support