Mission Progress
Mission Progress records the overall state of a single end user's engagement with a specific mission. It tracks whether the mission is active, completed, or failed, along with task progress details and lifecycle timestamps.
Mission Progress records are system-managed — they are created and updated automatically as Mission Log entries are processed. They cannot be created, updated, or deleted via the API.
The Mission defines the objectives and rules. The Mission Progress is the running summary of a specific user's journey against those rules.
How it works
- First log entry arrives — when a
Mission Logis created for a user on a mission for the first time, a Mission Progress record is automatically created withmissionProgressStatus: in_progressandmissionStartedAtset. - Progress accumulates — each
Mission Logentry updates the user's task progress toward mission milestones. - Mission completed — when all milestone objectives are achieved, status transitions to
completedandmissionCompletedAtis stamped. - Mission failed — if the mission time window closes before completion, status transitions to
failedandmissionFailedAtis stamped. - Task progresses surfaced — when listing Mission Progress records, the response includes
taskProgressesinline, providing full visibility into sub-task progress.
Fields
Identity & linking
| Field | Type | Description |
|---|---|---|
missionId | UUID | ID of the parent mission this progress record belongs to. Indexed. |
uniqueIdentifier | string | Auto-generated composite key: missionId + ownedById. Ensures unique progress per user per mission. |
Progress & status
| Field | Type | Default | Description |
|---|---|---|---|
missionProgressStatus | enum | in_progress | Current status of the mission for this user: in_progress · completed · failed |
isMissionToBeFailedProcessed | boolean | false | Internal flag indicating whether scheduled failure processing has run |
Timestamps
| Field | Type | Description |
|---|---|---|
missionStartedAt | datetime | Datetime when the user started the mission. Defaults to current time on creation. |
missionCompletedAt | datetime | Stamped when missionProgressStatus transitions to completed. |
missionFailedAt | datetime | Stamped when missionProgressStatus transitions to failed. |
missionToBeFailedAt | datetime | Scheduled datetime when the mission will fail if uncompleted. |
Ownership
| Field | Type | Description |
|---|---|---|
ownedById | UUID | ID of the end user (Member) this progress record belongs to. |
ownedBy | object | Read-only joined user object. |
Status values
| Status | Meaning |
|---|---|
in_progress | The mission is active — the user has started but has not completed all required activities or milestones. |
completed | All mission tasks/milestones have been completed successfully. |
failed | The mission aggregation window ended before all tasks/milestones were completed. |
The taskProgresses field
When you list Mission Progress records, the response automatically includes a taskProgresses array inline. This gives a detailed view of each sub-task's progress within the mission.
Code
Real-world examples
🛍️ E-commerce — Purchase Cycle Mission (In Progress)
A user has completed 1 of 3 steps in a weekly purchase cycle mission:
Code
☕ Community Campaign — Daily Content Mission (Completed)
A user completes all required tasks before the daily deadline:
Code
Fetching a user's mission progress
As an end user — get your progress on a specific mission:
Code
As an admin — list all progress records for a mission:
Code
Access & permissions
| Caller | Allowed operations | Notes |
|---|---|---|
| Admin | GET · LIST | Read-only — no CREATE, UPDATE, or DELETE |
| End user | GET · LIST | Can only read their own progress records |
| Guest user | (none) | Not accessible to unauthenticated callers |
Mission Progress records cannot be created, updated, or deleted via the API. They are managed automatically as Mission Log entries are logged.
Related resources
| Resource | Description |
|---|---|
| Mission | The parent mission configuration that this progress record belongs to |
| Mission Log | Activity log entries that update progress |
| Milestone | Step-by-step progress checkpoints linked to the mission |
| Reward Log | Reward entries issued upon milestone or mission completion |
API reference
See the API Reference for full request/response schemas and interactive examples for:
GET /schema/mission_progress/record— list mission progress recordsGET /schema/mission_progress/record/{id}— get a mission progress record by ID