Alles ist ein Objekt
Jede Ressource in Olostep ist ein Objekt mit einem eindeutigen Bezeichner. Egal, ob du es über die API, das SDK oder das Dashboard erstellst – du erhältst ein Objekt zurück, auf das du verweisen, das du aktualisieren und abfragen kannst.Singularpfade / Aktionsorientierte API
Obwohl wir bereit sind, hart und lange über die ideologische Reinheit des objektorientierten API-Designs zu kämpfen (ein POST auf/crawls sollte ein crawl-Objekt erstellen, während ein GET auf /crawls/{crawl_id} dir helfen sollte, dieses Objekt abzurufen und möglicherweise zu aktualisieren – du kannst immer Metadaten aktualisieren),
antwortet jede Sammlung auch auf ihren Singularnamen: POST /v1/answer verhält sich genau wie POST /v1/answers, GET /v1/scrape/{scrape_id} wie GET /v1/scrapes/{scrape_id}, und so weiter für batch, crawl, map, search, schedule, monitor, file und feedback.
Der Plural ist die kanonische Form und die, die in diesem Referenzdokument beschrieben wird; der Singular ist ein Alias, wenn du in Aktionen statt in Objekten denkst.
Objekte können Lebenszyklen haben
Einige Olostep-Objekte verfolgen den Status über einstatus-Feld. Dieses Zustandsmaschinenmuster lässt dich genau wissen, wo sich jede Ressource in ihrem Lebenszyklus befindet.
Batches
Batches haben zwei Status-Ebenen: den Batch selbst und die einzelnen Items. Batch-Status:Batch-Level-Fehler sind extrem selten. Batches werden fast immer abgeschlossen – auch wenn einige URLs fehlschlagen, erreicht der Batch selbst den Status
completed. Im seltenen Fall eines katastrophalen Infrastrukturfehlers (z.B. LLM-Dienstunterbrechung während der Anreicherung) kann der Batch fehlschlagen. Dies betrifft weniger als 0,01% der Batches.
Items können aus folgenden Gründen fehlschlagen:
- URL ist blockiert oder gibt einen Fehler zurück
- Parser-Ausgabe fehlt
- Netzwerk-/Abruffehler
error-Objekt mit code und message, das den Fehler erklärt. Der Batch wird dennoch abgeschlossen – überprüfe den Status jedes Items bei der Verarbeitung der Ergebnisse.
Crawls
Crawls werden immer abgeschlossen. Selbst wenn ein Crawl 0 URLs findet (aufgrund von robots.txt-Blockierung oder ungültiger Start-URL), wird der Crawl-Status
completed sein. Überprüfe das pages_count-Feld, um die Ergebnisse zu verifizieren.Monitore
Monitore sind langlebige Objekte mit einem reicheren Lebenszyklus als Einmalressourcen:
Das Erstellen eines Monitors gibt HTTP
202 mit status: provisioning zurück. Der Monitor wird active, sobald die Planung seine verfolgten Ziele auflöst – poll GET /v1/monitors/:monitor_id oder streame Bereitstellungsereignisse mit ?stream=1. Nur active-Monitore können pausiert und nur paused-Monitore können fortgesetzt werden. Updates geben 409 zurück, während der Monitor noch provisioning ist.
Abrufmuster
Viele Objekte erzeugen Inhalte, die später abgerufen werden können. Dasretrieve_id-Muster ermöglicht es dir, Inhalte abzurufen, ohne sie erneut zu verarbeiten.
- Batch-Items — Jede verarbeitete URL erhält eine
retrieve_id - Crawl-Seiten — Jede gecrawlte Seite erhält eine
retrieve_id
/v1/retrieve-Endpunkt akzeptiert den formats-Parameter, um anzugeben, welche Inhaltstypen zurückgegeben werden sollen (html, markdown, json, text).