Projekte

Projekte

Projekte sind die oberste Organisationsebene in CODEFLUSS. Jedes Projekt kann mehrere Websites, Seiten und Design-Systeme enthalten.

Endpunkte

MethodeEndpunktBeschreibung
GET/api/v1/projectsAlle Projekte auflisten
POST/api/v1/projectsNeues 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

AttributTypBeschreibung
idstringEindeutige Projekt-ID (Präfix: proj_)
namestringProjektname (1-100 Zeichen)
descriptionstringOptionale Beschreibung
typestringProjekttyp: website, blog, app
statusstringStatus: active, archived
organizationIdstringZugehörige Organisations-ID
createdBystringID des Erstellers
createdAtstringErstellungszeitpunkt (ISO 8601)
updatedAtstringLetzte Aktualisierung (ISO 8601)

Projekte auflisten

GET /api/v1/projects

Query-Parameter

ParameterTypDefaultBeschreibung
organizationIdstringPflichtOrganisations-ID
searchstringSuche im Projektnamen
statusstringactiveFilter: active, archived, all
typestringFilter nach Projekttyp
pageinteger1Seitennummer
pageSizeinteger20Einträge pro Seite (max: 100)
sortBystringupdatedAtSortierung: name, createdAt, updatedAt
sortOrderstringdescReihenfolge: 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

POST /api/v1/projects

Request-Body

{ "organizationId": "org_xyz789", "name": "Neues Projekt", "description": "Beschreibung des Projekts", "type": "website" }

Pflichtfelder

FeldTypBeschreibung
organizationIdstringZiel-Organisation
namestringProjektname (min. 1 Zeichen)
typestringwebsite, blog, oder app

Optionale Felder

FeldTypBeschreibung
descriptionstringProjektbeschreibung
createdBystringBenutzer-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

ParameterTypBeschreibung
idstringProjekt-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

FeldTypBeschreibung
namestringNeuer Projektname
descriptionstringNeue Beschreibung
statusstringactive 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:

PlanMax. Projekte
Free1
Starter5
Professional20
EnterpriseUnbegrenzt

Bei Erreichen des Limits wird 402 Payment Required zurückgegeben.

Fehler

CodeBeschreibung
400Ungültige Anfrage (fehlende/invalide Felder)
401Nicht authentifiziert
402Projektlimit erreicht
403Keine Berechtigung für diese Organisation
404Projekt nicht gefunden

Nächste Schritte

  • Websites – Websites in einem Projekt verwalten
  • Seiten – Seiten erstellen und bearbeiten