Skip to main content

List a roster job's upload attempts

GET 

/roster/:id/attempts

Returns one summary per finished upload attempt of a roster job, oldest first, so you can see how a file changed across corrections - how many rows failed on the first attempt versus the last, and which attempt finally imported.

When to use: call this when a job has been reuploaded and you need the history rather than just its current state, for example to answer what a client submitted on an earlier attempt.

Preconditions: supply the tenant-id header and the job's id. The job must belong to that tenant.

What you get back: the job's current attempt number and a list of attempt summaries. A job that predates attempt tracking returns an empty list and no attempt number - that means no history was recorded for it, not that it had zero attempts.

The list is bounded, not complete. The summaries come from the ledger held on the job record, which retains only the more recent attempts: how many is configurable, and a size guard can leave fewer still. When summaries have been dropped, olderAttemptsAvailable is true and attemptsTruncated counts them. This endpoint serves that same bounded ledger today - it does not yet return the dropped summaries. Their row-level data survives in the row history store for every attempt whose captured flag is true, and is not reachable through this API. Read-only; no state is mutated.

Request​

Responses​

The job's attempt history.