{ "_about": [ "The export/import format, pinned for every implementation of it.", "Read by the server (tests/test_portable_fixture.py, and the export check in test_integration.py) and by the core (local/portable.rs). The desktop's offline Export and Import are the core's copy; a backup taken on one surface has to restore on the other.", "`keep` and `native` are notes as they arrive, with the spec each importer must make of them. `export` names the keys an export writes, at the top of notes.json and on each note. A difference between the server and the core here is a backup that loses something on the way across." ], "keep": [ { "about": "A list note keeps its text as well as its items; annotation URLs are folded into the body; the colour is read past.", "dir": "Takeout/Keep", "note": { "title": "Groceries", "textContent": "for the weekend", "listContent": [ { "text": "Milk", "isChecked": false }, { "text": "Eggs", "isChecked": true } ], "annotations": [{ "url": "https://example.com/recipe" }], "labels": [{ "name": "shopping" }], "color": "TEAL", "isPinned": true, "isArchived": false, "isTrashed": false, "createdTimestampUsec": 1600000000000000, "userEditedTimestampUsec": 1600000100000000, "attachments": [ { "filePath": "photo.jpg", "mimetype": "image/jpeg" }, { "filePath": "scan.png" } ] }, "spec": { "title": "Groceries", "body": "for the weekend\n\nhttps://example.com/recipe", "pinned": true, "archived": false, "trashed": false, "labels": ["shopping"], "items": [ { "text": "Milk", "checked": false }, { "text": "Eggs", "checked": true } ], "attachments": [ { "file": "Takeout/Keep/photo.jpg", "mime": "image/jpeg" }, { "file": "Takeout/Keep/scan.png", "mime": "image/png" } ], "created_at": "2020-09-13T12:26:40Z", "updated_at": "2020-09-13T12:28:20Z" } }, { "about": "A trashed, archived text note with no timestamps.", "dir": "", "note": { "textContent": "old idea", "isArchived": true, "isTrashed": true }, "spec": { "title": null, "body": "old idea", "pinned": false, "archived": true, "trashed": true, "labels": [], "items": [], "attachments": [], "created_at": null, "updated_at": null } } ], "native": [ { "about": "A current export: the checklist is already in the body, a reminder and recurrence come across, and the pre-M315 colour is read past.", "note": { "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "display_title": "Trip", "body": "Trip\n\n- [ ] passport", "color": "blue", "pinned": true, "archived": false, "remind_at": "2026-11-01T09:00:00+00:00", "recurrence": "weekly", "created_at": "2026-07-19T00:00:00+00:00", "updated_at": "2026-07-20T08:30:00.250000+00:00", "labels": ["travel"], "attachments": [{ "file": "attachments/6ba7b810/0/ticket.pdf", "mime": "application/pdf" }] }, "spec": { "title": null, "body": "Trip\n\n- [ ] passport", "pinned": true, "archived": false, "trashed": false, "remind_at": "2026-11-01T09:00:00Z", "recurrence": "weekly", "labels": ["travel"], "items": [], "attachments": [{ "file": "attachments/6ba7b810/0/ticket.pdf", "mime": "application/pdf" }], "created_at": "2026-07-19T00:00:00Z", "updated_at": "2026-07-20T08:30:00.250Z" } }, { "about": "An export from before M304 carries a title and a separate items array; an unknown recurrence is dropped.", "note": { "title": "shopping", "body": "", "recurrence": "fortnightly", "items": [{ "text": "milk", "checked": true }] }, "spec": { "title": "shopping", "body": "", "pinned": false, "archived": false, "trashed": false, "remind_at": null, "recurrence": null, "labels": [], "items": [{ "text": "milk", "checked": true }], "attachments": [], "created_at": null, "updated_at": null } } ], "export": { "document": ["app", "version", "exported_at", "labels", "notes"], "note": [ "id", "display_title", "body", "pinned", "archived", "remind_at", "recurrence", "created_at", "updated_at", "labels", "attachments" ], "label": ["name", "color"], "attachment": ["file", "mime"] } }