Documentation menu
These are pre-release docs from the main branch.

API reference

4 operations in quarantine. Raw spec: openapi.json.

GET/api/v1/admin/quarantine

GET /api/admin/quarantine — the org's quarantined objects, newest first.

`pending` are still held; `released` were admitted by an operator and keep their row so the override stays visible.

Parameters

NameInTypeRequiredDescription
limitquery—NoPage size. Clamped to 1..=200.
offsetquery—NoRows to skip, from a previous page's `next_offset`.

Responses

StatusDescription
200

Security: bearer

GET/api/v1/admin/quarantine/{sha256}

GET /api/admin/quarantine/{sha256} — one held or released object.

Parameters

NameInTypeRequiredDescription
sha256pathstringYes

Responses

StatusDescription
200

Security: bearer

DELETE/api/v1/admin/quarantine/{sha256}

DELETE /api/admin/quarantine/{sha256} — remove the held bytes.

The row goes with them and the fact stays in the audit trail. A released object is refused (409): its bytes are admitted and its trail is evidence.

Parameters

NameInTypeRequiredDescription
sha256pathstringYes
reasonquery—NoOptional note for the audit trail. The default sentence names the action when the operator does not add one.

Responses

StatusDescription
204

Security: bearer

POST/api/v1/admin/quarantine/{sha256}/release

POST /api/admin/quarantine/{sha256}/release — admit the object anyway.

The bytes move from the quarantine key to the canonical attachment key, the row records actor + reason + timestamp, and an `audit_events` row is written in the same transaction. Repeating the call returns the first release unchanged and writes no second audit row.

Parameters

NameInTypeRequiredDescription
sha256pathstringYes

Request body

ReleaseQuarantineRequest

Responses

StatusDescription
200

Security: bearer