Docs

Docs

x-cpod-domain: notifications

Notifications

User notifications and broadcast announcements.

Try in explorer client.notifications

Notification

A targeted notification to a Person.

REST path/api/v1/notifications/notifications
Operations
listgetmark_readdelete
SDK
// list — returns only your records; add filters/search:
await client.notifications.notifications.list()
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
recipient_iduuidUUID of the Person who should receive this notification.
typestringSeverity / intent classification of the notification.
channelstringDelivery channel used for this notification.
titlestringShort summary line shown in notification lists and email subjects.
bodystringFull notification body text.
entity_typestringThe EDM entity type that triggered this notification (e.g. 'LeaveRequest', 'Contract').
entity_iduuidUUID of the triggering entity instance. Null when not tied to a specific record.
read_atdate-timeISO 8601 timestamp when the recipient marked this notification as read. Null if still unread.
action_urlstringOptional deep-link URL the recipient can follow to act on this notification.

Announcement

A broadcast to a tenant or group.

REST path/api/v1/notifications/announcements
Operations
listgetcreatepublishdelete
SDK
// list — returns only your records; add filters/search:
await client.notifications.announcements.list()

// create:
await client.notifications.announcements.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
titlestringAnnouncement headline.
bodystringFull announcement body in Markdown.
author_iduuidUUID of the Person who authored this announcement.
audience_typestringScoping strategy for the audience. 'all' broadcasts to every person in the tenant.
audience_idsjsonList of group, department, or role identifiers that form the target audience. Empty when audienceType is 'all'.
pinnedbooleanWhether this announcement is pinned to the top of the notice board.
published_atdate-timeISO 8601 timestamp when the announcement was published. Null while in draft status.
expires_atdate-timeISO 8601 timestamp after which the announcement is no longer shown. Null means no expiry.
statusstringPublication lifecycle status of the announcement.
tagsjsonFree-form tags for filtering and categorisation.