Open a protected PDF, save its password privately, or unlock it for all readers
Open and Save require read permission. Save stores an encrypted password only for the authenticated person. Unlock requires file edit permission and replaces the stored PDF with decrypted bytes while preserving its file id and references.
apiKeyAuthorizationBearer <snoze_sk_…>Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
workspaceId*stringfileId*stringapplication/json- body
action*string"open""save""unlock""forget"password?|nullSuccess
application/json- response
data*curl -X POST 'https://api.snoze.dev/v1/workspaces/string/assets/string/access' \ -H 'Content-Type: application/json' \ -d '{ "action": "open"}'{ "data": { "base64": "string", "saved": true, "unlocked": true }}Read a PDF using this person's saved password
Rechecks file access and uses only the authenticated person's password. The response must never be cached publicly.
Begin a direct multipart upload session
Validates the declared name, MIME type, size, and per-part checksums, checks the workspace storage quota, opens a multipart upload against the object store, and returns the session with one presigned URL per part and an expiry. Requires a workspace member with the `files:write` permission. Refused when the storage backend does not support direct uploads, when the declared metadata or part layout is invalid, or when the workspace is over its storage quota. Send an `Idempotency-Key` header to make retries safe; a replay within the window returns the original response.