Skip to main content
Long-running operations in Splendor are asynchronous. They follow one pattern: a request creates a job and returns it immediately with a status; you then poll the job until it finishes. Nothing blocks while the work runs.

The pattern

  1. Create — the operation returns a job object with an identifier and an initial status (for example pending or running).
  2. Poll — fetch the job by its identifier until its status is terminal (succeeded/completed, failed, or cancelled).
  3. Act — read the job’s result (a download URL, updated readiness, a count).

Jobs by operation

Declare a new filterable field and existing records won’t carry it until they are re-read. A filter backfill applies the new field to already-indexed records without re-embedding them — it re-extracts each record’s filter values and restamps them onto the existing vectors. Scope it to a dataset_id (and optionally one source_id); the job reports the sources and objects it processed.

Polling

Poll on an interval with backoff; there is no need to poll more than every few seconds. Reindex and deletion jobs report per-item progress counts you can surface to users.
Reindex jobs can be cancelled while in flight with POST /v1/admin/reindex/jobs/{job_id}/cancel. Data-deletion jobs run through the managed deletion worker and cannot be cancelled once started.