Premier appel
Une fois votre clé API en poche, vous pouvez tester immédiatement. Cet exemple lance un job de scraping sur une URL publique et lit le résultat.
Lancer un job
Section intitulée « Lancer un job »curl -X POST https://orchestrator.extentapi.example/v1/scraper/jobs \ -H "x-api-key: ek_live_..." \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 8f3a2c1e-9b6d-4f7a-a2c5-1e9d4b8a7c3f" \ -d '{ "url": "https://example.com", "priority": 5 }'const res = await fetch( "https://orchestrator.extentapi.example/v1/scraper/jobs", { method: "POST", headers: { "x-api-key": process.env.EXTENTAPI_KEY, "Content-Type": "application/json", "Idempotency-Key": crypto.randomUUID(), }, body: JSON.stringify({ url: "https://example.com", priority: 5 }), },);const job = await res.json();console.log(job.id, job.status);import os, uuid, requests
resp = requests.post( "https://orchestrator.extentapi.example/v1/scraper/jobs", headers={ "x-api-key": os.environ["EXTENTAPI_KEY"], "Content-Type": "application/json", "Idempotency-Key": str(uuid.uuid4()), }, json={"url": "https://example.com", "priority": 5},)resp.raise_for_status()print(resp.json())Réponse (201 Created) — toutes les réponses JSON suivent l’enveloppe uniforme
{ status, code, data } ; la ressource est dans data :
{ "status": "success", "code": "201-created", "data": { "id": "job_01H...", "status": "queued", "url": "https://example.com", "createdAt": "2026-05-21T10:30:00.000Z" }}Lire le résultat
Section intitulée « Lire le résultat »Le job est traité de manière asynchrone par un agent. Vous pouvez :
- Poller
GET /v1/scraper/jobs/{id}toutes les ~2 secondes. - Souscrire un webhook pour recevoir un POST signé HMAC à la fin.
- Écouter le flux SSE
/eventsfiltré sur votre tenant.
curl https://orchestrator.extentapi.example/v1/scraper/jobs/job_01H... \ -H "x-api-key: ek_live_..."Points clés
Section intitulée « Points clés »- Idempotency-Key — toute requête de création doit en porter une. Une même clé rejouée dans les 24 h renvoie la réponse originale.
- Trace ID — incluez un header
x-request-id(UUID) si vous voulez corréler vos logs avec les nôtres. - Rate-limit — un header
Retry-Afterindique le délai en cas de429.