Events
Events ingestion.
Reports an event that occurred for a specific contact.
The payload must include the contact identifier (contact.id). If this is the first time you report this contact, you must also provide at least one reachable identifier: contact.phone or contact.email.
You can report events for contacts that do not yet exist in Pristo. In that case, Pristo will create the contact and add it to the population. If the contact already exists, its details will be updated according to the contact data you send.
For the contact, you can send built-in fields or custom fields. Built-in contact fields: id (required), email, phone, language, name, lastName. Custom contact fields are fields you define on your population (e.g., gender, age) and are sent under contact.customFields.
For the event itself, you can send built-in fields or custom fields. Built-in event fields: type (required; must be defined in Pristo), occurredAt (optional timestamp). Custom event fields are fields you attach to events (e.g., channel, purchaseAmount, transactionId) and are sent under customFields. All custom field values must be strings and are limited to 50 characters.
API key (UUID)
Optional request correlation ID
Event type identifier
Event stored
Indicates whether the request succeeded.
trueApplication-level status code returned by the API.
201Application-level status text returned by the API.
CreatedOptional response body. Null when no structured body is returned.
Raw response value returned by the API.
6yC9g6vFzUmFBwjeeulYnQValidation error
Invalid or missing API key
Too many requests
Internal server error
POST /v1/events/send HTTP/1.1
Host: api.pristo.io
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 302
{
"type": "purchase_completed",
"occurredAt": "2026-02-04T13:25:00Z",
"customFields": {
"channel": "website"
},
"contact": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"email": "dana@example.com",
"phone": "0545123456",
"name": "Dana",
"lastName": "Altman",
"language": "en",
"customFields": {
"gender": "female",
"age": "12"
}
}
}{
"ok": true,
"status": 201,
"statusText": "Created",
"body": null,
"raw": "6yC9g6vFzUmFBwjeeulYnQ"
}Last updated