Skip to content

InboxService

Provides mobile inbox functionality — delta synchronization, read tracking, and message retrieval.

MethodDescription
SyncSynchronize the inbox with delta or full refresh
MarkReadMark a message as read
GetMessageGet a specific message by delivery ID

Synchronize the user’s inbox. Returns entries modified since the provided cursor timestamp.

Authorization: Authenticated user

FieldTypeDescription
cursorTimestampReturn entries modified after this timestamp. Omit for full sync.
limitint32Maximum entries to return. 1–100, default 50.
full_refreshboolForce a full refresh instead of delta sync.
FieldTypeDescription
entriesInboxEntry[]Inbox entries (new or modified).
cursorTimestampUpdated cursor for the next sync.
has_moreboolWhether more entries are available.
FieldTypeDescription
delivery_idstringDelivery ID (primary key).
messageMessageThe rendered message content.
statusDeliveryStatusCurrent delivery status.
received_atTimestampWhen the entry was received.
read_atTimestampWhen the entry was read.

TypeScript (Connect-Web)

// Initial sync
const initial = await inboxClient.sync({
limit: 50,
fullRefresh: true,
});
// Delta sync
const delta = await inboxClient.sync({
cursor: initial.cursor,
limit: 50,
});

Go (gRPC)

// Initial sync
initial, err := inboxClient.Sync(ctx, &pidgrv1.SyncRequest{
Limit: 50,
FullRefresh: true,
})
// Delta sync
delta, err := inboxClient.Sync(ctx, &pidgrv1.SyncRequest{
Cursor: initial.Cursor,
Limit: 50,
})

Mark a message as read. This is analytics-only — it does not affect workflow progression.

Authorization: Authenticated user

FieldTypeDescription
delivery_idstringDelivery ID to mark as read.

Empty response on success.

Get a specific message by delivery ID.

Authorization: Authenticated user (must be the recipient)

FieldTypeDescription
delivery_idstringDelivery ID.
FieldTypeDescription
entryInboxEntryThe inbox entry with message content.