Skip to main content
Product and care engagement signals: check-ins, sessions, and interactions. Submit these via POST /v1/logs/batch or the Python SDK; see How logs work for submission fields and the difference between lifecycle-tracked and point-in-time log types.

User login

Type: user_login · Source: Python SDK / REST · Extensible Reserved for login events: app login; optional metadata. Payload
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.USER_LOGIN,
    patient_id="your-patient-id",
    payload={},
)
Related types: Use user_logout for logout, content_interaction or feature_usage for content or feature interaction, task_outcome for task completion.

User logout

Type: user_logout · Source: Python SDK / REST · Extensible Reserved for logout events: app logout; optional metadata. Payload
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.USER_LOGOUT,
    patient_id="your-patient-id",
    payload={},
)
Related types: Use user_login for login. Not intended for other engagement (content_interaction, task_outcome, etc.).

Content interaction

Type: content_interaction · Source: Python SDK / REST · Extensible Reserved for user actions on content (view, bookmark, dismiss, etc.): content_type + action (viewed, bookmarked, dismissed, completed, shared, clicked); content_id, dwell_time_seconds optional. Payload
content_type
string
required
Client-defined (e.g. card, article, video, recipe).. Example: card, article, video
action
string
required
User action on the content item.. One of: viewed, bookmarked, dismissed, completed, shared, clicked
content_id
string
Identifier of the content item.
title
string
Display title of the content item.
preview
string
Short preview or excerpt shown to the user.
dwell_time_seconds
integer
Time spent viewing. Populated for viewed actions.
reason
string
Reason for the action. Relevant for dismissed actions.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.CONTENT_INTERACTION,
    patient_id="your-patient-id",
    payload={
        "content_type": "card",
        "action": "viewed"
    },
)
Related types: Use notification_interaction for notification interaction, task_outcome for task completion, feature_usage for feature use.

Notification interaction

Type: notification_interaction · Source: Python SDK / REST · Extensible Reserved for push notification interactions: notification_type + action (opened, dismissed, snoozed); delivered_at, time_to_open_seconds optional. Payload
notification_type
string
required
Client-defined (e.g. medication_reminder, symptom_checkin, lab_result).. Example: medication_reminder, symptom_checkin, lab_result
action
string
required
How the user interacted with the notification.. One of: opened, dismissed, snoozed
delivered_at
string
ISO 8601 UTC datetime when the notification was delivered.
time_to_open_seconds
integer
Seconds between delivery and opening. Populated for opened actions.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.NOTIFICATION_INTERACTION,
    patient_id="your-patient-id",
    payload={
        "notification_type": "medication_reminder",
        "action": "opened"
    },
)
Related types: Use content_interaction for content interaction, task_outcome for task, interaction_feedback for in-app message feedback.

Task outcome

Type: task_outcome · Source: Python SDK / REST · Extensible Reserved for completion or skip of a discrete task or flow: task_type + action (completed/skipped); task_id, task_description, completion_time_seconds optional. Payload
task_type
string
required
Client-defined (e.g. checkin, questionnaire, onboarding_step, medication_log).. Example: checkin, questionnaire, onboarding_step
action
string
required
Whether the task was completed or skipped.. One of: completed, skipped
task_id
string
Reference to the specific task instance.
task_description
string
Human-readable description of the task.
completion_time_seconds
integer
Time taken to complete the task in seconds.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.TASK_OUTCOME,
    patient_id="your-patient-id",
    payload={
        "task_type": "checkin",
        "action": "completed"
    },
)
Related types: Use questionnaire_response for questionnaire response content, content_interaction for content view, feature_usage for feature use.

Interaction feedback

Type: interaction_feedback · Source: Python SDK / REST · Extensible Reserved for explicit user feedback on a system-generated item: target_type (e.g. message, content) + feedback_type (e.g. thumbs_up, flagged); target_id optional. Payload
target_type
string
required
e.g. message, content or client-defined.. Example: message, content
target_id
string
Identifier of the item that received feedback.
feedback_type
string
required
e.g. thumbs_up, thumbs_down, bookmarked, flagged.. Example: thumbs_up, thumbs_down, flagged
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.INTERACTION_FEEDBACK,
    patient_id="your-patient-id",
    payload={
        "target_type": "message",
        "feedback_type": "thumbs_up"
    },
)
Related types: Use content_interaction for content action like bookmark, task_outcome for task skip, notification_interaction for notification.

Feature usage

Type: feature_usage · Source: Python SDK / REST · Extensible Reserved for interaction with a named app feature: feature_name; session_id, dwell_time_seconds optional. Payload
feature_name
string
required
Name of the app feature used. Client-defined string.
session_id
string
Session identifier linking multiple feature_usage events in one app session.
dwell_time_seconds
integer
Time spent in the feature in seconds.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.FEATURE_USAGE,
    patient_id="your-patient-id",
    payload={
        "feature_name": "..."
    },
)
Related types: Use content_interaction for content item action, task_outcome for task, user_login or user_logout for login/logout.