Skip to main content

Replace the file on an existing roster job

PUT 

/roster/:rosterId/reupload

Swaps in a corrected file for a roster job that already exists and starts its processing over.

When to use: call this when the original upload contained errors and you have a fixed version of the whole file; to correct individual rows instead, use the roster row draft endpoints, and to begin an unrelated import, use POST /roster.

Preconditions: send a multipart request carrying the file part, the tenant-id header, and the rosterId of the job to replace. Accepted formats are CSV, XLSX, TSV, and JSON; when the file is an .xlsx, sheetName names the worksheet to read. Text (.txt) files are accepted on first upload but cannot be used for a reupload. The roster must not be mid-flight: a job in VALIDATION_IN_PROGRESS, IN_PROGRESS, or VALIDATED state is rejected with 409. Beyond that, what is allowed depends on the caller - internal provider data administrators may reupload any job that is not mid-flight, while other callers may only reupload jobs in VALIDATION_FAILED, FAILED, COMPLETED, or CANCELLED state.

What you get back: the updated roster job. Its status restarts the pipeline - PENDING when validation is dispatched immediately, or PRE_PROCESSING when the upload is routed for review first - so read the returned status rather than assuming validation has begun.

Side effects: the stored file is replaced, the previous export link is discarded, the upload counter is incremented, and validation is re-run from the beginning. Not idempotent - each call replaces the file and restarts processing.

Request​

Responses​

The updated roster job, carrying the replacement file details and the status its processing restarted at.