Waiting politely
They check a job a few seconds apart, wait longer as it runs, and stop after a time you can set.
Call the KovaPDF tools from JavaScript or Python, or from a terminal. The packages upload your file, start the job, wait for it calmly and download the result.
npm install @kovapdf/sdk
pip install kovapdfIn your KovaPDF dashboard, open Developer API and make a key. Keep it in an environment variable, never in your code.
export KOVAPDF_API_KEY="kova_live_..."Install the package from npm. It also adds the kovapdf command.
npm install @kovapdf/sdkInstall the package from PyPI. It also adds the kovapdf command.
pip install kovapdfUpload a file, start a job, then ask for the job until it is done. The packages do exactly this for you.
curl https://api.kovapdf.com/api/v1/files \
-H "Authorization: Bearer $KOVAPDF_API_KEY" \
-F file=@report.pdf
curl https://api.kovapdf.com/api/v1/jobs \
-H "Authorization: Bearer $KOVAPDF_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "tool": "compress", "inputs": ["FILE_ID"] }'
curl https://api.kovapdf.com/api/v1/jobs/JOB_ID \
-H "Authorization: Bearer $KOVAPDF_API_KEY"They check a job a few seconds apart, wait longer as it runs, and stop after a time you can set.
When KovaPDF is busy they wait as long as the answer asks, then try again a few times, never in a tight loop.
Every refusal comes back as an error with a code and a plain message you can show.
Each result says it was done with KovaPDF, so you can show where the work happened.
Each step runs as the KovaPDF account the key belongs to and uses that account's usual limits, the same as on the website.
Files you send and the results are deleted within an hour. Results come back as download links that stop working soon after; ask again for a fresh one.
The packages read KOVAPDF_API_KEY or a key you pass in. Never commit a key; revoke it in your dashboard if it leaks.
The tools apps can use: compress, merge, split, organize pages, convert, read scans, redact, check signatures, and the Bangla and Hindi text converters. GET /tools lists them with their options.
Yes. The developer docs describe every call, and the OpenAPI file can generate a client in any language.
The call is refused with a clear code and a Retry-After header saying when to try again.
The step stops with a plain message saying KovaPDF has paused connections from this app for now, and nothing is changed. You can still use every tool on the KovaPDF website.
See every app KovaPDF works in, or read how connections, files and jobs work in the developer docs.
Something not working? Write to support@kovapdf.com.