---
# System prepended metadata

title: Weeve JSON Schemas

---

# 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"]
}
```