Organizations on Growth and Enterprise tiers already benefit from Reducto’s Zero Data Retention (ZDR) policy, which typically purges all API processing artifacts within 24 hours. These endpoints are for cases where you need to delete artifacts before the 24-hour period.
What gets deleted
DELETE /job/{job_id} deletes the API-layer artifacts that Reducto stores in live systems when processing a job:
Uploaded files are managed separately. To remove a file you uploaded via
POST /upload, use DELETE /upload/{file_id}.
When cleanup finishes, Reducto tombstones the job record. Tombstoning marks the record as deleted so Reducto no longer serves it through job retrieval endpoints; residual copies may remain briefly in backups or object-store versions until they are removed through ordinary backup rotation.
What is not affected:
- Studio data. Jobs created through Studio pipelines are managed separately. These endpoints only delete artifacts stored by the Reducto API.
- Your source documents. If you provided a URL to an externally hosted file, that file is untouched.
- Completed downstream results. If another job already consumed this job’s output (e.g. chained extract after parse), the downstream job’s own artifacts remain until you delete them separately.
Delete a job
DELETE /job/{job_id} is asynchronous. It validates your request, marks the job as pending deletion, enqueues a background cleanup task, and returns 202 Accepted. Artifact cleanup runs in the background.
HTTP status codes
Job deletion is asynchronous, so the status codes reflect the lifecycle of the deletion process.Deleting persisted artifacts
If you usedpersist_results: true when creating the job, persisted result artifacts are kept by default even after deletion according to your account settings or agreement with Reducto. Pass include_persisted=true to also delete those long-retention artifacts:
Response
Store the deletion response with your own request logs if you need evidence that Reducto accepted the deletion request.
Failure recovery
If the background cleanup task fails, the deletion marker is rolled back automatically. The job becomes retrievable again viaGET /job/{job_id} and you can retry the DELETE request.
Delete an uploaded file
DELETE /upload/{file_id} removes the file you uploaded via POST /upload. This operation is synchronous and returns immediately. Pass the full reducto:// file ID returned by POST /upload.
Response
Jobs that already processed this file are not affected. Delete each job separately if needed.
Relationship to data retention
These deletion endpoints complement, not replace, Reducto’s automatic data retention policies. For the full scope of Reducto’s data handling obligations, please refer to Reducto’s Data Processing Agreement (DPA).
For full details on data retention and security policies, see Data policies & compliance.
Troubleshooting
409: Deletion in progress
409: Deletion in progress
The job’s artifacts are being cleaned up in the background. Wait and retry your
GET /job/{job_id} request. Once cleanup finishes, the status changes to 410 Gone.410: Job has been deleted
410: Job has been deleted
The job was deleted from live systems (either manually via this endpoint or by automatic retention). The job record is tombstoned and is no longer retrievable through the API.
400: Job not in a terminal state
400: Job not in a terminal state
Only completed or failed jobs can be deleted. If the job is still processing, wait for it to finish or cancel it first via
POST /cancel/{job_id}.Can I delete Studio jobs?
Can I delete Studio jobs?
No. Jobs created through Studio pipelines are managed separately. These endpoints only delete artifacts stored by the Reducto API.
Can I recover a deleted job?
Can I recover a deleted job?
No. Deleted jobs are not recoverable through the API. Back up results separately before deleting them in Reducto’s database if you need them later.
What happens if deletion fails?
What happens if deletion fails?
The deletion marker is rolled back automatically. The job becomes retrievable again and you can retry the
DELETE request.