0.3 source candidate: send up to 100 events with stable eventUuid, timestamp, name and properties; retain eventUuid on retry. The server derives Customer identity and source context. Local exposures must name delivered flags or experiments; remote exposures are server-only. Analytics events are never payment or authorization evidence.
API v1Updated
Make the request
0.3 source candidate: send up to 100 events with stable eventUuid, timestamp, name and properties; retain eventUuid on retry. The server derives Customer identity and source context. Local exposures must name delivered flags or experiments; remote exposures are server-only. Analytics events are never payment or authorization evidence.
Credential
Server API key or customer token. Customer calls cannot select another customer.
Permission
events:write
Set the base URL and App ID from SDK setup. These examples use placeholders and do not execute requests. Never put a server key in browser code.
The response tab lists field types, not an example payload. Actual values depend on customer state.
Request parameters
JSON body
customerIduuidOptional
Indiana customer ID mapped from a verified identity on the server. Omit for customer-token calls, which use the token-bound customer.
eventsarrayRequired
The events value for this operation. Its accepted type and constraints are listed above and below.
minItems: 1 · maxItems: 100
Show child fields
eventUuiduuidRequired
The eventUuid value for this operation. Its accepted type and constraints are listed above and below.
timestampdate-timeRequired
The timestamp value for this operation. Its accepted type and constraints are listed above and below.
namestringRequired
Display name of the customer or object; not an identity key.
minLength: 1 · maxLength: 255
propertiesobjectOptional
Validated pricing properties used to match dimensions and multipliers.
default: {}
deviceIdstringOptional
The deviceId value for this operation. Its accepted type and constraints are listed above and below.
minLength: 1 · maxLength: 255
sessionIdstringOptional
The sessionId value for this operation. Its accepted type and constraints are listed above and below.
minLength: 1 · maxLength: 255
Response fields
Successful responses include requestId and scope. Use the actual business status or accepted field to determine the result. Optional fields are omitted when unavailable.
HTTP 200 · application/json
requestIduuidRequired
Server-generated HTTP request UUID. Include it when reporting a failed request.
scopeobjectRequired
The App and environment of this response. Headers only verify scope; they cannot switch key scope.
Show child fields
projectIdstringRequired
App ID bound to the credential.
minLength: 1
environmentenumRequired
Separate data scope: sandbox or live.
Show allowed values
"sandbox""live"
insertedintegerRequired
The inserted value for this operation. Its accepted type and constraints are listed above and below.
min: 0 · max: 9007199254740991
duplicatesintegerRequired
The duplicates value for this operation. Its accepted type and constraints are listed above and below.
min: 0 · max: 9007199254740991
rejectedintegerRequired
The rejected value for this operation. Its accepted type and constraints are listed above and below.
min: 0 · max: 9007199254740991
Handle errors
Common failures
Code
Recovery
UNAUTHENTICATED
Verify the key or refresh the expired customer token once.
FORBIDDEN
Check current key permissions and customer access.
INVALID_REQUEST
Check field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCH
Use the App and environment bound to the credential.
Common failures
UNAUTHENTICATED
Recovery
Verify the key or refresh the expired customer token once.
FORBIDDEN
Recovery
Check current key permissions and customer access.
INVALID_REQUEST
Recovery
Check field types, UUIDs, decimal strings and mutually exclusive fields.
SCOPE_MISMATCH
Recovery
Use the App and environment bound to the credential.