Zum Inhalt springen

Alpha-Onboarding für erste Creator — EU-Hosting · DSGVO-konform

Platz anfragen

Entwickler

Die API ist das Produkt

Directwerk ist API-first: Multi-Tenant-Whitelabel, Host-basierte Mandantenauflösung, OAuth2 und modulare Feature-Gates mit maschinenlesbaren Fehlercodes. Diese Seite ist ein Auszug — Installationsanleitung, OpenAPI-Referenz und Integrationsguides stehen in der öffentlichen Dokumentation.

So verbinden Integratoren

  • Mandant über verifizierten Host-Header (kein X-Tenant-Id).
  • Öffentliche Inhalte unter GET /api/v1/public/* ohne Authentifizierung.
  • Geschützte Flows mit OAuth2-JWT über POST /oauth2/token.

Wichtigste Endpoints

Auswahl der relevantesten Pfade — nicht die vollständige Referenz.

MethodePfad
GET/api/v1/public/site-config

Branding und aktive Module — Startpunkt für jedes Frontend.

GET/api/v1/public/episodes

Öffentlicher Katalog (FREE spielbar; PAID nur Metadaten, audioCdnUrl = null).

GET/api/v1/public/products

Mitgliedschaftsprodukte und Preise für die Pricing-Seite.

GET/feeds/{tenantSlug}/podcast.xml

Öffentlicher RSS-Feed für Podcatcher (mandantenbezogen wie die API).

GET/feeds/{tenantSlug}/u/{feedToken}.xml

Privater Abonnenten-Feed (tokenisierte URL).

POST/oauth2/token

OAuth2-Token für Publisher- und Abonnenten-JWTs.

GET/api/v1/me/episodes

Berechtigte Episoden für eingeloggte Abonnenten.

POST/api/v1/me/billing/checkout-sessions

Stripe-Checkout — Billing vollständig über die API.

Beispiel: site-config

Jede öffentliche Frontend-Integration beginnt mit Branding und aktiven Modulen.

GET /api/v1/public/site-config
curl -sS \
  -H "Host: podcast.beispiel.de" \
  https://api.directwerk.org/api/v1/public/site-config

Antwortformat

Einheitliches JSON-Envelope; Fehler enthalten strukturierte code-Felder für Integratoren.

Erfolg

{
  "statusCode": 200,
  "statusMessage": "OK",
  "data": { "tenant": { "slug": "beispiel" }, "enabledModules": ["PODCAST"] },
  "errors": [],
  "metadata": {}
}

Modul deaktiviert

{
  "statusCode": 403,
  "statusMessage": "Forbidden",
  "data": null,
  "errors": [{ "code": "FEATURE_NOT_ENABLED", "message": "Module PODCAST_RSS is not active" }],
  "metadata": {}
}

Vollständige Dokumentation

Installationsanleitung, Betrieb, Architektur und OpenAPI-Referenz in der öffentlichen VitePress-Site. Diese Seite bleibt ein kompakter API-Auszug für den schnellen Einstieg.