Projekte
Projekte sind die oberste Organisationsebene in CODEFLUSS. Jedes Projekt kann mehrere Websites, Seiten und Design-Systeme enthalten.
Endpunkte
| Methode | Endpunkt | Beschreibung |
|---|
GET | /api/v1/projects | Alle Projekte auflisten |
POST | /api/v1/projects | Neues Projekt erstellen |
GET | /api/v1/projects/{id} | Einzelnes Projekt abrufen |
PUT | /api/v1/projects/{id} | Projekt aktualisieren |
DELETE | /api/v1/projects/{id} | Projekt löschen |
Das Project-Objekt
{
"id": "proj_abc123",
"name": "Meine Unternehmenswebsite",
"description": "Hauptwebsite für die Firma XYZ",
"type": "website",
"status": "active",
"organizationId": "org_xyz789",
"createdBy": "user_def456",
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-22T14:45:00Z"
}
Attribute
| Attribut | Typ | Beschreibung |
|---|
id | string | Eindeutige Projekt-ID (Präfix: proj_) |
name | string | Projektname (1-100 Zeichen) |
description | string | Optionale Beschreibung |
type | string | Projekttyp: website, blog, app |
status | string | Status: active, archived |
organizationId | string | Zugehörige Organisations-ID |
createdBy | string | ID des Erstellers |
createdAt | string | Erstellungszeitpunkt (ISO 8601) |
updatedAt | string | Letzte Aktualisierung (ISO 8601) |
Projekte auflisten
Query-Parameter
| Parameter | Typ | Default | Beschreibung |
|---|
organizationId | string | Pflicht | Organisations-ID |
search | string | – | Suche im Projektnamen |
status | string | active | Filter: active, archived, all |
type | string | – | Filter nach Projekttyp |
page | integer | 1 | Seitennummer |
pageSize | integer | 20 | Einträge pro Seite (max: 100) |
sortBy | string | updatedAt | Sortierung: name, createdAt, updatedAt |
sortOrder | string | desc | Reihenfolge: asc, desc |
Beispiel-Request
curl -X GET "https://api.codefluss.com/v1/projects?organizationId=org_xyz789&status=active&pageSize=10" \
-H "Authorization: Bearer cf_live_abc123..."
Beispiel-Response
{
"success": true,
"data": [
{
"id": "proj_abc123",
"name": "Unternehmenswebsite",
"description": "Hauptwebsite",
"type": "website",
"status": "active",
"organizationId": "org_xyz789",
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-22T14:45:00Z"
},
{
"id": "proj_def456",
"name": "Firmenblog",
"description": "News und Updates",
"type": "blog",
"status": "active",
"organizationId": "org_xyz789",
"createdAt": "2026-01-18T09:00:00Z",
"updatedAt": "2026-01-21T16:30:00Z"
}
],
"pagination": {
"currentPage": 1,
"pageSize": 10,
"totalItems": 2,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
Projekt erstellen
Request-Body
{
"organizationId": "org_xyz789",
"name": "Neues Projekt",
"description": "Beschreibung des Projekts",
"type": "website"
}
Pflichtfelder
| Feld | Typ | Beschreibung |
|---|
organizationId | string | Ziel-Organisation |
name | string | Projektname (min. 1 Zeichen) |
type | string | website, blog, oder app |
Optionale Felder
| Feld | Typ | Beschreibung |
|---|
description | string | Projektbeschreibung |
createdBy | string | Benutzer-ID des Erstellers |
Beispiel-Request
curl -X POST "https://api.codefluss.com/v1/projects" \
-H "Authorization: Bearer cf_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"organizationId": "org_xyz789",
"name": "Neue Marketing-Seite",
"description": "Landing Pages für Kampagnen",
"type": "website"
}'
Beispiel-Response
{
"success": true,
"data": {
"id": "proj_ghi789",
"name": "Neue Marketing-Seite",
"description": "Landing Pages für Kampagnen",
"type": "website",
"status": "active",
"organizationId": "org_xyz789",
"createdBy": "user_def456",
"createdAt": "2026-01-23T12:00:00Z",
"updatedAt": "2026-01-23T12:00:00Z"
}
}
Automatische Blog-Einrichtung
Bei type: "blog" werden automatisch erstellt:
- Blog-Projekteinstellungen
- Standard-Blog-Detail-Template
- Standard-Autor-Konfiguration
Projekt abrufen
GET /api/v1/projects/{id}
Path-Parameter
| Parameter | Typ | Beschreibung |
|---|
id | string | Projekt-ID |
Beispiel-Request
curl -X GET "https://api.codefluss.com/v1/projects/proj_abc123" \
-H "Authorization: Bearer cf_live_abc123..."
Beispiel-Response
{
"success": true,
"data": {
"id": "proj_abc123",
"name": "Unternehmenswebsite",
"description": "Hauptwebsite für die Firma XYZ",
"type": "website",
"status": "active",
"organizationId": "org_xyz789",
"createdBy": "user_def456",
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-22T14:45:00Z"
}
}
Projekt aktualisieren
PUT /api/v1/projects/{id}
Request-Body
Nur die zu ändernden Felder angeben:
{
"name": "Aktualisierter Name",
"description": "Neue Beschreibung",
"status": "archived"
}
Aktualisierbare Felder
| Feld | Typ | Beschreibung |
|---|
name | string | Neuer Projektname |
description | string | Neue Beschreibung |
status | string | active oder archived |
Beispiel-Request
curl -X PUT "https://api.codefluss.com/v1/projects/proj_abc123" \
-H "Authorization: Bearer cf_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"name": "Unternehmenswebsite 2026",
"description": "Redesign 2026"
}'
Projekt löschen
DELETE /api/v1/projects/{id}
Beispiel-Request
curl -X DELETE "https://api.codefluss.com/v1/projects/proj_abc123" \
-H "Authorization: Bearer cf_live_abc123..."
Beispiel-Response
{
"success": true,
"data": {
"deleted": true,
"id": "proj_abc123"
}
}
Hinweis: Das Löschen eines Projekts ist irreversibel und löscht auch alle zugehörigen Seiten, Sections und Medien.
Limits
Die Anzahl der Projekte ist abhängig vom Abonnement-Plan:
| Plan | Max. Projekte |
|---|
| Free | 1 |
| Starter | 5 |
| Professional | 20 |
| Enterprise | Unbegrenzt |
Bei Erreichen des Limits wird 402 Payment Required zurückgegeben.
Fehler
| Code | Beschreibung |
|---|
400 | Ungültige Anfrage (fehlende/invalide Felder) |
401 | Nicht authentifiziert |
402 | Projektlimit erreicht |
403 | Keine Berechtigung für diese Organisation |
404 | Projekt nicht gefunden |
Nächste Schritte
- Websites – Websites in einem Projekt verwalten
- Seiten – Seiten erstellen und bearbeiten