API-Referenz
Vollständige Referenz für die AutoSEO REST API. Alle Endpunkte erfordern ein gültiges Bearer-Token, sofern nicht anders angegeben. Basis-URL: https://panel.seoauto.ai
Übersicht
Die AutoSEO PSEO-Automatisierungs-API ermöglicht es Ihnen, programmatisch Websites (PSEOs) zu erstellen, KI-basierte Inhaltsgenerierung auszulösen, Generierungsaufträge zu verfolgen und Ihre Inhaltspipeline zu verwalten. Alle Endpunkte befinden sich unter dem Pfadpräfix /pseo-endpoints, eingebunden im Directus-Backend.
Basis-URL
https://panel.seoauto.ai
Authentifizierung
Bearer Token (JWT)
Format
JSON (REST)
Authentifizierung
Alle API-Aufrufe (außer der Integritätsprüfung) erfordern ein Directus-Benutzertoken als Bearer-Header. Erhalten Sie ein kurzlebiges Zugriffstoken durch Anmeldung oder verwenden Sie ein langlebiges statisches Token aus Ihrem Dashboard.
Option 1 — Anmeldung (kurzlebiges JWT)
https://panel.seoauto.ai/auth/login{
"email": "you@example.com",
"password": "••••••••"
}{
"data": {
"access_token": "eyJhbGciO...",
"expires": 3600000,
"refresh_token": "..."
}
}Option 2 — Statisches Token (Dashboard)
Gehen Sie zu Dashboard → API-Schlüssel und generieren Sie ein dauerhaftes statisches Token. Verwenden Sie es direkt als Bearer-Wert — kein Ablaufdatum zu verfolgen.
Token verwenden
Authorization: Bearer <your_access_token>Integritätsprüfung
https://panel.seoauto.ai/pseo-endpoints/Gibt den Erweiterungsstatus und eine Liste verfügbarer Endpunkte zurück. Keine Authentifizierung erforderlich.
{
"status": "ok",
"extension": "pseo-automation",
"version": "1.0.0",
"timestamp": "2026-03-10T12:00:00.000Z",
"endpoints": [
"GET /",
"POST /pseo",
"POST /trigger/on-demand-generation",
"POST /trigger/bulk-generation",
"GET /generations/:id",
"GET /generations?pseo_id=X",
"POST /generate/main-json",
"GET /fetch-sitemap?pseo_id=X"
]
}Website erstellen
https://panel.seoauto.ai/pseo-endpoints/pseoErstellt einen neuen PSEO-Eintrag (Website) für den authentifizierten Benutzer. Der PSEO-Datensatz ist die Stammentität, die alle Inhaltsgenerierungseinstellungen für eine bestimmte Website enthält.
Anfragekörper
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| website_url | string | erforderlich | Vollständige URL der Zielwebsite (z. B. https://example.com) |
| master_prompt | string | erforderlich | Anweisungen, die die KI bei der Inhaltserstellung für diese Website leiten |
| website_software | string | optional | CMS/Plattform-Bezeichner. Standard: "wordpress" |
{
"website_url": "https://example.com",
"website_software": "wordpress",
"master_prompt": "This website sells handmade leather bags targeting fashion-conscious adults in the US. Write SEO-friendly product content in English using a professional yet warm tone."
}{
"success": true,
"message": "PSEO created successfully",
"data": {
"id": 42,
"website_url": "https://example.com",
"website_software": "wordpress",
"directus_user_id": "uuid-...",
"post_counts_total": 0
},
"timestamp": "2026-03-10T12:00:00.000Z"
}Generierung starten (Test)
https://panel.seoauto.ai/pseo-endpoints/trigger/on-demand-generationStartet einen On-Demand-KI-Inhaltsgenerierungsauftrag für ein PSEO. Auf 1 Seite begrenzt (Testmodus). Der Auftrag wird asynchron im Hintergrund ausgeführt. Token werden sofort mit der Rate token_per_page abgezogen.
Test mode — max 1 page
On-demand generation is limited to 1 page and is intended for testing your setup. To generate multiple pages at once, use the Bulk Generation endpoint which uses Claude Batch API.
Anfragekörper
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| pseo_id | number | erforderlich | ID des PSEO (der Website), für das Inhalte generiert werden sollen |
| post_count | number | erforderlich | Anzahl der zu generierenden Seiten. Muss 1 sein (Testlimit) |
{
"pseo_id": 42,
"post_count": 1
}{
"success": true,
"message": "Generation started in background",
"generation_id": 7,
"status": "pending",
"timestamp": "2026-03-10T12:00:00.000Z"
}Limit gleichzeitiger Generierungen
Pro PSEO ist jeweils nur ein aktiver Generierungsauftrag erlaubt. Wenn bereits ein Auftrag mit Status ausstehend oder laufend vorhanden ist, gibt die Anfrage 409 Conflict zurück.
Massengeneration
https://panel.seoauto.ai/pseo-endpoints/trigger/bulk-generationStarts a bulk AI content generation job using Claude Batch API. Supports any number of pages. Tokens are deducted at the token_per_batch_page rate.
Anfragekörper
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| pseo_id | number | erforderlich | ID des PSEO (der Website), für das Inhalte generiert werden sollen |
| post_count | number | erforderlich | Anzahl der zu generierenden Seiten (positive ganze Zahl, kein Limit) |
{
"pseo_id": 42,
"post_count": 100
}{
"success": true,
"message": "Bulk generation started in background",
"generation_id": 12,
"status": "pending",
"timestamp": "2026-03-10T12:00:00.000Z"
}Limit gleichzeitiger Generierungen
Pro PSEO ist jeweils nur ein aktiver Generierungsauftrag erlaubt. Wenn bereits ein Auftrag mit Status ausstehend oder laufend vorhanden ist, gibt die Anfrage 409 Conflict zurück.
Generierung abrufen
https://panel.seoauto.ai/pseo-endpoints/generations/:idGibt den vollständigen Statusdatensatz für einen einzelnen Generierungsauftrag zurück. Fragen Sie diesen Endpunkt nach dem Start einer Generierung ab, um den Fortschritt zu verfolgen.
Pfadparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| id | number | erforderlich | Die generation_id, die vom Endpunkt zum Starten der Generierung zurückgegeben wurde |
{
"success": true,
"data": {
"id": 7,
"pseo_id": 42,
"status": "running", // pending | running | completed | failed
"requested_count": 10,
"created_count": 4,
"failed_count": 0,
"failed_routes": [],
"date_created": "2026-03-10T12:00:00.000Z",
"date_updated": "2026-03-10T12:01:30.000Z",
"date_completed": null
},
"timestamp": "2026-03-10T12:01:35.000Z"
}| Status | Bedeutung |
|---|---|
| pending | Auftrag in der Warteschlange, noch nicht gestartet |
| running | KI generiert aktiv Seiten |
| completed | Alle Seiten erfolgreich generiert |
| failed | Auftrag aufgrund eines kritischen Fehlers gestoppt; failed_routes prüfen |
Generierungen auflisten
https://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=:pseo_idGibt eine Liste der bis zu 50 neuesten Generierungsaufträge für ein bestimmtes PSEO zurück, nach Neuheit sortiert. Gibt nur Aufträge des authentifizierten Benutzers zurück.
Abfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| pseo_id | number | erforderlich | Die ID des PSEO (der Website), für das Generierungen aufgelistet werden sollen |
GET https://panel.seoauto.ai/pseo-endpoints/generations?pseo_id=42
Authorization: Bearer <token>{
"success": true,
"data": [
{
"id": 8,
"pseo_id": 42,
"status": "completed",
"requested_count": 5,
"created_count": 5,
"failed_count": 0,
"failed_routes": [],
"date_created": "2026-03-10T13:00:00.000Z",
"date_completed": "2026-03-10T13:04:21.000Z"
},
{ "id": 7, "status": "completed", "..." : "..." }
],
"timestamp": "2026-03-10T14:00:00.000Z"
}Sitemap erstellen
https://panel.seoauto.ai/pseo-endpoints/generate/main-jsonVerwendet KI, um einen strukturierten Inhaltsplan (main_json) für das PSEO zu erstellen — im Wesentlichen eine Liste von Seitenrouten, Titeln und Metadaten, die als Vorlage für die Inhaltsgenerierung dient. Token werden mit der Rate token_per_main_json abgezogen.
Anfragekörper
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| pseo_id | number | erforderlich | ID des Ziel-PSEO |
| language_code | string | erforderlich | Sprache für den Inhaltsplan, z. B. en-US, tr-TR, de-DE |
| description | string | erforderlich | Unternehmensbeschreibung (150–1000 Zeichen). Sollte Branche, Dienstleistungen, Zielgruppe und Ziele abdecken. |
{
"pseo_id": 42,
"language_code": "en-US",
"description": "We sell premium handmade leather goods including bags, wallets, and belts targeting fashion-conscious adults aged 25–45 in the United States. Our USP is ethically sourced full-grain leather with lifetime repair guarantee."
}{
"success": true,
"message": "main_json generated and saved successfully",
"data": {
"main_json": {
"pages": [
{ "route": "/leather-bags", "title": "Premium Leather Bags", "priority": 1 },
{ "route": "/leather-wallets", "title": "Handmade Leather Wallets", "priority": 2 }
]
},
"total_pages": 28
},
"timestamp": "2026-03-10T12:00:00.000Z"
}Limit gleichzeitiger Generierungen
Pro Benutzer kann jeweils nur eine main_json-Generierung ausgeführt werden. Gleichzeitige Anfragen geben 409 Conflict zurück.
Sitemap abrufen
https://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=:pseo_idRuft die Sitemap der mit einem PSEO verknüpften Website ab und analysiert sie. Versucht automatisch mehrere gängige Sitemap-Pfade (einschließlich Sitemap-Indizes). Gibt eine flache Liste aller gefundenen Seiten-URLs zurück. Nützlich zum Importieren der URL-Struktur einer bestehenden Website.
Abfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| pseo_id | number | erforderlich | PSEO-ID — die Sitemap wird von der in diesem Datensatz gespeicherten website_url abgerufen |
Versuchte Sitemap-Pfade (der Reihe nach): /sitemap.xml → /sitemap_index.xml → /wp-sitemap.xml → /sitemap
GET https://panel.seoauto.ai/pseo-endpoints/fetch-sitemap?pseo_id=42
Authorization: Bearer <token>{
"success": true,
"urls": [
"https://example.com/",
"https://example.com/leather-bags",
"https://example.com/leather-wallets",
"https://example.com/about"
]
}Gibt ein leeres urls-Array zuruck, wenn keine Sitemap gefunden wird oder die Website nicht erreichbar ist. Lost keinen Fehler aus.
Fehlercodes
Alle Fehlerantworten folgen demselben Schema:
{
"success": false,
"error": "Human-readable error message",
"timestamp": "2026-03-10T12:00:00.000Z"
}| Status | Bedeutung |
|---|---|
| 400Bad Request | Fehlende oder ungültige Anfrageparameter |
| 401Unauthorized | Fehlendes oder ungültiges Bearer-Token |
| 402Payment Required | Unzureichendes Token-Guthaben für den angeforderten Vorgang |
| 403Forbidden | Der authentifizierte Benutzer ist nicht der Eigentümer der angeforderten Ressource |
| 404Not Found | PSEO- oder Generierungsdatensatz existiert nicht |
| 409Conflict | Ein gleichzeitiger Generierungsauftrag ist bereits aktiv |
| 500Internal Server Error | Unerwarteter serverseitiger Fehler; Erweiterungsprotokolle prüfen |
