← Startseite

gantt400-API für Entwickler

Stand: 29. Oktober 2026

Mit der API lesen und schreiben eigene Skripte und Werkzeuge die Projekte Deines Teams: Projekte und Aufgaben abrufen, Karten auf dem Board anlegen, einen ganzen Projektplan in einem Aufruf anlegen oder angleichen. Die API läuft unter https://app.gantt400.com/api/… auf denselben Servern in Deutschland wie die App.

1. API-Schlüssel anlegen

Admins und Inhaber eines Teams legen Schlüssel in der App an: Einstellungen → API-Schlüssel. Dort wählst Du einen Namen, die Rechte (Scopes) und die Gültigkeit (bis 365 Tage). Der Schlüssel beginnt mit g4k_ und wird nur einmal angezeigt — kopiere ihn sofort an einen sicheren Ort. Ein Schlüssel schreibt mit Bearbeiter-Rechten, nur im Team, in dem er angelegt wurde, und nur, was seine Rechte erlauben. Widerrufen geht jederzeit an derselben Stelle.

Schlüssel anlegen, auflisten und widerrufen geht nur in der angemeldeten App, nie mit einem Schlüssel selbst.

2. Der erste Aufruf

Jede Anfrage trägt den Schlüssel als Bearer-Token. Damit er weder in der Shell-History noch in der Prozessliste landet, liest Du ihn einmal verdeckt ein und legst den Kopf in eine Datei, die nur Du lesen kannst. Dieser Aufruf listet dann die Projekte, die der Schlüssel sehen darf (Recht projects:read):

mkdir -p ~/.config/g400
printf 'API-Schlüssel: '; read -rs G400_API_KEY; echo
( umask 077; rm -f ~/.config/g400/header
  printf 'Authorization: Bearer %s\n' "$G400_API_KEY" > ~/.config/g400/header )
unset G400_API_KEY

curl -sS https://app.gantt400.com/api/projects -H @"$HOME/.config/g400/header"

Die Datei liegt bewusst außerhalb Deines Projekts, damit sie nie in ein Repository gerät. Brauchst Du den Schlüssel nicht mehr: rm ~/.config/g400/header und den Schlüssel in der App widerrufen.

Fehler kommen als JSON mit einem stabilen Code im Feld error, etwa 401 bei einem ungültigen oder abgelaufenen Schlüssel oder 403 mit forbidden_api_key_scope, wenn ein Recht fehlt.

3. Ein Projektplan in einem Aufruf

POST /api/projects/{id}/task-tree legt einen ganzen Teilbaum an oder bringt ihn auf den beschriebenen Stand — etwa eine Roadmap mit Phasen, Schritten und Meilensteinen. Jeder Knoten trägt einen selbst gewählten Schlüssel ref: fehlt er im Projekt, entsteht die Aufgabe; gibt es ihn, wird sie angeglichen. Ein zweiter Lauf mit demselben Inhalt schreibt nichts. Mit ?dry_run=1 rechnet der Server alles durch und schreibt nichts.

curl -sS -X POST "https://app.gantt400.com/api/projects/24/task-tree?dry_run=1" \
  -H @"$HOME/.config/g400/header" \
  -H "Content-Type: application/json" \
  -H "X-Gantt400-Today: $(date +%F)" \
  -d '{"nodes":[
        {"ref":"roadmap/q1","name":"Q1: Pilot","children":[
          {"ref":"roadmap/q1/setup","name":"Einrichtung",
           "start_date":"2026-11-02","end_date":"2026-11-13"},
          {"ref":"roadmap/q1/go","name":"Go-live",
           "start_date":"2026-11-20","end_date":"2026-11-20",
           "is_milestone":true}]},
        {"ref":"roadmap/q2","name":"Q2: Ausrollen"}]}'

Benötigte Rechte: tasks:create, tasks:update und tasks:read. Höchstens 500 Knoten und Tiefe 16 je Aufruf; alles läuft in einer Transaktion. Ändert sich ein Termin, rücken abhängige Aufgaben mit — wie beim Ziehen im Gantt.

4. Referenz

Alle beschriebenen Routen mit Feldern, Rechten und Fehlercodes stehen in der API-Referenz (englisch). Die Beschreibung als OpenAPI 3.1 liegt unter /developers/openapi.json — damit lassen sich Klienten erzeugen oder Werkzeuge wie Postman füttern. Weitere Routen kommen schrittweise dazu.

Fragen

Schreib uns an info@gantt400.com.

Zur API-Referenz Schlüssel anlegen