create_category_or_project
Create a Marvin category or project by title and kind, including labels and a parent, with scheduling, priority, frog and date fields limited to projects.
Instructions
Create a category (via /doc/create, Full Access Token) or a project (via /addProject). Categories can contain categories; projects cannot. day/due_date/priority/frog are rejected for kind='category' for a structural reason, not a technical one: a category can never be completed or checked off, and deadline, scheduling, priority and frog belong to things that can be finished — projects and tasks. The API accepts the fields on categories (live-tested 2026-09-11) but they are not meaningful there (rule 2026-09-11). label_ids applies to both categories and projects. startDate/endDate cannot be set at creation (/addProject ignores them, verified live 2026-08-29) — use update_category_or_project afterwards.
Note: project titles must not contain '#word' — /addProject has the same corruption bug as /addTask (the string is stored unresolved as parentId and the project becomes invisible) but ignores the X-Auto-Complete header (verified against the live API 2026-08-20), so the client blocks it locally before any API call. Category titles are unaffected (/doc/create parses nothing).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Projects ONLY: schedule on YYYY-MM-DD or 'today' (blocked for categories — a category is never completed) | |
| frog | No | Projects ONLY: frog marker 1=normal, 2=baby, 3=monster | |
| icon | No | Icon name with a library prefix, e.g. 'lucide-Rocket' (Lucide, PascalCase) or 'huge-happy' (verified in the app 2026-08-29); the app's picker also allows emoji. Categories ONLY — projects NEVER render their own icon (the flag stays; only the color is used) | |
| kind | Yes | Kind | |
| note | No | Note | |
| color | No | Color '#rrggbb'. Categories ONLY at creation — /addProject ignores the field (verified live 2026-08-29); set project color with update_category_or_project afterwards | |
| title | Yes | Name | |
| due_date | No | Projects ONLY: deadline YYYY-MM-DD (blocked for categories — a category is never completed) | |
| priority | No | Projects ONLY: priority as a string — high=Most important (red), mid=Very important (orange), low=Important (yellow, the one-star level — NOT the app's 'Low priority', which projects do not have). Projects do not use isStarred (verified live 2026-08-29; mapping verified against the app's code 2026-08-30) | |
| label_ids | No | Label IDs (from get_labels) — categories AND projects: categories have labels, stored in the same field as projects' and rendered in the app (live-tested + verified in the app 2026-09-11) | |
| parent_id | No | ID of the parent category, or 'root' for the top level | root |
| review_date | No | Review date YYYY-MM-DD (Review Date strategy) | |
| planned_week | No | Plan into a week: the week's Monday YYYY-MM-DD (Planning Ahead strategy; mainly projects) | |
| planned_month | No | Plan into a month: YYYY-MM (Planning Ahead strategy; mainly projects) | |
| time_estimate_minutes | No | Time estimate in minutes. NOTE: rendered as the project's OWN estimate — the UI does not aggregate it with the children's, despite the wiki's claim (verified in the app 2026-08-29) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||