Create API access
Sign in and create an API key from the developer portal. Free access includes 150 API jobs per month.
Start here if you want to call PDF Tools from your backend. The API works in one simple flow: create an API key, upload a file, get a job id, poll until the job is completed, then download the result.
Sign in and create an API key from the developer portal. Free access includes 150 API jobs per month.
For API calls use X-API-Key: fiscor_api_.... Keep this key only on your server.
Post files to /jobs/{operation}. The response gives you a jobId.
Poll /jobs/{jobId} until status is Completed, then download.
/api/v1/operations only if you need dynamic tool discovery.jobId in your system.These endpoints are for the web workspace. They require Authorization: Bearer YOUR_WORKSPACE_TOKEN, not an API key.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/v1/auth/me | Read the current signed-in account, plan, and API-access state from the workspace. |
| GET | /api/v1/auth/me/api-keys | List API keys created under the current user. |
| POST | /api/v1/auth/me/api-keys | Create a new API key. Free accounts can use 150 API jobs per month. |
| DELETE | /api/v1/auth/me/api-keys/{id} | Revoke an existing API key. |
curl -X POST "https://pdf.fiscor.am/api/v1/auth/me/api-keys" \
-H "Authorization: Bearer YOUR_WORKSPACE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Production API"
}'
{
"id": "019f...",
"name": "Production API",
"keyPrefix": "fiscor_api_1234",
"plainTextKey": "fiscor_api_1234567890abcdef...",
"createdAtUtc": "2026-06-15T10:20:00Z"
}
| Method | Path | Purpose |
|---|---|---|
| GET | /api/v1/operations | Return available operation slugs and metadata. |
| POST | /api/v1/jobs/{operation} | Create a new async processing job for the selected operation. |
| GET | /api/v1/jobs/{jobId} | Poll current job status, failure reason, result file size, and timing. |
| GET | /api/v1/jobs/{jobId}/download | Download the processed result when the job is completed. |
| GET | /api/v1/me/history | Return the signed-in user's recent jobs for history and developer portal views. |
| POST | /api/v1/billing/api/start | Start an API-plan payment session for the current user. |
Machine-readable API schema: https://pdf.fiscor.am/openapi.json
curl "https://pdf.fiscor.am/api/v1/operations" \
-H "X-API-Key: fiscor_api_your_key_here"
pdf-to-wordpdf-to-excelpdf-ocrpage-numbersword-to-pdfmerge-pdfsplit-pdfcompress-pdfscan-to-pdfcompress-imagecurl -X POST "https://pdf.fiscor.am/api/v1/jobs/pdf-to-word" \
-H "X-API-Key: fiscor_api_your_key_here" \
-F "file=@/absolute/path/document.pdf"
{
"jobId": "019ec-example-job-id"
}
HTTP status is 202 Accepted. Save this id and use it for polling.
curl "https://pdf.fiscor.am/api/v1/jobs/019ec-example-job-id" \
-H "X-API-Key: fiscor_api_your_key_here"
{
"id": "019ec-example-job-id",
"operationType": "PdfToWord",
"status": 2,
"processingTimeMs": 1450,
"failureReason": null,
"canDownload": true,
"resultFileName": "pdf-to-word-20260615.docx",
"originalSizeBytes": 248431,
"resultFileSizeBytes": 132775
}
| Value | Name | What your integration should do |
|---|---|---|
0 | Pending | Job is queued. Poll again after a short delay. |
1 | Processing | Conversion is running. Keep polling with backoff. |
2 | Completed | If canDownload is true, call the download endpoint. |
3 | Failed | Show or log failureReason. Do not retry blindly unless the error is transient. |
curl -L "https://pdf.fiscor.am/api/v1/jobs/019ec-example-job-id/download" \
-H "X-API-Key: fiscor_api_your_key_here" \
-o result.docx
curl "https://pdf.fiscor.am/api/v1/me/history" \
-H "Authorization: Bearer YOUR_WORKSPACE_TOKEN"
History is a workspace endpoint. It uses the logged-in user JWT.
| Plan code | Typical use | Notes |
|---|---|---|
api_starter | Low-volume integrations and prototypes. | Entry-level paid API access stored under the current user. |
api_growth | Growing product integrations with higher throughput. | Higher monthly quota and larger file handling profile. |
api_business | Heavier production usage and business workflows. | Business-oriented limits and support profile. |
curl -X POST "https://pdf.fiscor.am/api/v1/billing/api/start" \
-H "Authorization: Bearer YOUR_WORKSPACE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"planCode": "api_starter"
}'
{
"paymentUrl": "https://....",
"planCode": "api_starter",
"amountUsd": 5,
"estimatedAmd": 1850
}
sign-pdf, rotate-pdf, remove-pages, and add-watermark may also require extra request fields describing page selections, positions, or rendering options./api/v1/operations for discovery and align your payload with the public website workflow for the same operation.fiscor_api_... keys in browser JavaScript, mobile apps, or public repositories. Put the key in your backend and call PDF Tools from there.Document processing endpoints support API keys. Workspace/account endpoints use JWT tokens from the signed-in user session.
Call /api/v1/operations. It returns the supported public operation slugs so your integration does not need to hardcode the full list.
Yes. Paid API access is stored under the user account and tracked separately from the public free website-tool counters.
No. Jobs are async. Create the job, poll its status, and download the result when canDownload becomes true.
Use the developer section inside your signed-in workspace at /history#developer-api. That is where API keys, free usage, paid upgrades, and developer-facing account information are surfaced today.
Open the developer portal, sign in, create a free API key, and start wiring the live REST endpoints into your application.