Projekte
Ein Projekt steht für eine Marke im Tracking: mit Domain, Land und Sprache, Prompts und Wettbewerbern. Fast jeder andere Endpunkt erwartet eine project_id. Beginnen Sie daher hier.
GET/dimensions/projects
Listet die Projekte des authentifizierten Kontos auf (dient auch als Prüfung der Authentifizierung).
GET/dimensions/projects/:id
Liefert detaillierte Informationen zu einem Projekt: Namensvarianten, weitere eigene Domains, Branche, Geschäftsmodell, Anzahl der Prompts je Markenbezug, das eigene Prompt-Limit des Projekts (prompt_limit, null, wenn keines festgelegt ist) mit stats.prompts_available (wie viele Prompts noch hinzugefügt werden können: der kleinere Wert aus dem verbleibenden Spielraum des Projekts unter diesem Limit und den verbleibenden Prompts des Kontos, null, wenn keines von beiden gilt) sowie data_coverage (die Modelle, Länder und Sprachen, für die tatsächlich Daten vorliegen). So ersetzt ein einziger Aufruf die separaten Abfragen von Modellen sowie Ländern und Sprachen.
GET/dimensions/models
Listet die Modelle auf, die in den täglichen Kennzahlen des Projekts vorkommen.
GET/dimensions/locales
Listet die Länder und Sprachen auf, die in den täglichen Kennzahlen des Projekts vorkommen.
POST/projects
Erstellt ein vollständiges Projekt in einem einzigen Aufruf (Schnellmodus): das Projekt, Prompts (zur Ausführung und Kategorisierung in die Warteschlange gestellt), Wettbewerber und das Abonnement der wöchentlichen E-Mail. Idempotent, wenn external_identifier angegeben ist. Das Projekt gehört immer dem Kontoinhaber.
- Anfragetext (JSON):
website_url(erforderlich, öffentliche HTTP(S)-URL mit DNS-Hostnamen oder öffentlicher IP-Adresse; Zugangsdaten, private und spezielle IP-Adressen, localhost und interne Hostnamen werden abgelehnt),name(erforderlich),main_country(erforderlich),main_language(erforderlich),brand_name,description,industry(ein Branchenschlüssel oder ein Array; ein unbekannter Branchenschlüssel wird abgelehnt, und die Fehlermeldung listet die gültigen auf),business_model,target_audience,brand_voice,goals,primary_products(Array),matching_names(Array),prompts(Array, maximal 100),collections(Array mit Objekten {name, prompts}, maximal 50; jedes Tag wird Prompts derselben Anfrage anhand des exakten Prompt-Texts zugewiesen),competitors(Array mit Objekten {domain, brand_name, matching_names}),owned_media(Objekt, Growth+),use_subdomain,weekly_email_subscribed,external_identifier(nur für Konten mit aktivierter Einbettung; Idempotenzschlüssel, [a-z0-9_-]{1,64}),execute_prompts_immediately(standardmäßig true).
PATCH/projects/:id
Ändert das Projektprofil (das Markenhandbuch und den Markenabgleich) mit denselben Feldern wie in den Projekteinstellungen sowie die weiteren eigenen Domains und das Prompt-Limit des Projekts. Alle sieben Felder des Markenhandbuchs (industry, business_model, description, primary_products, target_audience, brand_voice, goals) fließen in jede Aufgabe im GEO Writer und in die Prompt-Vorschläge ein. Die Funktion „Empfehlungen“ nutzt außerdem industry, description und target_audience, um ihre Ratschläge abzustimmen. Wenn Sie matching_names ändern, wird der Abgleich von Erwähnungen und Zitierungen über den gesamten Verlauf des Projekts im Hintergrund neu ausgeführt, und wenn Sie additional_owned_domains ändern, werden die bisherigen Antworten neu verarbeitet, die eine hinzugefügte oder entfernte Domain zitieren (rematching: true, Bearbeitungen sind währenddessen gesperrt). Eine Änderung von brand_name gilt nur für künftige Durchläufe. Nur der Kontoinhaber kann additional_owned_domains ändern. prompt_limit funktioniert wie unter Kontoeinstellungen > Prompt-Limits (ein niedrigeres Limit löscht keine Prompts), und eine Anfrage, die nur dieses Feld enthält, wird auch während einer Neuberechnung gespeichert. Unbekannte Felder werden abgelehnt, und eine Anfrage wird entweder vollständig oder gar nicht übernommen.
- Anfragetext (JSON), senden Sie nur die Felder, die Sie ändern möchten:
name(eine Bezeichnung; ändert die Erkennung von Erwähnungen nur, wennbrand_nameleer ist),brand_name,description,industry(ein Branchenschlüssel oder ein Array, das als Array gespeichert wird),business_model,target_audience,brand_voice,goals,primary_products(Array, ersetzt die bisherige Liste vollständig),matching_names(Array, ersetzt die bisherige Liste VOLLSTÄNDIG; senden Sie alle Varianten, die erhalten bleiben sollen),additional_owned_domains(Array mit bis zu 10 Domains, ersetzt die bisherige Liste VOLLSTÄNDIG; jede muss die eigene Domain einer Website sein, daher werden Plattformen, die viele Unternehmen gemeinsam nutzen, ebenso abgelehnt wie Subdomains;[]leert die Liste; darf nur der Kontoinhaber senden),prompt_limit(die maximale Anzahl an Prompts, die das Projekt enthalten kann, wie unter Kontoeinstellungen > Prompt-Limits: eine ganze Zahl von 1 bis 2147483647 odernull, um das Limit aufzuheben; darf nur der Kontoinhaber oder ein Konto-Admin (wie Kontoinhaber) mit der Berechtigung „Aktualisieren“ für Projekte senden; ein Schlüssel, der auf bestimmte Projekte beschränkt ist, erhältERR_KEY_PROJECT_SCOPED).
DELETE/projects/:id
Löscht ein Projekt wie die Schaltfläche „Projekt löschen“ in den Projekteinstellungen. Der Vorgang kann nicht rückgängig gemacht werden: Das Projekt verschwindet sofort und gibt einen Platz für ein weiteres Projekt frei. Anschließend löscht ein Hintergrundprozess die Prompts, Antworten, Erwähnungen, Zitierungen, Sentiment-Daten, Wettbewerber und den Kennzahlenverlauf des Projekts. API-Schlüssel, die auf das Projekt beschränkt sind, verlieren den Zugriff darauf, und ein Schlüssel, dem danach kein Projekt mehr bleibt, wird widerrufen. Teammitglieder benötigen die Berechtigung zum Löschen von Projekten.
:idProjekt-ID
Für ein Projekt, auf das der Schlüssel keinen Zugriff hat oder das bereits gelöscht wird, wird ERR_PROJECT_NOT_FOUND zurückgegeben. Erfordert einen API-Schlüssel, der den Zugriffsumfang read_write hat und nicht auf bestimmte Projekte beschränkt ist (andernfalls ERR_KEY_PROJECT_SCOPED).
Assistent für Projektentwürfe
Mehrstufiger Assistent für neue Projekte mit KI-Vorschlägen: POST /project_drafts startet einen Entwurf (und liefert für die URL Vorschläge für Name, Beschreibung und Branche), PATCH übermittelt die einzelnen Schritte (details, prompts, competitors, owned_media) in strikt vorgegebener Reihenfolge und liefert Vorschläge für den nächsten Schritt, und POST /project_drafts/:id/finalize erstellt das eigentliche Projekt. Entwürfe verfallen nach 24 Stunden.
- Die beim Start angegebene
website_urlmuss eine öffentliche HTTP(S)-URL mit DNS-Hostnamen oder öffentlicher IP-Adresse sein. Zugangsdaten, private und spezielle IP-Adressen, localhost und interne Hostnamen werden abgelehnt. Schritte:details(Name erforderlich),prompts(maximal 100, wird gegen das Kontingent geprüft),competitors(durch den Tarif begrenzt),owned_media(optional, Growth+). Jeder Schritt liefert Vorschläge, die sich mitsuggest=falseabschalten lassen. Bei URLs, die noch nicht analysiert wurden, kann das bis zu etwa 2 Minuten dauern; setzen Sie das Timeout Ihres Clients daher auf 180 Sekunden. Der Abschluss über finalize ist idempotent und prüft alle Tarifbeschränkungen und Kontingente erneut.