{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://glowtrack.app/schema/export.json", "title": "GlowTrack Export", "type": "object", "required": ["version", "app", "exportedAt", "data"], "properties": { "version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" }, "app": { "type": "object", "required": ["name", "version"], "properties": { "name": { "const": "GlowTrack" }, "version": { "type": "string" } } }, "exportedAt": { "type": "string", "format": "date-time" }, "data": { "type": "object", "required": ["settings", "habits", "days"], "properties": { "settings": { "type": "object" }, "habits": { "type": "array", "items": { "type": "object", "required": ["id", "type", "label", "defaultWeight", "archived"], "properties": { "id": { "type": "string" }, "type": { "enum": ["positive", "negative"] }, "label": { "type": "string" }, "icon": { "type": ["string", "null"] }, "defaultWeight": { "type": "number", "minimum": 0 }, "archived": { "type": "boolean" } } } }, "days": { "type": "array", "items": { "type": "object", "required": ["date", "mood", "entries"], "properties": { "date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "mood": { "type": "object", "required": ["hue", "intensity"], "properties": { "hue": { "type": "number", "minimum": 0, "maximum": 360 }, "intensity": { "type": "number", "minimum": 0, "maximum": 1 }, "note": { "type": ["string", "null"] } } }, "entries": { "type": "array", "items": { "type": "object", "required": ["id", "type", "habitId", "label", "weight", "timestamp"], "properties": { "id": { "type": "string" }, "type": { "enum": ["positive", "negative"] }, "habitId": { "type": "string" }, "label": { "type": "string" }, "weight": { "type": "number", "minimum": 0 }, "timestamp": { "type": "string", "format": "date-time" } } } } } } } } } } }