Skip to main content
POST
Submit one product event

Authorizations

Authorization
string
header
required

Personal Access Token or OAuth 2.1 access token, sent as a bearer credential (Authorization: Bearer inf_pat_...). Read operations require a token with the READ scope; write operations (POST/PATCH/DELETE) require WRITE.

Body

application/json

One product event. The encoded event must not exceed 256 KiB. String limits count Unicode code points. See timestamp for the accepted formats.

eventId
string
required

Unique per event within your tenant; used for deduplication. Must not be blank.

Required string length: 1 - 100
userId
string
required

The product user id, as used by POST /v2/users. Must not be blank.

Required string length: 1 - 100
eventName
string
required

Must not be blank or start with $.

Required string length: 1 - 200
timestamp
required

When the event happened, as one of:

  • An ISO 8601 date-time with an offset: 2026-11-04T10:52:00Z, 2026-11-04T10:52:00.123+05:30.
  • An ISO 8601 date-time without an offset, read as UTC: 2026-11-04T10:52:00.
  • An integer number of Unix milliseconds: 1793789520000. Seconds resolve to a date in 1970.

Date-times need the T separator and at least hours and minutes; seconds and up to nine fraction digits are optional, and precision beyond microseconds is truncated. Offsets are Z, ±HH, ±HH:MM or ±HH:MM:SS (+0530 is rejected). A date alone, a space separator, a numeric string and a non-integer number are rejected. The result must fall in a UTC year from 1000 through 9999.

properties
object
required

Arbitrary JSON values. Top-level keys contain 1-200 Unicode code points and must not be blank; every string value, at any depth, is limited to 8,192 Unicode code points. Numbers must be within the finite IEEE 754 double-precision range. Nested objects and arrays are stored, but only top-level string, number and boolean values can be used in dynamic lists and triggers.

orgId
string | null

Optional organization identifier; null is treated as absent and whitespace-only values are rejected.

Required string length: 1 - 100

Response

SUCCESS: every event was accepted. PARTIAL_SUCCESS (batch only): at least one event was accepted and the rejected ones are listed in errors.

Contains only errors and metadata; accepted events are not listed individually. Missing required fields are grouped into one INVALID_SCHEMA error; a null value counts as missing. If none are missing, unknown fields are grouped the same way. Otherwise only the first validation failure is returned. Each failed event produces at most one public error.

meta
object
required
errors
object[]