Blog-Tags

Blog-Tags

Die Blog Tags API ermöglicht das Verwalten von Tags zur Kategorisierung von Blog-Einträgen.

Endpunkte

MethodeEndpunktBeschreibung
GET/api/v1/blog/tagsAlle Tags auflisten
POST/api/v1/blog/tagsNeuen Tag erstellen

Das Tag-Objekt

{ "id": "tag_abc123", "projectId": "proj_xyz789", "name": "webdesign", "slug": "webdesign", "displayName": { "de": "Webdesign", "en": "Web Design" }, "description": { "de": "Artikel über Webdesign und UI/UX", "en": "Articles about web design and UI/UX" }, "color": "#3b82f6", "entryCount": 15, "createdAt": "2026-01-10T08:00:00Z", "updatedAt": "2026-01-22T12:00:00Z" }

Attribute

AttributTypBeschreibung
idstringEindeutige Tag-ID
projectIdstringZugehöriges Blog-Projekt
namestringInterner Name (Kleinbuchstaben)
slugstringURL-Slug
displayNameobjectAnzeigename (mehrsprachig)
descriptionobjectBeschreibung (mehrsprachig)
colorstringFarbcode für UI-Darstellung
entryCountintegerAnzahl zugehöriger Einträge
createdAtstringErstellungszeitpunkt
updatedAtstringLetzte Aktualisierung

Tags auflisten

GET /api/v1/blog/tags

Query-Parameter

ParameterTypDefaultBeschreibung
projectIdstringPflichtBlog-Projekt-ID
searchstringSuche im Namen
sortBystringnamename, entryCount, createdAt
sortOrderstringascasc, desc

Beispiel-Request

curl -X GET "https://api.codefluss.com/v1/blog/tags?projectId=proj_xyz789" \ -H "Authorization: Bearer cf_live_abc123..."

Beispiel-Response

{ "success": true, "data": [ { "id": "tag_001", "name": "design", "slug": "design", "displayName": { "de": "Design", "en": "Design" }, "color": "#8b5cf6", "entryCount": 23 }, { "id": "tag_002", "name": "entwicklung", "slug": "entwicklung", "displayName": { "de": "Entwicklung", "en": "Development" }, "color": "#10b981", "entryCount": 18 }, { "id": "tag_003", "name": "news", "slug": "news", "displayName": { "de": "Neuigkeiten", "en": "News" }, "color": "#f59e0b", "entryCount": 12 } ] }

Tag erstellen

POST /api/v1/blog/tags

Request-Body

{ "projectId": "proj_xyz789", "name": "tutorial", "displayName": { "de": "Tutorial", "en": "Tutorial" }, "description": { "de": "Schritt-für-Schritt Anleitungen", "en": "Step-by-step guides" }, "color": "#06b6d4" }

Pflichtfelder

FeldTypBeschreibung
projectIdstringZiel-Blog-Projekt
namestringInterner Name (Kleinbuchstaben, ohne Leerzeichen)

Optionale Felder

FeldTypDefaultBeschreibung
displayNameobjectnameAnzeigename
descriptionobjectBeschreibung
colorstring#6b7280Hex-Farbcode

Response

{ "success": true, "data": { "id": "tag_def456", "name": "tutorial", "slug": "tutorial", "displayName": { "de": "Tutorial", "en": "Tutorial" }, "color": "#06b6d4", "entryCount": 0, "createdAt": "2026-01-23T10:00:00Z" } }

Tags in Einträgen verwenden

Beim Erstellen oder Aktualisieren eines Blog-Eintrags können Tags als Array von Namen angegeben werden:

{ "title": { "de": "Mein Artikel" }, "slug": "mein-artikel", "tags": ["design", "tutorial", "news"] }

Nicht existierende Tags werden automatisch erstellt.

Tag-Cloud generieren

Für eine Tag-Cloud können Sie die Tags nach entryCount sortieren:

GET /api/v1/blog/tags?projectId=proj_xyz789&sortBy=entryCount&sortOrder=desc

JavaScript-Beispiel

interface Tag { name: string; entryCount: number; } function calculateTagWeight(tag: Tag, allTags: Tag[]): number { const max = Math.max(...allTags.map(t => t.entryCount)); const min = Math.min(...allTags.map(t => t.entryCount)); if (max === min) return 1; // Gewicht zwischen 1 und 5 return 1 + ((tag.entryCount - min) / (max - min)) * 4; }

Fehler

CodeBeschreibung
400Ungültiger Tag-Name
401Nicht authentifiziert
403Keine Berechtigung
409Tag-Name bereits vergeben

Nächste Schritte