🚀 Jetzt neu: FlowAI! Ein revolutionärer Chat mit personalisierten AI-Agenten. 🌟

FlowTime API - für präzise Zeiterfassung

Eine vollständige REST API für Zeiterfassung mit Timer-Steuerung, Projektmanagement und detaillierten Statistiken. Perfekt für Time-Tracking-Apps, Abrechnungssysteme und Produktivitätsanalysen.

🚀 Schnellstart

Basis-URL: https://creativeskyline.de/api/flowtime/timer https://creativeskyline.de/api/flowtime/entries https://creativeskyline.de/api/flowtime/projects https://creativeskyline.de/api/flowtime/stats
FlowTime-Berechtigung erforderlich
Der Benutzer benötigt eine aktive FlowTime-Berechtigung (tt), um die API nutzen zu können.

1. API-Zugangsdaten abrufen

Bevor Sie die FlowTime API nutzen können, benötigen Sie Ihre persönlichen Zugangsdaten: Melden Sie sich an, navigieren Sie zu Profil → API-Zugang und kopieren Sie Ihren persönlichen API-Key (pk_...).

2. Authentifizierung

Alle API-Anfragen benötigen diesen HTTP-Header:

Authorization: Bearer pk_dein_api_key
Accept: application/json

⏱️ Timer-Steuerung

Basis-URL: https://creativeskyline.de/api/flowtime/timer https://creativeskyline.de/api/flowtime/entries https://creativeskyline.de/api/flowtime/projects https://creativeskyline.de/api/flowtime/stats

Timer-Status abrufen

GET /api/flowtime/timer/status

Ruft den aktuellen Timer-Status ab. Zeigt an, ob ein Timer läuft und wie lange.

Beispiel-Response:

{"success": true, "data": {"is_running": true, "entry": {"id": 123, "description": "Feature-Entwicklung", "project": {"id": 456, "name": "Website Redesign"}, "starts_at": "2024-01-15T09:00:00Z", "duration_seconds": 3600, "duration_formatted": "01:00:00"}}}

Timer starten

POST /api/flowtime/timer/start

Startet einen neuen Timer. Falls bereits ein Timer läuft, wird dieser gestoppt und ein neuer gestartet.

Request Body:

description string Beschreibung der Tätigkeit
project_id integer ID des zugehörigen Projekts

Timer stoppen

POST /api/flowtime/timer/stop

Stoppt den aktuell laufenden Timer und speichert den Zeiteintrag.

Beispiel-Response:

{"success": true, "message": "Timer gestoppt", "data": {"id": 123, "description": "Bug-Fixing", "starts_at": "2024-01-15T09:00:00Z", "ends_at": "2024-01-15T10:30:00Z", "duration_seconds": 5400, "duration_formatted": "01:30:00"}}

Laufenden Timer aktualisieren

PUT /api/flowtime/timer

Aktualisiert den aktuell laufenden Timer (Beschreibung oder Projekt ändern).

Request Body:

description string Neue Beschreibung
project_id integer Neues Projekt

Timer abbrechen

DELETE /api/flowtime/timer

Bricht den aktuell laufenden Timer ab, ohne die Zeit zu speichern.

📝 Zeiteinträge

Basis-URL: https://creativeskyline.de/api/flowtime/timer https://creativeskyline.de/api/flowtime/entries https://creativeskyline.de/api/flowtime/projects https://creativeskyline.de/api/flowtime/stats

Zeiteinträge auflisten

GET /api/flowtime/entries

Ruft alle Zeiteinträge mit optionalen Filtern ab.

Query-Parameter:

date_from string Startdatum (YYYY-MM-DD)
date_to string Enddatum (YYYY-MM-DD)
project_id integer Filter nach Projekt-ID
limit integer Maximale Anzahl der Einträge (Standard: 50)
offset integer Offset für Pagination

Zeiteintrag abrufen

GET /api/flowtime/entries/{id}

Ruft einen einzelnen Zeiteintrag mit allen Details ab.

Zeiteintrag erstellen

POST /api/flowtime/entries

Erstellt einen manuellen Zeiteintrag (ohne Timer). Entweder mit End-Zeit oder mit Dauer in Sekunden.

Request Body:

description string Beschreibung der Tätigkeit
project_id integer Projekt-ID
starts_at string * Startzeitpunkt (ISO 8601)
ends_at string Endzeitpunkt (ISO 8601), alternativ zu seconds
seconds integer Dauer in Sekunden, alternativ zu ends_at

Zeiteintrag aktualisieren

PUT /api/flowtime/entries/{id}

Aktualisiert einen bestehenden Zeiteintrag.

Request Body:

description string Beschreibung
project_id integer Projekt-ID
starts_at string Startzeitpunkt (ISO 8601)
ends_at string Endzeitpunkt (ISO 8601)

Zeiteintrag löschen

DELETE /api/flowtime/entries/{id}

Löscht einen Zeiteintrag unwiderruflich.

📁 Projekte

Basis-URL: https://creativeskyline.de/api/flowtime/timer https://creativeskyline.de/api/flowtime/entries https://creativeskyline.de/api/flowtime/projects https://creativeskyline.de/api/flowtime/stats
Projekt-Berechtigungen
Private Projekte können bestimmten Teammitgliedern zugewiesen werden. Anlegen und Bearbeiten von Projekten ist dem Teaminhaber vorbehalten.

Projekte auflisten

GET /api/flowtime/projects

Listet alle Projekte auf, zu denen der Benutzer Zugriff hat (inklusive Zeitstatistiken).

Beispiel-Response:

{"success": true, "data": [{"id": 456, "name": "Website Redesign", "client": {"id": 1, "name": "Musterfirma GmbH"}, "color": "#3B82F6", "is_public": true, "total_time_seconds": 36000, "total_time_formatted": "10:00:00"}]}

Projekt-Details abrufen

GET /api/flowtime/projects/{id}

Ruft Details eines einzelnen Projekts ab, inklusive Zeitstatistiken.

Projekt anlegen

POST /api/flowtime/projects

Erstellt ein neues Projekt (nur Teaminhaber).

Request Body:

name string * Projektname
client_project_id integer CRM-Projekt-ID (optional)
color string Hex-Farbe (z.B. #10B981)
is_public boolean Für alle Teammitglieder sichtbar (Standard: true)

Projekt aktualisieren

PUT /api/flowtime/projects/{id}

Aktualisiert ein bestehendes Projekt (nur Teaminhaber).

Request Body:

name string Projektname
color string Hex-Farbe
is_public boolean Öffentlich sichtbar

📊 Statistiken

Basis-URL: https://creativeskyline.de/api/flowtime/timer https://creativeskyline.de/api/flowtime/entries https://creativeskyline.de/api/flowtime/projects https://creativeskyline.de/api/flowtime/stats

Statistik-Endpoints liefern aggregierte Auswertungen der erfassten Zeiten. GET /api/flowtime/stats/today gibt die Tagesauswertung zurück, GET /api/flowtime/stats/week die Wochenauswertung mit täglicher Aufschlüsselung und Projekt-Anteilen.