§ Protection
Decrypt PDF API
Strips encryption when you supply the document’s current password. Every other endpoint preserves protection, so removing it is always something you asked for explicitly rather than something a transform did quietly.
- Endpoint
- POST /pdf/decrypt
- Inputs
- Exactly 1 encrypted PDF
- Returns
- application/pdf, unprotected
- Limits
- 20 MB per file, 3,000 pages.
- Price
- $0.001
§ 01 The request
One POST, and the file comes back.
POST /pdf/decrypt
curl -sS --fail-with-body \
-o unlocked.pdf \
-H "Authorization: Bearer $OHMYWRAP_KEY" \
-F "file=@statement.pdf" \
-F "password=$DOC_PASSWORD" \
https://api.ohmywrap.com/pdf/decryptOptions
None. Send the file and nothing else. An options object is still accepted, but any key inside it is 422 invalid_options.
Worth knowing
Omitting the password is 422 password_required, and so is a wrong one — the two are deliberately not distinguished. A document with no protection is 422 not_encrypted rather than a silent no-op.
Your first /pdf/decrypt call takes one line of curl.
Ten thousand calls cost ten dollars, the pack never expires, and nothing you send is kept.
10,000 calls for $10. No subscription, no expiry.