| goal | No | New goal, or null to remove it. Replaces the whole goal. | |
| name | No | New name. Up to 80 characters. | |
| unit | No | New unit. Pair it with unitFactor to convert what is already stored. | |
| color | No | The topic's own colour, one of: sky, blue, indigo, violet, fuchsia, pink, orange, teal, emerald, cyan, sand, silver. Leave it out and Dashly gives the next colour no other topic uses. Choose by meaning when one fits (sky for water, orange for food, indigo for sleep) and change it when the person asks. | |
| scale | No | A scale { min, max, labels? } of whole steps, labels optional words for some of them ({ "1": "awful", "5": "great" }). Required for rating topics. On an event topic it lets each entry carry a severity (values.severity), e.g. a headache from 1 to 5. | |
| fields | No | The full list of extra fields. Replaces the existing list, so include the ones to keep. | |
| visual | No | The scene the topic plays in its tile's level column everywhere (home, every dashboard, its page, the calendar), from the group its type, goal and polarity point to; get_capabilities lists each group's scenes with what they show. Pick by meaning (a piggy bank for savings, a balloon that pops for screen time); leave it out for the one that fits what it tracks. A scene from another group is refused with the ones that fit. | |
| topicId | Yes | The topic to change, from list_topics. | |
| polarity | No | build (the default) for something the person wants more of or just tracks; avoid for something they want less of (headaches, panic attacks, cigarettes, takeaway). With avoid, a day with nothing logged is a good day, each entry counts against it, the streak is days without, and a goal can only be a limit (at_most). Set it whenever the topic is something to avoid; ask if unsure. | |
| statuses | No | The full list of task statuses. Replaces the existing list, so include the ones to keep. | |
| unitLabel | No | New spoken label for the unit. | |
| unitFactor | No | Multiplier applied to every stored value and to the goal when the unit changes: litres to millilitres is 1000. Needs a new unit, and cannot be repeated once the unit has changed. | |
| description | No | New description, or null to clear it. | |