Seiten (Pages)
Seiten sind die einzelnen Inhaltsseiten innerhalb einer Website. Jede Seite besteht aus Sections, die wiederum Komponenten enthalten.
Endpunkte
| Methode | Endpunkt | Beschreibung |
|---|
GET | /api/v1/editor/page-canvas-files | Alle Seiten auflisten |
POST | /api/v1/editor/page-canvas-files | Neue Seite erstellen |
GET | /api/v1/editor/page-canvas-files/{id} | Einzelne Seite abrufen |
PUT | /api/v1/editor/page-canvas-files/{id} | Seite aktualisieren |
DELETE | /api/v1/editor/page-canvas-files/{id} | Seite löschen |
Das Page-Objekt
{
"id": "page_abc123",
"projectId": "proj_xyz789",
"websiteId": "web_def456",
"title": "Startseite",
"slug": "home",
"path": "/",
"status": "published",
"isHomepage": true,
"seo": {
"title": "Willkommen | Meine Firma",
"description": "Die offizielle Website von Meine Firma",
"keywords": ["firma", "startseite"],
"ogImage": "https://cdn.codefluss.com/media/og_home.png"
},
"sections": [
{
"id": "sec_001",
"type": "hero",
"order": 0
},
{
"id": "sec_002",
"type": "features",
"order": 1
}
],
"languages": ["de", "en"],
"defaultLanguage": "de",
"createdAt": "2026-01-12T10:00:00Z",
"updatedAt": "2026-01-22T16:00:00Z",
"publishedAt": "2026-01-15T09:00:00Z"
}
Attribute
| Attribut | Typ | Beschreibung |
|---|
id | string | Eindeutige Seiten-ID |
projectId | string | Zugehöriges Projekt |
websiteId | string | Zugehörige Website |
title | string | Seitentitel |
slug | string | URL-Slug |
path | string | Vollständiger URL-Pfad |
status | string | draft, published, scheduled |
isHomepage | boolean | Ob dies die Startseite ist |
seo | object | SEO-Metadaten |
sections | array | Liste der Sections |
languages | array | VerfĂĽgbare Sprachen |
defaultLanguage | string | Standardsprache |
createdAt | string | Erstellungszeitpunkt |
updatedAt | string | Letzte Aktualisierung |
publishedAt | string | Veröffentlichungszeitpunkt |
Seiten auflisten
GET /api/v1/editor/page-canvas-files
Query-Parameter
| Parameter | Typ | Default | Beschreibung |
|---|
projectId | string | Pflicht | Projekt-ID |
websiteId | string | – | Filter nach Website |
status | string | – | Filter: draft, published, scheduled |
language | string | – | Filter nach Sprache |
page | integer | 1 | Seitennummer |
pageSize | integer | 20 | Einträge pro Seite |
Beispiel-Request
curl -X GET "https://api.codefluss.com/v1/editor/page-canvas-files?projectId=proj_xyz789&status=published" \
-H "Authorization: Bearer cf_live_abc123..."
Beispiel-Response
{
"success": true,
"data": [
{
"id": "page_abc123",
"title": "Startseite",
"slug": "home",
"path": "/",
"status": "published",
"isHomepage": true,
"updatedAt": "2026-01-22T16:00:00Z"
},
{
"id": "page_def456",
"title": "Ăśber uns",
"slug": "ueber-uns",
"path": "/ueber-uns",
"status": "published",
"isHomepage": false,
"updatedAt": "2026-01-20T14:00:00Z"
}
],
"pagination": {
"currentPage": 1,
"pageSize": 20,
"totalItems": 2,
"totalPages": 1
}
}
Seite erstellen
POST /api/v1/editor/page-canvas-files
Request-Body
{
"projectId": "proj_xyz789",
"websiteId": "web_def456",
"title": "Kontakt",
"slug": "kontakt",
"status": "draft",
"seo": {
"title": "Kontakt | Meine Firma",
"description": "Nehmen Sie Kontakt mit uns auf"
},
"defaultLanguage": "de"
}
Pflichtfelder
| Feld | Typ | Beschreibung |
|---|
projectId | string | Ziel-Projekt |
title | string | Seitentitel |
slug | string | URL-Slug (eindeutig pro Website) |
Optionale Felder
| Feld | Typ | Default | Beschreibung |
|---|
websiteId | string | – | Ziel-Website |
status | string | draft | Initialer Status |
seo | object | – | SEO-Konfiguration |
defaultLanguage | string | de | Standardsprache |
isHomepage | boolean | false | Als Startseite setzen |
Seite abrufen
GET /api/v1/editor/page-canvas-files/{id}
Query-Parameter
| Parameter | Typ | Beschreibung |
|---|
includeContent | boolean | Vollständigen Seiteninhalt laden |
language | string | Sprachversion abrufen |
Beispiel mit vollständigem Inhalt
curl -X GET "https://api.codefluss.com/v1/editor/page-canvas-files/page_abc123?includeContent=true" \
-H "Authorization: Bearer cf_live_abc123..."
Response mit Inhalt
{
"success": true,
"data": {
"id": "page_abc123",
"title": "Startseite",
"slug": "home",
"status": "published",
"sections": [
{
"id": "sec_001",
"type": "hero",
"order": 0,
"content": {
"headline": "Willkommen bei Meine Firma",
"subheadline": "Ihr Partner fĂĽr Erfolg",
"ctaText": "Mehr erfahren",
"ctaLink": "/ueber-uns",
"backgroundImage": "https://cdn.codefluss.com/media/hero_bg.jpg"
},
"styles": {
"backgroundColor": "#1a1a2e",
"textColor": "#ffffff",
"padding": "80px 0"
}
}
]
}
}
Seite aktualisieren
PUT /api/v1/editor/page-canvas-files/{id}
Request-Body
{
"title": "Aktualisierte Startseite",
"seo": {
"title": "Neue Startseite | Meine Firma",
"description": "Aktualisierte Beschreibung"
},
"status": "published"
}
Sections aktualisieren
Um die Sections einer Seite zu aktualisieren, siehe Sections API.
Seite veröffentlichen
PUT /api/v1/editor/page-canvas-files/{id}
{
"status": "published"
}
Geplante Veröffentlichung
{
"status": "scheduled",
"scheduledPublishAt": "2026-02-01T09:00:00Z"
}
Seite als Entwurf speichern
PUT /api/v1/editor/page-canvas-files/{id}
Seite löschen
DELETE /api/v1/editor/page-canvas-files/{id}
Hinweis: Die Homepage kann nicht gelöscht werden, solange sie als Startseite gesetzt ist.
Slug-Validierung
Slugs mĂĽssen folgende Regeln erfĂĽllen:
- Nur Kleinbuchstaben, Zahlen und Bindestriche
- Darf nicht mit Bindestrich beginnen oder enden
- Muss innerhalb der Website eindeutig sein
- Reservierte Slugs:
api, admin, auth, assets
Fehler
| Code | Beschreibung |
|---|
400 | UngĂĽltiger Slug oder fehlende Pflichtfelder |
401 | Nicht authentifiziert |
403 | Keine Berechtigung |
404 | Seite nicht gefunden |
409 | Slug bereits vergeben |
Nächste Schritte
- Sections – Sections einer Seite bearbeiten
- Media – Bilder für Seiten hochladen