Quickstart

From zero to your first captured error in about two minutes. The steps are the same in every language — only the install command and the import change.

1. Sign up

Create a tinymon account at console.tinymon.dev/signup. Sign in with Google. There's no credit card required during the trial.

Still in waitlist? The hosted service is in private beta. Join the waitlist and we'll send an invite when slots open.

2. Create a project

A project is one logical app — your web frontend, your API server, your cron worker. Each project has its own DSN and its own issue list. Click New project in the dashboard and give it a name (e.g. web-app).

You'll get a DSN that looks like:

tm_pub_a1b2c3d4e5f6g7h8

Keep this somewhere safe — but it's also a public token, so it's fine to ship it in client-side code.

3. Install the SDK

$ npm install tinymonjs

4. Initialise

Do this once, at app startup, before any other code runs. After this, uncaught exceptions are captured automatically.

import { init } from 'tinymonjs';

init({
  dsn:         process.env.TINYMON_DSN,
  environment: 'production',
  release:     '1.0.0',
});

5. Test it

Throw something to confirm the pipe works:

throw new Error('tinymon test event');

Open the dashboard. The event should appear within a few seconds. If it doesn't, see About the DSN below — 9 times out of 10 it's a DSN typo.

That's it. Uncaught exceptions are now captured automatically. For per-language details — manual capture, breadcrumbs, user context, web framework integration — see the SDK page for your language.

About the DSN

The DSN (Data Source Name) is the token that tells the SDK which project to send events to. It looks like tm_pub_…. Properties:

Wire format

Under the hood, every SDK POSTs an event JSON to https://console.tinymon.dev/api/ingest with header X-Tinymon-Key: tm_pub_…. The event shape is the same across languages and is validated against spec/event.schema.json.

If you're on a platform we don't have an SDK for yet, you can POST events directly:

$ curl -X POST https://console.tinymon.dev/api/ingest \
    -H "Content-Type: application/json" \
    -H "X-Tinymon-Key: tm_pub_…" \
    -d @event.json

The minimum required fields are event_id, timestamp, platform, level, sdk, and exception. Full schema in the repo.