Skip to main content
Returns the current status and step-by-step history of a backfill import job started with Create a backfill. Poll it with the jobId from that call until the job reports COMPLETED or FAILED.
Imports usually finish quickly, but the work is asynchronous. A 201 from the create call means that the payload passed validation. Windmill queues new and VALIDATED jobs. An idempotent replay of an IMPORTING, COMPLETED, or FAILED job returns the original IDs but does not queue the job again. Once the job reports COMPLETED, the imported cycle is fully materialized and you can read it back with Export cycle packets.

Authorization

This endpoint enforces one rule beyond a valid API key:
Admins and HR Admins only. The member who created the API key must hold the performance_reviews.manage_cycles capability, which the Admin and HR Admin roles grant. A valid key without the capability returns 403 Forbidden.

Path parameters

string
required
Your company’s slug. Find it in your Dashboard URL, right after /s/:https://app.gowindmill.com/s/{companySlug}/home
string
required
The import job’s id, returned as jobId by Create a backfill.

Response

string
required
The import job’s id.
string
required
The job’s overall status:
  • VALIDATED — the payload passed validation and the import has not started. This status does not confirm that queueing succeeded.
  • IMPORTING — the import is running; steps shows how far it has gotten.
  • COMPLETED — the cycle imported successfully. Terminal.
  • FAILED — the import stopped with an error; see error and the failed step’s detail. Terminal. To re-run, submit a new create call with a different idempotencyKey.
string | null
required
The id of the cycle this job is importing — the same cycleId the create call returned.
object[]
required
Step history in chronological order. Steps appear as the import reaches them, so a queued job can have an empty list. Step names include cycle (the cycle shell, reviewees, and questions), one stage:{type} entry per imported stage (for example stage:SELF, stage:MANAGER), calibration and releases when the payload included them, and complete.
object | null
required
Failure information when status is FAILED; null otherwise.
string | null
required
ISO-8601 time the job reached a terminal status (COMPLETED or FAILED); null while it’s still queued or running.

Errors

The error response body is always shaped like this: