Web analytics

Events from your apps

Send events from your servers, desktop apps and CLIs to the same dashboard as your website, and see one user across all of them.

Your apps, servers and desktop clients send events to the same dashboard with your domain's ingest key, which you copy from the domain's settings. App events follow the same rules for names and properties as custom events on the website, and show up in the Goals card next to them.

Send an event

Name the app with app, the same name the SDK sends with logs and metrics.

Terminal
curl -X POST https://api.logdash.io/events \
  -H "project-api-key: $LOGDASH_API_KEY" \
  -H "content-type: application/json" \
  -d '{"name": "agent_run", "app": "desktop", "props": {"model": "opus"}, "userId": "42"}'

Request body

FieldDescription
nameThe event name. Matches [a-z][a-z0-9_]{0,63}. Required.
appThe app that sent it, such as desktop or api. Defaults to default, and longer names are cut to 64 characters.
propsA flat object of properties, with the same limits as custom events.
userIdThe signed-in user's internal ID, never an email address. Logdash stores only the same hash identify sends from the website, so one user is one person across your website and every app.
idAn optional UUID v4. Send the same one when you retry a request, so the event is stored once.

Without userId, the event counts toward a visitor of that app whose ID changes every day, like an anonymous website visitor. From a server, always pass userId: otherwise every event from that server counts as one visitor.

Responses

StatusMeaning
202The event is queued.
400The event is invalid.
401The ingest key is unknown.
429The hourly limit of your plan is reached.

The Apps tab

Once more than one app sends events, the Goals card gets an Apps tab with the visits and people of each app, the website by its host name. Clicking an app keeps the visitors who used it, so the Apps tab then shows how many of them also use your other apps.

People who are signed in on both sides are the only ones Logdash can connect, because anonymous IDs are never shared between apps.