QuestToday quest.today@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- quest
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/quest/today.v1.json
quest.today@1: today's private quest and progress for the signed-in person. GET /api/v1/quests/today requires a person token.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: mine
{
"date": "2026-11-08",
"title": "Around the network",
"story": "Visit three places today.",
"steps": [
{
"id": "stream",
"event_type": "live.stream.started",
"site": "openvibe.live",
"sentence": "Do something on openvibe.live",
"href": "https://openvibe.live/",
"weight": 1,
"count": 1,
"verification": "event subject, count within the person's local day",
"status": "approved",
"source": "quest",
"progress": 1,
"done": true
},
{
"id": "chat",
"event_type": "chat.room.message.created",
"site": "openvibe.chat",
"sentence": "Do something on openvibe.chat",
"href": "https://openvibe.chat/",
"weight": 1,
"count": 1,
"verification": "event subject, count within the person's local day",
"status": "approved",
"source": "quest",
"progress": 0,
"done": false
},
{
"id": "wiki",
"event_type": "wiki.revision.created",
"site": "openvibe.wiki",
"sentence": "Do something on openvibe.wiki",
"href": "https://openvibe.wiki/",
"weight": 1,
"count": 1,
"verification": "event subject, count within the person's local day",
"status": "approved",
"source": "quest",
"progress": 0,
"done": false
}
],
"source": "rotation",
"finished_today": 3,
"progress": 1,
"completed": false,
"completed_at": null,
"streak": 0,
"time_zone": "America/Los_Angeles"
}Rejected: too-much
{
"date": "2026-11-08",
"title": "Around the network",
"story": "Visit three places today.",
"steps": [
{
"id": "stream",
"event_type": "live.stream.started",
"site": "openvibe.live",
"sentence": "Do something on openvibe.live",
"href": "https://openvibe.live/",
"weight": 1,
"count": 1,
"verification": "event subject, count within the person's local day",
"status": "approved",
"source": "quest",
"progress": 1,
"done": true
},
{
"id": "chat",
"event_type": "chat.room.message.created",
"site": "openvibe.chat",
"sentence": "Do something on openvibe.chat",
"href": "https://openvibe.chat/",
"weight": 1,
"count": 1,
"verification": "event subject, count within the person's local day",
"status": "approved",
"source": "quest",
"progress": 1,
"done": true
},
{
"id": "wiki",
"event_type": "wiki.revision.created",
"site": "openvibe.wiki",
"sentence": "Do something on openvibe.wiki",
"href": "https://openvibe.wiki/",
"weight": 1,
"count": 1,
"verification": "event subject, count within the person's local day",
"status": "approved",
"source": "quest",
"progress": 1,
"done": true
}
],
"source": "rotation",
"finished_today": 3,
"progress": 4,
"completed": true,
"completed_at": "2026-11-08T22:00:00Z",
"streak": 1,
"time_zone": "UTC"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('quest.today@1', value); // { valid, errors: [{ path, message }] }