nozle.track() sends one event to eventsUrl/api/v1/events.
Signature
Subscription resolution
WhensubscriptionId is omitted, the SDK queries eventsUrl/api/v1/subscriptions for active subscriptions belonging to the customer:
- exactly one active subscription: its external ID is cached and used;
- no active subscriptions:
track()rejects; - multiple active subscriptions:
track()rejects and requires an explicitsubscriptionId.
subscriptionId explicitly for customers with multiple active subscriptions and for latency-sensitive event paths that should avoid the initial lookup.
Request payload
Idempotency
Generate a deterministic transaction ID and capture the event timestamp from the business operation whenever possible. Retry the same logical event with both values unchanged.Operational guidance
- Await
track()when the request must know whether ingestion succeeded. - For high-volume workloads, publish through your own durable queue and call
track()from a worker. - Do not create a new random transaction ID on each retry.
- Do not regenerate the timestamp when retrying an accepted business event.
- Match property names to the Feature aggregation configuration exactly.
- Use
usage.track()instead when the operation must atomically enforce and deduct product credits.