AACSearch
API-Referenz

Jobs

Lang laufende Operationen antworten mit 202 und einer Job-ID. Fortschritt per GET /jobs/{jobId}, Abbruch vor dem Alias-Wechsel per DELETE.

Reindex, DocSearch-Crawl, Datei-Import, Snapshot und Restore, Evaluation sowie Re-Embedding laufen nie im HTTP-Request: Der Endpunkt legt einen Job an und antwortet 202 Accepted; ein Scheduler-Worker übernimmt ihn unter einer Lease.

TypAusgelöst durchScope zum Lesen / Abbrechen
reindexPOST /indexes/{slug}/reindexsettings:write
crawlPOST /indexes/{slug}/docsearch/previewdocuments:write
file_importLauf eines Datei-Connectorssettings:write
snapshot · restorePOST /indexes/{slug}/snapshots[/{id}/restore]settings:write
evalPOST /quality/sets/{setId}/runsettings:write
reembedPOST /indexes/{slug}/reembed?all=truesettings:write (gestartet mit documents:write)
{
	"index": "products",
	"job_id": "clx8f2k9q0001",
	"status": "queued",
	"status_url": "/api/v1/jobs/clx8f2k9q0001",
	"request_id": "req_…"
}

GET /jobs/{jobId} → { job, request_id } mit status (queued · running · completed · partial · failed · cancelled), phase (Reindex: queued → loading → copying → swapping → done), progress 0–100, attempts, result je Typ:

Typresult
reindex{ documents, duration_ms, source, snapshot_kept }
crawl{ pages, skipped, errors[], total, records[] }
file_import{ loaded, indexed, failed, skipped, ocr_pages, files[] }
snapshot{ snapshot_id, documents, bytes }
restore{ snapshot_id, documents, duration_ms, snapshot_kept }
reembed{ documents, failed, restored, embed_model, embed_model_version, duration_ms }
evalkeins — die Metriken stehen in GET /quality/runs/{runId}

DELETE /jobs/{jobId} bricht einen Job vor swapping ab, sonst 409 JOB_NOT_CANCELLABLE. Was der Abbruch bewirkt, hängt vom Typ ab:

TypNach dem Abbruch
reindex, restoreDer Worker stoppt zwischen zwei Seiten und verwirft die halb gebaute Collection; der Live-Index bleibt unberührt
snapshotNichts wird veröffentlicht; Teilobjekte werden entfernt
file_import, reembedStoppt zwischen Dateien / Batches; bereits Geschriebenes bleibt
crawlDer Crawl läuft im Hintergrund zu Ende, sein Ergebnis wird verworfen
evalDer Lauf wird als failed abgeschlossen

Fremde Jobs — eines anderen Mandanten oder bei indexgebundenem Schlüssel eines anderen Index: 404 JOB_NOT_FOUND, nie 403.

Pro Index läuft nur ein Neuaufbau gleichzeitig: Ein Reindex oder Restore, während ein Reindex oder Restore wartet oder läuft, ergibt 409 JOB_CONFLICT mit der aktiven job_id in details — auch mit ?sync=true. Ebenso läuft pro Index nur ein reembed-Job gleichzeitig.

?sync=true beim Reindex blockiert wie früher und ist nur für Tests gedacht; POST /quality/sets/{setId}/run?sync=true behält ebenso die alte blockierende Evaluation.