Schemas
QuestChainsOutput
Temporary authorization and baseline for quest chain polling.
Active quest chains of the user, each with its tasks and progress. Empty when the user exists but takes part in no active chain, and also empty when the user is unknown — read user.exists to tell those apart.
Tasks from past (expired or completed) quest chains whose reward has not yet been claimed. The user may call the reward-claim endpoint for any of these.
Facts about the requested user that hold regardless of chain membership.
QuestChainItem
The quest chain this entry describes.
Levels of the chain, ordered by order_by. Contains a single virtual level when levels are disabled.
Progress of the requested user inside this chain.
Final reward of this quest chain, or null when the chain has no final reward.
QuestChain
idQuest chain unique identifier.
nameQuest chain name, safe to show to the user as is.
descriptionLong-form quest chain description, or null when the chain has none.
logo_urlAbsolute URL of the chain logo, or null when the chain has none.
background_image_urlAbsolute URL of the chain background image, or null when the chain has none.
start_dateMoment the chain becomes joinable, ISO 8601 with offset. Null means the chain has no explicit start and is governed by its status alone.
end_dateMoment the chain stops accepting progress, ISO 8601 with offset. Null means the chain has no explicit end.
statusLifecycle state of the quest chain itself. Only active, cooldown, pending_reward chains are returned by the active-chains endpoint;
platform_idIdentifier of the platform that owns the chain. Always the caller's own platform.
advertiser_idIdentifier of the advertiser funding the chain rewards, or null for a platform-funded chain.
allow_any_orderWhen true the tasks may be completed in any order; when false the chain is step-by-step and unreached tasks are reported with user_status: "locked".
use_levelsWhen true the tasks are grouped into levels; when false all tasks belong to a single virtual level.
QuestChainLevel
idLevel identifier, or null for the virtual common level when the chain has no levels.
nameLevel display name, or null for the virtual common level when the chain has no levels.
show_contentWhether the tasks of this level are visible to the user.
completedWhether all tasks in this level are completed or claimed by the user.
Tasks belonging to this level, ordered by sequence_number.
QuestChainTask
idTask unique identifier. Pass it to the reward-claim endpoint.
sequence_numberPosition of the task inside the chain, starting at 1. Tasks arrive already ordered by this field.
nameTask name, safe to show to the user as is.
descriptionLong-form task description, or null when the task has none.
condition_event_typeType of the event that completes this task, for example transaction, link_account or kyc. Send it back through the events endpoint when the user performs the action.
condition_min_amountMinimum event amount required to complete the task, or null when the task has no amount condition.
condition_currencyCurrency the condition_min_amount is denominated in, for example USD. Null when the task has no amount condition.
condition_after_timestampOnly events at or after this moment can complete the task, ISO 8601 with offset. Null when the task has no lower time bound.
condition_before_timestampOnly events at or before this moment can complete the task, ISO 8601 with offset. Null when the task has no upper time bound.
reward_typeReward kind, for example credit, item, multiplier or case. Null when the task carries no reward. For a task completed by a retroactive event this is the retro reward, which may differ from the regular one.
reward_nameHuman-readable reward name, or null when the task carries no reward.
reward_valueNumeric reward value; meaningful for credit and multiplier rewards. Null when the reward has no numeric value.
reward_image_urlsAbsolute URLs of the reward images, or null when the reward has none.
user_statusState of the task for the requested user, or null when no per-user record exists yet. See QuestChainUserTaskStatus for the individual values.
level_idIdentifier of the level this task belongs to, or null when the task is not assigned to any level.
QuestChainUserProgress
statusState of this user's participation in the chain.
progressCompletion of the chain in percent, 0 to 100.
joined_atMoment the user joined the chain, ISO 8601 with offset.
completed_atMoment the user completed the chain, ISO 8601 with offset. Null while the chain is still in progress.
completed_tasksNumber of tasks the user has completed or already claimed.
total_tasksTotal number of tasks in the chain.
QuestChainReward
idFinal quest chain reward identifier.
typeReward code sent to the reward provider, or null when it is not set.
nameHuman-readable reward name, or null when the reward has none.
valueNumeric reward value, or null when the reward has no numeric value.
image_urlsAbsolute URLs of the reward images, or null when the reward has none.
claimableWhether the requested user can claim this final chain reward now.
RetroEvent
event_typeAdvertiser-defined event type, for example deposit.completed.
timestamp^(?:(?:\d\d[2468][04… · requiredMoment the event occurred, formatted as an ISO 8601 UTC timestamp.
amountNon-negative event amount when the event represents a measurable value.
currencyCurrency or unit associated with amount, when applicable.
referenceAdvertiser-side idempotency or audit reference for this event.
Additional advertiser-defined event attributes.
ConnectAccountOutput
user_connectedAlways true when the account connection completed successfully.
user_idOnward user identifier.
platform_user_idIdentifier of the user in the platform's system.
advertiser_user_idIdentifier of the user in the advertiser's system.
redirect_urlValidated URL to which the integration should redirect the user.
event_idIdentifier of the account-link event created by Onward.
processed_outbox_record_idsIdentifiers of outbox records processed as part of the connection workflow.
RegisterUserOutput
user_idInternal Onward identifier of the user.
platform_user_idUnique user identifier supplied by the platform.
created_atMoment the user was created, formatted as an ISO 8601 timestamp.
already_existsIndicates whether the user already existed at the moment of the request.
SendEventOutput
event_idInternal identifier of the recorded event.
user_idThe caller-scoped user identifier supplied in the request.
event_typeThe caller-defined event type supplied in the request.
received_atMoment Onward first recorded the event, formatted as an ISO 8601 timestamp.
statusreceived for a newly recorded event or duplicate when the same user, event type, and event timestamp were already recorded.
ClaimTaskRewardOutput
user_task_idIdentifier of the user's task-progress record that was claimed.
task_idIdentifier of the claimed task.
user_idInternal Onward identifier of the user.
claimed_atISO 8601 timestamp when the reward claim was recorded.
ClaimChainRewardOutput
quest_chain_idIdentifier of the quest chain whose chain-level reward was claimed.
user_idInternal Onward identifier of the user.
claimed_atISO 8601 timestamp when the chain reward claim was accepted.