Skip to main content
The Track Event API allows you to record custom events for users in real time. Use this API to monitor user actions, feature usage, and engagement for analytics and personalized experiences.

When to Use

Use the HTTP Track API when:
  • Recording events from server-side code (e.g., payment completed, subscription changed)
  • Tracking actions that don’t happen in a browser
  • Syncing events from external systems (CRM, billing, support)
Use the JavaScript SDK userpilot.track() instead when:
  • User performs action in your web application
  • You need the event immediately available for content triggering

Prerequisites

  • User must already exist in Userpilot (identified via SDK or API)
  • Userpilot API Key from Settings > Environment

Endpoint

Headers

Request Body

Example

Example cURL Command

Response

A successful event tracking returns HTTP status code 202 Accepted.
Only primitive types (string, number, boolean, null) are supported in metadata.
Use this endpoint to track any custom event relevant to your analytics or engagement workflows.

Common Issues

FAQs

Use the Track Event API for server-side events, actions that don’t happen in a browser and use the JavaScript SDK’s userpilot.track() when the action happens in your web app and you need the event available immediately for content triggering.
Events may take up to 15 minutes to appear due to processing delay. If an event still hasn’t shown up after that, check that the request returned 202 Accepted and that user_id matches an already-identified user.
Only primitive types such as string, number, boolean, or null are supported currently and 
nested objects/ arrays aren’t supported.