Naar hoofdinhoud gaan
De API van Olostep is ontworpen rond objecten. Het begrijpen van dit ontwerp helpt je om effectievere integraties te bouwen.

Alles is een Object

Elke resource in Olostep is een object met een unieke identificatie. Of je het nu creëert via de API, SDK of dashboard — je krijgt een object terug dat je kunt refereren, bijwerken en opvragen.
ResourceObject ID FormaatVoorbeeld
Scrapescrape_*scrape_abc123
Batchbatch_*batch_xyz789
Crawlcrawl_*crawl_def456
Mapmap_*map_ghi012
Answeranswer_*answer_jkl345
Searchsearch_*search_mno678
Monitormonitor_*monitor_mno678
Filefile_*file_mno678
Scheduleschedule_*schedule_pqr901

Objecten Kunnen Levenscycli Hebben

Sommige Olostep-objecten volgen de status via een status veld. Dit toestandsmachinepatroon laat je precies weten waar elke resource zich in zijn levenscyclus bevindt.

Batches

Batches hebben twee niveaus van status: de batch zelf en individuele items. Batch Status:
in_progress → completed
StatusBeschrijving
in_progressURL’s worden gescraped
completedVerwerking voltooid
Batch-niveau fouten zijn uiterst zeldzaam. Batches worden bijna altijd voltooid — zelfs als sommige URL’s falen, bereikt de batch zelf de completed status. In het zeldzame geval van een catastrofale infrastructuurfout (bijv. LLM-service uitval tijdens verrijking), kan de batch falen. Dit treft minder dan 0,01% van de batches.
Item Status: Elke URL in een batch wordt gevolgd als een individueel item met zijn eigen status:
StatusBeschrijving
successURL succesvol gescraped
failedURL kon niet worden gescraped
Items kunnen falen door:
  • URL is geblokkeerd of retourneert een fout
  • Parser output ontbreekt
  • Netwerk/fetch fouten
Mislukte items bevatten een error object met code en message die de fout uitleggen. De batch wordt nog steeds voltooid — controleer de status van elk item bij het verwerken van resultaten.

Crawls

in_progress → completed
StatusBeschrijving
in_progressActief URL’s ontdekken en verwerken
completedCrawlen voltooid
Crawls worden altijd voltooid. Zelfs als een crawl 0 URL’s vindt (door robots.txt blokkering of ongeldige start-URL), zal de crawl status completed zijn. Controleer het pages_count veld om resultaten te verifiëren.

Monitors

Monitors zijn langlevende objecten met een rijkere levenscyclus dan eenmalige resources:
provisioning → active ⇄ paused
            ↘ failed
StatusBeschrijving
provisioningAgent, spec, planner en schema worden opgezet
activeSchema ingeschakeld; runs worden uitgevoerd op schedule.frequency
pausedSchema uitgeschakeld via POST /v1/monitors/:monitor_id/pause
failedProvisioning of schema-update mislukt (error_message is ingesteld)
deletedZacht verwijderd via DELETE /v1/monitors/:monitor_id
Het creëren van een monitor retourneert HTTP 202 met status: provisioning. De monitor wordt active zodra de planning zijn getraceerde doelen oplost — poll GET /v1/monitors/:monitor_id of stream provisioning events met ?stream=1. Alleen active monitors kunnen gepauzeerd worden, en alleen paused monitors kunnen hervat worden. Updates retourneren 409 terwijl de monitor nog provisioning is.

Retrieve Patroon

Veel objecten produceren inhoud die later kan worden opgehaald. Het retrieve_id patroon laat je inhoud ophalen zonder opnieuw te verwerken.
# Haal inhoud op met retrieve_id
curl "https://api.olostep.com/v1/retrieve?retrieve_id=6h89o8u1kt" \
  -H "Authorization: Bearer <your_token>"
Dit patroon wordt gebruikt door:
  • Batch items — Elke verwerkte URL krijgt een retrieve_id
  • Crawl pagina’s — Elke gecrawlde pagina krijgt een retrieve_id
De /v1/retrieve endpoint accepteert de formats parameter om te specificeren welke inhoudstypen moeten worden geretourneerd (html, markdown, json, text).

Webhooks: Gebeurtenisgestuurde Updates

In plaats van te polleren voor statuswijzigingen, configureer webhooks om gebeurtenissen te ontvangen wanneer objecten van status veranderen.
{
  "event": "batch.completed",
  "data": {
    "id": "batch_xyz789",
    "status": "completed",
    "items_total": 100,
    "items_completed": 100
  }
}

Metadata: Jouw Gegevens Naast de Onze

Voeg aangepaste sleutel-waarde paren toe aan objecten met behulp van metadata. Hiermee kun je Olostep resources koppelen aan je interne systemen.
{
  "items": [{"url": "https://example.com"}],
  "metadata": {
    "order_id": "12345",
    "customer": "acme-corp"
  }
}

Samenvatting

ConceptBeschrijving
ObjectenElke resource heeft een unieke ID en is opvraagbaar
LevenscycliVolg de voortgang via het status veld
RetrieveHaal later inhoud op met retrieve_id
WebhooksWordt op de hoogte gebracht wanneer de status verandert
MetadataVoeg je eigen gegevens toe aan elk object