Quickstart

Create a project, send a valid event, and run your first analytics query step by step.

Last verified 2026-08-02

This guide starts with an empty account and ends with a working analytics query. It assumes no previous ReportPlane knowledge.

You will model a simple page_view event with these fields:

FieldTypeMeaning
occurred_attimestampWhen the page view happened
account_idstringThe customer account
pathstringThe page path
duration_msintegerTime spent on the page

Before you begin

You need a verified ReportPlane account and permission to create resources in a workspace. If your workspace requires a customer-owned warehouse, have a supported warehouse credential ready.

1. Create a project

Open the console, choose your workspace, and select New project. Use a clear name such as Acme Production.

A project is an isolation boundary. Data models, clients, analytics definitions, and warehouse connections belong to a project. Development and production should normally use separate projects.

2. Create a data model

Go to Data → Data Models → New data model. Name the model page_view and add the four fields from the table above.

Set occurred_at as the time field. Mark fields as required only when every sender can always provide them. Save the model.

3. Connect storage

Go to Data → Warehouses.

  • Choose Managed warehouse when it is enabled for your workspace.
  • Otherwise, create a customer warehouse connection and provide the requested credential.

Open the model and confirm that it has an active destination. A destination is the delivery relationship between the model and the warehouse.

4. Create an ingest client

Go to Access → Ingest Clients → New ingest client.

  1. Name it web-app.
  2. Select HTTP as the protocol.
  3. Allow the page_view model.
  4. Choose the authentication method.
  5. Add a CIDR restriction only if the sender uses predictable outbound addresses.

The detail page shows the effective endpoint and access policy.

5. Send one event

Use the credential shown by the console. Secrets may be displayed only once, so copy them immediately and store them in a secret manager.

curl https://ingest.reportplane.com/ingest \
  -H "Authorization: Bearer YOUR_INGEST_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "schema": "page_view",
    "data": [
      {
        "occurred_at": "2026-08-02T12:00:00Z",
        "account_id": "acct_123",
        "path": "/settings/team",
        "duration_ms": 18420
      }
    ]
  }'

An accepted response means ReportPlane validated and queued the event. It does not mean the warehouse finished writing it in the same millisecond; delivery is asynchronous.

6. Check the data flow

Open Analytics → Live Monitor to see recent ingest activity. You can also inspect the data model and destination statistics.

If the event is rejected, read the returned error before retrying. Common causes are a missing required field, a type mismatch, a model that the client cannot access, or an authentication/network restriction.

7. Create an Analytics API

Go to Analytics → APIs → New Analytics API.

Create a definition that groups by path and counts events:

  • Dimension: path
  • Metric: count
  • Order: count descending
  • Limit: 10
  • Visualization: bar chart

Save and publish the definition. The preview should return rows containing a path and count.

8. Create a query client

Go to Access → Query Clients → New query client.

Allow the Analytics API you created. Select an authentication method and save the client. Copy its secret if the console generates one.

9. Run the query

curl https://query.reportplane.com/query \
  -H "Authorization: Bearer YOUR_QUERY_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "analytics": "YOUR_ANALYTICS_API_KEY",
    "query": {
      "filters": []
    }
  }'

A successful response uses the standard envelope and includes columns, rows, and result_metadata inside data.

Where to go next

Was this page helpful?Send feedback