HatchedDocs
ReferenceWidgets

Group Quest widget

Cooperative team goal with a shared progress bar — join, contribute, and win together.

Mount

<script src="https://cdn.hatched.live/widget.js" data-session-token="SESSION_TOKEN" defer></script>

<div data-hatched-mount="group-quest"></div>

Joining or leaving a quest is a write, so mount the Group Quest widget with a session token. With an embed token the active quests render read-only and the join button is disabled.

Script attributes

AttributeValuesDefault
data-session-tokenwidget session tokenjoin enabled
data-embed-tokenembed tokenread-only
data-themelight darklight
data-api-base-urlAPI origin + /api/v1https://api.hatched.live/api/v1

Required scopes

  • read lists the active quests visible to the buddy.
  • quests:join is required to join or leave — mount with a session token granted the quests:join scope. Embed tokens are read-only.

Plan & capability

  • Capability: group_quest (tenant toggle in Settings → Capabilities).
  • Minimum plan: Growth.
  • Two distinct 403s can come back:
    • 403 plan_feature_locked — the plan does not entitle the capability. Details carry required_plan and an upgrade_url.
    • 403 capability_disabled — the plan entitles it but an operator turned the Settings toggle off for this workspace.

Endpoints

MethodPathPurpose
GET/widget/group-quests/activeActive quests visible to the buddy (progress, deadline)
POST/widget/group-quests/:id/joinJoin a quest — idempotent (already_joined on re-join)
POST/widget/group-quests/:id/leaveLeave a quest — prior contribution stays counted

The public mount name is group-quest; the API routes are namespaced under /widget/group-quests (plural).