List Items
Zwei gleichwertige Zugänge: die flache Ressource /v1/list-items und der verschachtelte Pfad unter einer Liste.
| Methode | Pfad | Zweck |
|---|---|---|
GET | /v1/list-items | Items auflisten (Pagination/Filter) |
POST | /v1/list-items | Item anlegen |
GET | /v1/list-items/{itemId} | Item abrufen |
PATCH | /v1/list-items/{itemId} | Item ändern |
DELETE | /v1/list-items/{itemId} | Item löschen (Soft-Delete) |
GET | /v1/lists/{listId}/items | Items einer Liste |
POST | /v1/lists/{listId}/items | Item in Liste anlegen |
GET | /v1/me/agenda | Kompakte Agenda: fällige Items + heutige Termine |
Query (GET /v1/list-items)
Pagination (page, pageSize, search) plus:
| Parameter | Typ | Beschreibung |
|---|---|---|
list | UUID | nach Liste |
status | string | exakter Status |
priority | number (1–10) | nach Priorität |
assigned_to | UUID | nach zugewiesenem User |
includeArchived | boolean (default false) | archivierte einschließen |
includeTrashed | boolean (default false) | Papierkorb einschließen |
REST vs. MCP
Die komfortablen Filter state, assigned_to_me, due_within_days, sort, compact gibt es nur beim MCP-Toollist_list_items — nicht in der REST-API.
Agenda (GET /v1/me/agenda)
Eine kompakte Tagesübersicht in einem Aufruf — gedacht für Widgets und Dashboards. Liefert beides: überfällige und heute fällige Items sowie die heute noch bevorstehenden Termine (Serientermine eingerechnet).
| Query | Typ | Beschreibung |
|---|---|---|
list | string | nur Einträge dieser Liste |
only_overdue | boolean | nur Überfälliges, ohne heute Fälliges |
Antwort:
{
"due": [
{ "id": "…", "sid": "…", "text": "Release vorbereiten",
"list_id": "…", "list_sid": "…", "list_name": "Sprint 42",
"target_date": "2026-08-30T00:00:00.000Z",
"overdue": true, "days_overdue": 2 }
],
"due_total": 7,
"events": [ … ],
"events_total": 3
}Die Listen sind auf 10 Einträge gekürzt; due_total und events_total tragen die echten Gesamtzahlen, damit ein Zähler nicht gegen die gekürzte Liste rechnet.
Body — anlegen (POST /v1/list-items oder /v1/lists/{listId}/items)
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
list | UUID | ✅* | Ziel-Liste (*entfällt beim verschachtelten Pfad) |
text | string (1–500) | ✅ | Titel |
description | string | – | Beschreibung |
status | string | – | Status (s. u.) |
stage | string | – | Workflow-Stufe |
progress | number (0–100) | – | Fortschritt |
priority | number (1–10) | – | Priorität |
type | string | – | Typ |
scope | enum public|private|shared | – | Sichtbarkeit |
assigned_to | UUID[] | – | Zuweisungen |
responsible | UUID | null | – | Verantwortlich |
tags | string[] | – | Tags |
target_date / start_date / end_date | date (ISO) | null | – | Termine |
time_allocated | number ≥ 0 | – | Zeitbudget |
fields | object | – | Custom Fields |
parent | UUID | null | – | Übergeordnetes Item |
sort_key | string | – | Sortierschlüssel |
num / level | integer | – | Nummerierung / Ebene |
anchor | UUID | null | – | Item, an das dieses Item andockt (Info-/Detail-Spalten-Mechanismus). Steuert nur, in welcher Anzeige-Ebene das Item auftaucht — die eigentliche Hierarchie bleibt parent. Bei Kind-Items einer solchen Spalte beides setzen. |
layer | integer ≥ 0 | – | Anzeige-Ebene für den anchor-Mechanismus (0 = Hauptliste). Nur zusammen mit anchor relevant. |
content | object | array | string | – | Strukturierter Inhalt (z. B. Box-Typ-spezifische Daten). Objekte/Arrays werden als JSON gespeichert. |
Body — ändern (PATCH /v1/list-items/{itemId})
Wie beim Anlegen (alle optional, ohne list), zusätzlich archived (boolean).
Status: offen = ""/todo/open/in_progress; erledigt = done/completed.
Beispiel
# Offene Items einer Liste
curl "https://api.eu.liza.app/api/v1/lists/LIST_ID/items?includeArchived=false" \
-H "Authorization: Bearer DEIN_TOKEN"
# Item anlegen
curl -X POST https://api.eu.liza.app/api/v1/lists/LIST_ID/items \
-H "Authorization: Bearer DEIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"Release vorbereiten","priority":7,"target_date":"2026-07-10"}'