ohmywrap
Get an API key

§ 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/decrypt

Options

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.