Projects-Settings-API
Team-, Brand-, Integration- und Webhook-Settings pro Projekt.
Die Projects-Settings-API verwaltet die projektbezogenen Einstellungen, die das Verhalten der Module steuern — Goals, aktive Module, Brand-Voice-Profile, Integrations-Bindings. Das reine Project-CRUD (/v1/projects) ist in Projekte-API dokumentiert; hier geht es um die Settings-Layer drumherum.
Alle Endpoints unter /v1/..., Sanctum-authentifiziert, team-scoped.
Goals
Goals sind messbare Ziele eines Projekts (z.B. "Top-3 fuer 'best crm'", "10 Backlinks bis Q3"). Module wie das Action-Center und das Reporting konsumieren sie als Optimierungs-Anker.
| Method | Endpoint | Beschreibung | Credits |
|---|---|---|---|
| GET | /v1/goals |
Liste aller Goals — Filter ?project_id= |
— |
| POST | /v1/goals |
Body {project_id, type, target, deadline?} |
— |
| DELETE | /v1/goals/{id} |
Goal entfernen | — |
curl -X POST "$BASE/goals" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"project_id":7,"type":"keyword_top3","target":"best crm","deadline":"2026-09-01"}'
Module-Aktivierung
Jedes Projekt hat einen Satz aktivierbarer Module (Backlinks, AVI, Site-Audit, Rank-Tracker ...). Inaktive Module liefern in der UI 403 und in der API 409 {error:"module_inactive"}.
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/modules |
Liste aller Module mit {slug, name, active, requires_plan} |
| POST | /v1/modules/{module}/activate |
Modul fuer aktuelles Team aktivieren |
| POST | /v1/modules/{module}/deactivate |
Modul deaktivieren — laufende Jobs werden NICHT abgebrochen |
# Backlinks-Modul aktivieren
curl -X POST "$BASE/modules/backlinks/activate" \
-H "Authorization: Bearer $TOKEN"
{
"data": {
"module": "backlinks",
"active": true,
"activated_at": "2026-05-01T09:14:01Z"
}
}
Action-Center-Goal-Profil
Das Goal-Profile ist die strategische Klammer eines Projekts (Industry, Persona, North-Star-Metric). Action-Center, AI-Tools und das Reporting beziehen sich darauf.
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/action-center/goal-profile |
Aktuelles Profil |
| POST | /v1/action-center/goal-profile |
Profil anlegen {industry, persona, north_star, ...} |
| PATCH | /v1/action-center/goal-profile |
Felder partiell updaten |
| GET | /v1/action-center/goal-templates |
Vordefinierte Templates pro Branche |
| GET | /v1/action-center/industry-templates |
Industry-spezifische Defaults |
| GET | /v1/action-center/seo-detectors |
Aktive SEO-Detektoren fuer das Projekt |
Webhooks
Webhook-Settings pro Team — Events werden bei Job-Abschluss (Article ready, Report completed, AVI checked) gefeuert. Schema und Endpoint-Definition: Webhooks-API.
Auf Settings-Seite relevant:
- Webhook-URL ist team-scoped, nicht project-scoped — alle Projekte feuern gegen denselben Endpoint.
- Pro-Event-Filter (
subscribed_events[]) ist als Webhook-Property pflegbar.
Integrations
Externe Integrationen (Google Search Console, GA4, Review-Sources, CMS) werden ueber dedizierte Sub-APIs verwaltet, ihre Bindings tauchen aber als Project-Setting auf:
| Bereich | Endpoint-Praefix |
|---|---|
| Google (GSC/GA4) | /v1/google/... |
| Review-Sources | /v1/review-sources/... |
| CMS-Integrations (WordPress, Shopify) | /v1/cms-integrations/... |
Pro Projekt kann es eine GSC-Property und eine GA4-Property gegeben — Mehrfach-Bindings liefern 409 Conflict.
# GSC-Property an Project linken
curl -X POST "$BASE/google/gsc/properties/$PROP/link" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"project_id":7}'
Brand-Voice & Style
Brand-Voice-Profile (style_profile) und Content-Goals werden global pro Team verwaltet, dann beim Article-Generate per ID referenziert. Details inkl. Felder: Artikel-API.
Status-Codes
| Code | Bedeutung |
|---|---|
| 200 | OK (Read/Update) |
| 201 | Goal/Setting erstellt |
| 403 | Cross-Team Zugriff oder fehlende Permission |
| 404 | Project/Goal nicht gefunden |
| 409 | Modul inactive ODER Integration bereits gelinkt |
| 422 | Validation-Error (z.B. ungueltiger Industry-Slug) |
Pitfalls
- Module-Deactivate stoppt keine laufenden Jobs. Wenn du ein Modul deaktivierst, laufen bereits dispatched-te Jobs zu Ende. Cancel ueber Job-Status-Endpoints.
- Goal-Profile ist Voraussetzung fuer Action-Center. Ohne
goal_profileliefern/v1/action-center/pathund/todosleere Arrays — kein Fehler, aber auch kein Output. - GSC-Link braucht OAuth-Connection. Der Link-Call schlaegt mit
409fehl, wenn keinegoogle/connections-Verbindung existiert.
Verwandt: Projekte-API · Webhooks-API · Credits-API.