Skip to main content
POST
/
v1
/
pdf
/
security
/
add
Add Password to PDF
curl --request POST \
  --url https://api.pdf.co/v1/pdf/security/add \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "url": "<string>",
  "ownerpassword": "12345",
  "userpassword": "54321",
  "encryptionalgorithm": "AES_128bit",
  "allowaccessibilitysupport": true,
  "allowassemblydocument": true,
  "allowprintdocument": false,
  "allowfillforms": false,
  "allowmodifydocument": false,
  "allowcontentextraction": false,
  "allowmodifyannotations": false,
  "printquality": "LowResolution",
  "name": "<string>",
  "expiration": 60,
  "async": true,
  "profiles": "<string>",
  "httpusername": "<string>",
  "httppassword": "<string>"
}'

Authorizations

x-api-key
string
header
required

Body

application/json
url
string<uri>
default:https://pdfco-test-files.s3.us-west-2.amazonaws.com/pdf-merge/sample1.pdf
required

URL to the source file url attribute.

ownerpassword
string
default:12345

Owner password

userpassword
string
default:54321

User password

encryptionalgorithm
string
default:AES_128bit
allowaccessibilitysupport
boolean
allowassemblydocument
boolean
allowprintdocument
boolean
default:false
allowfillforms
boolean
default:false
allowmodifydocument
boolean
default:false
allowcontentextraction
boolean
default:false
allowmodifyannotations
boolean
default:false
printquality
string
default:LowResolution
name
string
default:output-protected.pdf

File name for generated output.

expiration
number
default:60

Sets the expiration time for the output link, in minutes. After this period, generated output file(s) are automatically deleted from PDF.co Temporary Files Storage. The maximum allowed duration depends on your subscription plan. For permanent storage of input files (e.g., reusable images, PDF templates, documents), use PDF.co Built‑In Files Storage.

async
boolean
default:false

Set async to true for long processes to run in the background, API will then return a jobId which you can use with the Background Job Check endpoint. Also see Webhooks & Callbacks

profiles
string

Profiles are used configure extra options for specific API endpoints and may be unique to an API. For more information, see Profiles and the documentation of each endpoint for profiles specific to it.

httpusername
string

HTTP auth user name if required to access source URL.

httppassword
string

HTTP auth password if required to access source URL.