Kanban StudioMarkdown & JSON Reference
📝

Markdown & JSON Reference

Full schema reference for board editing

Overzicht

Achter elk Kanban-bord staat een duidelijk tekstenmarkering dat u kunt lezen, schrijven, kopiëren en versiercontroleer. Het document bestaat uit twee delen: een machineleesbaar gestructureerd blok dat de bordgegevens als JSON bevat, en een gratis gebruikersgebonden blok voor uw persoonlijke notities.

Schema v1JSON + MarkdownDroge luchtbewakers
💡

Maak altijd eerst een dry run

Voordat u op Aanspreken klikt, gebruik de knop Probelijst om uw wijzigingen te valideren. De backend meldt fouten en een diff samenvatting zonder uw bord te veranderen.

Documentstructuur

Een volledig Kanban-markdown-document bestaat uit drie delen::

  • Een voor mensen leesbare kop (bordtitel, generatie notitie))
  • Het gestructureerde blok JSON-gegevens tussen HTML-commentaarmarkering
  • De gebruikersgebonden blok gratis markdown (nootjes, mermaid diagrammen, links))
board.md
# My Project Board

Generated by Kanban Markdown schema v1.

<!-- KANBAN:STRUCTURED:START -->
```kanban-structured
{
  "version": 1,
  "board": {
    "id": "board-abc123",
    "title": "My Project Board"
  },
  "columns": [
    { "id": "col-1", "title": "Backlog",     "color": "#64748b", "order": 0 },
    { "id": "col-2", "title": "In Progress", "color": "#6366f1", "order": 1 },
    { "id": "col-3", "title": "Done",        "color": "#10b981", "order": 2 }
  ],
  "tasks": [
    {
      "id": "task-1",
      "columnId": "col-2",
      "position": 0,
      "title": "Build authentication flow",
      "description": "Implement JWT login, register, and token refresh.",
      "priority": "high",
      "tags": ["backend", "security"],
      "assigneeIds": ["member-uuid-1"],
      "mentionMemberIds": ["member-uuid-2"],
      "estimatePoints": 5,
      "dueDate": "2025-03-15",
      "plannedStartAt": "2025-03-10",
      "plannedEndAt": "2025-03-15",
      "timeboxMinutes": 90,
      "isCompleted": false,
      "archivedAt": null,
      "checklist": [
        { "title": "Design DB schema",   "isDone": true  },
        { "title": "Write unit tests",   "isDone": false },
        { "title": "Deploy to staging",  "isDone": false }
      ]
    }
  ]
}
```
<!-- KANBAN:STRUCTURED:END -->

<!-- KANBAN:CUSTOM:START -->
## Team Notes

- Sprint ends Friday
- Backend review at 3 PM

```mermaid
flowchart LR
  A[Backlog] --> B[In Progress] --> C[Done]
```
<!-- KANBAN:CUSTOM:END -->
Volledig borddocument met opmerkingen over alle onderdelen
⚠️

Verwijder de opmerkingen niet

De markers <!-- KANBAN:STRUCTURED:START -->, <!-- KANBAN:STRUCTURED:END -->, <!-- KANBAN:CUSTOM:START --> en <!-- KANBAN:CUSTOM:END --> worden vereist. Het verwijderen leidt tot een analysefout.

Kolommen

Columns omschrijven de werkfasen van uw bord. Ze gaan van links naar rechts door hun order-Waarde gerendureerd.

JSON
"columns": [
  { "id": "col-1", "title": "To Do",       "color": "#64748b", "order": 0 },
  { "id": "col-2", "title": "In Progress", "color": "#6366f1", "order": 1 },
  { "id": "col-3", "title": "Review",      "color": "#f59e0b", "order": 2 },
  { "id": "col-4", "title": "Done",        "color": "#10b981", "order": 3 }
]
Voorbeeld: vier kolommen met verschillende kleuren
FieldTypeRequiredDescription
idstringYesEenvoudige kolombenamers (UUID of enige stabiele slug))
titlestringYesColumnopschrift in de tabel
colorstringYesColumn accent kleur (hex)). Als linker rand wordt weergegeven op kaarten
orderintegerYesNull-gebaseerde aanmeldingsreeks (oplopend, van links naar rechts))
ℹ️

Note

Column-ID's moeten binnen het bord duidelijk zijn. Opdrachten verwijzen naar rubrieken op basis van deze id.

Taken

Werkzaamheden zijn de kern van het werk. Elke taak is in een kolom (over) columnId) en is binnen deze kolom na position gesorteerd.

Minimale taak

JSON
{
  "id": "task-abc",
  "columnId": "col-1",
  "position": 0,
  "title": "Write release notes",
  "description": "",
  "priority": "medium",
  "tags": [],
  "assigneeIds": [],
  "mentionMemberIds": [],
  "estimatePoints": null,
  "dueDate": null,
  "plannedStartAt": null,
  "plannedEndAt": null,
  "timeboxMinutes": null,
  "isCompleted": false,
  "archivedAt": null,
  "checklist": []
}
Alleen verplichte velden worden ingevuld alle optievelden zijn nul/leeg

Volledige taak met alle velden

JSON
{
  "id": "task-xyz",
  "columnId": "col-2",
  "position": 0,
  "title": "Redesign checkout page",
  "description": "Full UX overhaul based on user research findings.",
  "priority": "critical",
  "tags": ["ux", "frontend", "q1-goal"],
  "assigneeIds": ["member-alice", "member-bob"],
  "mentionMemberIds": ["member-pm"],
  "estimatePoints": 8,
  "dueDate": "2025-04-01",
  "plannedStartAt": "2025-03-20",
  "plannedEndAt": "2025-04-01",
  "timeboxMinutes": 120,
  "isCompleted": false,
  "archivedAt": null,
  "checklist": [
    { "title": "User interviews",       "isDone": true  },
    { "title": "Wireframes approved",   "isDone": true  },
    { "title": "Implement components",  "isDone": false },
    { "title": "A/B test live",         "isDone": false }
  ]
}
Voorbeeld van de productie met prioriteit, tags, opdrachtgevers, checklist, tijdschema
FieldTypeRequiredDescription
idstringYesEenvoudige taakherkenning (UUID of Stable Slug))
columnIdstringYesID van de kolom waartoe deze taak behoort
positionintegerYes0-gebaseerde sorteervolgorde binnen de kolom
titlestringYesOpdracht titel (1280 tekens))
descriptionstringNoMarkdown-compatibel langere beschrijving
priorityenum
"low""medium""high""critical"
NoDringendheid van de taak
tagsstring[]NoVrije vorm aanwijzingsreeks voor het filteren en groeperen
assigneeIdsstring[]NoLid-ID's van personen die aan deze taak zijn toegewezen
mentionMemberIdsstring[]NoIn deze taak worden vermeld (gedeelde) lid-ID's
estimatePointsinteger|nullNoStory-point schatting (Fibonacci): 1, 2, 3, 5, 8, 13…)
dueDatestring|nullNoISO 8601 datum volgorde: JJJJ-MM-TT
plannedStartAtstring|nullNoISO 8601 Datum/tijd: geplande start
plannedEndAtstring|nullNoISO 8601 Datum/tijd: gepland einde
timeboxMinutesinteger|nullNoLengte van de focus sessie voor timeboxing
isCompletedbooleanNoMarkeert de taak als voltooid (voegt doorstraling toe in het gebruikersinterface)
archivedAtstring|nullNoISO 8601 Datum en tijd van het archiveren van de taak. Gearchieveerde taken worden op het board weggelaten
checklistobject[]NoElementen van de onderopdrachtlijst (zie rubriek Checklist)“)

Elemente van de checklist

Elke taak ondersteunt een vlakke lijst van checklist-elementen eenvoudige subtakes die individueel als voltooid kunnen worden gemarkeerd zonder dat er aparte taken nodig zijn.

JSON
"checklist": [
  { "title": "Design mockup",   "isDone": true  },
  { "title": "Code review",     "isDone": false },
  { "title": "Deploy to prod",  "isDone": false }
]
Drie checklistpunten: de eerste is afgerond, twee over.
FieldTypeRequiredDescription
titlestringYesKennis van het checklistelement (1255 tekens))
isDonebooleanYesIs dit punt afgesneden?

Sectie Gebruikersgegevens“.

Alles tussen <!-- KANBAN:CUSTOM:START --> en <!-- KANBAN:CUSTOM:END --> is uw notitieblok. Het ondersteunt volledige markdown- en mermaiddiagrammen. De inhoud wordt niet gepaste door de board-engine het wordt alleen weergegeven op de tab Preview.

Markdown
<!-- KANBAN:CUSTOM:START -->
## Sprint Notes

- Daily standup at 10:00 AM
- Backend API freeze on Friday

```mermaid
gantt
  title Sprint 12
  section Tasks
  Auth flow     :done, 2025-03-10, 3d
  Dashboard UI  :active, 2025-03-13, 4d
  API docs      :2025-03-17, 2d
```

> Reminder: update JIRA tickets before end of day.
<!-- KANBAN:CUSTOM:END -->
Notities met een mermaid-Gant diagram
💡

Tip

Gebruik het gedeelte Gebruikersdefiniëren voor sprintnotities, teamlinks, Gantt-diagrammen, architectuurdiagrammen alles wat u wilt zien naast uw bordgegevens.

Prioritaire waarden

Het veld priority accepteert precies één van de vier waarden. Elk wordt toegewezen aan een bepaalde logo-kleur in de gebruikersinterface:

FieldTypeRequiredDescription
lowenum valueNoMinder urgentie. Afbeelding in schitterschoen/grauw.
mediumenum valueNoStandardij. Gekleed in steen/geel. Het weglaten van de prioriteit is de standaardstelling.
highenum valueNoBelangrijk. Gekleed in oranje.
criticalenum valueNoBlokkeren. Afbeelding in rood/roze.

Archivage taken

Om een taak te archiveren, zet het veld in archivedAt op een ISO-datum-/tijdsreeks. Gearchieveerde taken worden uitgesloten van de actieve raad, maar blijven in de loop.

JSON
{
  "id": "task-old",
  "columnId": "col-1",
  "position": 99,
  "title": "Old completed task",
  "archivedAt": "2025-01-10T14:30:00.000Z",
  ...
}
Gearchieveerde taak verblind door het bord, in de snapshot
ℹ️

Note

Als je archivedAt op nul zet, wordt de archivering van de taak opgeheven. De diff samenvatting toont tasksToArchive wanneer een markdown-snapshot wordt gebruikt die momenteel actieve taken op het bord archiveert.

Proeflopen en diagnose

De proeffunctie valideert uw aftrek zonder wijzigingen. De backend geeft een diffSummary (Wat zou veranderen) en diagnostics-Array terug met een lijst van alle fouten of waarschuwingen.

Succesvolle proefreactie

JSON
{
  "ok": true,
  "dryRun": true,
  "diagnostics": [],
  "diffSummary": {
    "columnsCreated": 1,
    "columnsTouched": 2,
    "tasksCreated": 3,
    "tasksTouched": 5,
    "tasksToArchive": 0
  }
}
ok: true betekent dat de afslag geldig en veilig is om te gebruiken

Proefproces met fouten

JSON
{
  "ok": false,
  "dryRun": true,
  "diagnostics": [
    {
      "code": "unknown_column_id",
      "message": "Task 'task-xyz' references unknown column 'col-999'.",
      "line": 42,
      "severity": "error"
    },
    {
      "code": "duplicate_task_id",
      "message": "Task ID 'task-abc' is used more than once.",
      "line": 67,
      "severity": "error"
    }
  ],
  "diffSummary": {
    "columnsCreated": 0,
    "columnsTouched": 0,
    "tasksCreated": 0,
    "tasksTouched": 0,
    "tasksToArchive": 0
  }
}
ok: false correcteer fouten voor gebruik
FieldTypeRequiredDescription
codestringYesMasjienleesbare foutcode (z. B. Onbekend_Spalten_ID)
messagestringYesMensen leesbare beschrijving van het probleem
lineintegerYesOngeveer lijnnummer in het markdowndocument
severityenum
"error""warning"
YesOfwel fouten (blokken gelden) of waarschuwing)
🚫

Fouten blokkeren Apply

Als de diagnose een element bevat met de graad fout, verwerpt de applicatieprocedure de voortzetting. Waarschuwingen zijn van raadgevend karakter en blokkeren niet.

Aanbevolen workflow

Volg deze procedure wanneer u het bord op Markdown bewerkt.:

  • Maak het markdown paneel op uw bord open
  • Bewerk JSON in het gestructureerde blok
  • Klik op Dry Run om te valideren zonder iets te veranderen
  • Herstel alle fouten in de diagnoselijst
  • Klik op Aanpassen om wijzigingen aan te nemen op het live-board
  • Gebruik Download om een lokale .md-Backup opslaan
💡

Tip voor versiecontrole

Aangezien het document zuiver tekst is, kun je het in een Git-repository plaatsen, versieën onderscheiden en oude bordstatus herstellen door een oudere snapshot opnieuw toe te passen.

Schema v1 · Updated September 2026