Slate applies default redaction rules to every job automatically. These include common SSN formats (e.g.
123-45-6789, 123456789) and account number variants derived from the matter’s account data. Any custom rules you supply in the request body are merged with — not a replacement for — the default ruleset.1
Submit a redaction job
Call Slate responds with Store the
POST /v1/redactions to start a new redaction job. Slate queues the document for processing and immediately returns a job ID and a poll URL.Required fields:Supply an optional
rules array to add custom redaction patterns on top of the defaults. Each rule specifies a match strategy and a transform action.202 Accepted and a job object:202 Response
id (referred to as redactionId below). The pollUrl is the path to the job detail endpoint (GET /v1/redactions/{redactionId}); for lightweight polling use the dedicated status endpoint shown in the next step.2
Poll for redaction status
Call Poll until
GET /v1/redactions/{redactionId}/status to check processing progress. This endpoint is lightweight — it reads from Slate’s job store, not from S3 — making it safe to poll frequently without incurring storage egress costs.cURL
In-Progress Response
Completed Response
status is "completed" or "failed". Possible status values:Use exponential backoff starting at 3 seconds. Most documents complete within 15–60 seconds depending on page count and whether OCR is enabled.
3
Download the redacted PDF
Once
status is "completed", retrieve the redacted file by calling GET /v1/redactions/{redactionId}/file. Slate returns a presigned S3 URL pointing to the output document. Calling this before the job reaches completed returns 409.Inline Viewing
Force Download
Example Response
- Omit
?download=trueto get a URL suitable for inline browser rendering (PDF viewer, iframe). - Add
?download=trueto get a URL withContent-Disposition: attachment, which forces the browser to prompt a file download.
The presigned download URL expires after 15 minutes. If your downstream consumer needs persistent access, store the
redactionId and call this endpoint again to generate a fresh URL rather than caching the presigned URL itself.4
Review the run summary
The completed status response includes a full run summary you can use for auditing, quality review, or reporting. Key fields:
A non-zero
ocrCount on a rule confirms that OCR detected sensitive data that was not accessible from the raw PDF text layer — useful evidence that OCR should remain enabled for that document type going forward.Slate supports a labeling option that annotates each redaction box with a configurable label style rather than a plain black mask. Enable labeling by including
"labeling": { "mode": "numbers", "ranges": [{ "startPage": 1, "endPage": 5 }] } in your job submission payload. Accepted modes are numbers, letters, pageNumbers, and none.