Payload Format
Prima delivers each notification as an HTTP POST with a
Content-Type of application/json and a Date header.
The body is a single JSON object.
Common envelope
Every notification — CRUD or lifecycle event — shares these fields:
| Field | Type | Description |
|---|---|---|
EventTimestamp |
string (ISO 8601) | When the event occurred, in UTC. |
MessageId |
string (GUID) | Unique id for this notification. Use it to de-duplicate, since delivery is at-least-once. |
Event |
string | For CRUD notifications: Add, Modify, or Delete. For lifecycle events: the milestone name (e.g. Stained). |
<Entity>Id |
integer | Id of the affected entity (e.g. CaseId, SlideId). |
<Entity> |
object or null | The full entity object (e.g. Case, Slide). This is null when the entity was deleted or could not be retrieved — the <Entity>Id is always present. |
Field names by notification type
The <Entity>Id and <Entity> fields are named after the
entity. The embedded object matches the corresponding model in the
REST API.
| Notification | Id field | Entity field |
|---|---|---|
| Case | CaseId | Case |
| Specimen | SpecimenId | Specimen |
| Cassette / Block | CassetteId | Cassette |
| Slide | SlideId | Slide |
| Study | StudyId | Study |
| Animal | AnimalId | Animal |
Tip: See Examples for complete sample
payloads and a minimal receiver.