# Weeve JSON Schemas ### Session JSON Schema ```json= { "id": "unique id - autogenerated", "name": "session name", "description": "short description of the session", "participants": ["userID"], "features": {}, "groupSeq": [ { "ref": "group_id0", "lookup": "weeveverse" }, { "ref": "group_id1", "lookup": "local" } ] } ``` ### Group JSON Schema ```json= { "id": "unique id per file", "name": "group name", "purpose": "short description of the group", "questions": [], "goal": "description of the goal", "stages": [ { "ref": "stage_id0", "lookup": "weeveverse" }, { "ref": "stage_id1", "lookup": "local" } ] } ``` ### Stage JSON Schema ```json= { "id": "unique id per file", "description": "description of the stage|{msg:...,locale:...}", // String | Object "breakoutType": { "name": "div|merge|static|shuffle", "factor": "int - div/merge factor" }, "duration": "int - stage total duration", "prompts": ["prompt"], "roles": ["role"], "features": ["feature"], // video|audio|text|recording|voting "events": ["event"], // internal only "rooms": ["room"], "transitionMode": "auto|manual" // timer or event } ``` ### Prompt JSON Schema ```json= { "message": "display message", "duration": "int - message duration", "delay": "int - when to be displayed withing the stage" } ``` ### Room JSON Schema Autogenerated but available to modify. ```json= { "participants": ["userID"], "features": ["feature"], // Copy from stage "roles": ["role"] } ```