API Documentation

All-of-PDF API

Core APIs for authentication, conversion, and plan/usage checks. Use the examples below to test quickly.

Usage Policy

Web tools are free for up to 3 conversions per day without an account. Signing up adds a Free plan with 100 API calls per month, and Pro / Pro+ raise the daily conversion limit.

PlanMonthlyDaily LimitAPI
Free₩03/day (web)100/mo
Pro₩5,90015/dayYes
Pro+₩12,90050/dayYes
CustomContactCustomCustom

Base URL

https://api.all-of-pdf.com/api/v1

In development, replace only the domain with your local/staging host.

POST/api/v1/auth/register

Create an account and issue a JWT token.

Request Example

curl -X POST "https://api.all-of-pdf.com/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"password123","name":"Jane"}'

Response Example

{
  "success": true,
  "data": {
    "user": { "id": "...", "email": "user@example.com", "role": "user" },
    "token": "<JWT_TOKEN>"
  }
}
POST/api/v1/auth/login

Sign in and receive a JWT token.

Request Example

curl -X POST "https://api.all-of-pdf.com/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"password123"}'

Response Example

{
  "success": true,
  "data": {
    "token": "<JWT_TOKEN>"
  }
}
GET/api/v1/auth/me

Get profile of the authenticated user.

Request Example

curl -X GET "https://api.all-of-pdf.com/api/v1/auth/me" \
  -H "Authorization: Bearer <JWT_TOKEN>"

Response Example

{
  "success": true,
  "data": {
    "id": "...",
    "email": "user@example.com",
    "role": "user"
  }
}
GET/api/v1/plans

Get plan catalog and daily usage policy.

Request Example

curl -X GET "https://api.all-of-pdf.com/api/v1/plans"

Response Example

{
  "success": true,
  "data": {
    "currency": "KRW",
    "plans": [
      {"id":"free","name":"Free","monthly_price_krw":0,"daily_limit":null,"monthly_api_quota":100,"api_access":true,"contact_required":false},
      {"id":"pro","name":"Pro","monthly_price_krw":5900,"daily_limit":15,"monthly_api_quota":null,"api_access":true,"contact_required":false},
      {"id":"pro_plus","name":"Pro+","monthly_price_krw":12900,"daily_limit":50,"monthly_api_quota":null,"api_access":true,"contact_required":false},
      {"id":"custom","name":"Custom","monthly_price_krw":null,"daily_limit":null,"monthly_api_quota":null,"api_access":true,"contact_required":true}
    ]
  }
}
GET/api/v1/plans/me

Get current plan and remaining usage.

Request Example

curl -X GET "https://api.all-of-pdf.com/api/v1/plans/me" \
  -H "Authorization: Bearer <JWT_TOKEN>"

Response Example

{
  "success": true,
  "data": {
    "plan_id": "free",
    "plan_name": "Free",
    "monthly_price_krw": 0,
    "daily_limit": null,
    "used_today": 1,
    "remaining_today": null,
    "monthly_api_quota": 100,
    "api_access": true,
    "subscription_status": "none"
  }
}
POST/api/v1/office/pdf-to-docx

Convert PDF to DOCX. Default provider is Adobe.

Request Example

curl -X POST "https://api.all-of-pdf.com/api/v1/office/pdf-to-docx" \
  -H "Authorization: Bearer <JWT_TOKEN>" \
  -F "file=@sample.pdf" \
  -F "provider=adobe" \
  -F "mode=smart"

Response Example

{
  "success": true,
  "data": {
    "job_id": "...",
    "filename": "output.docx",
    "url": "/api/v1/jobs/<job_id>/download/output.docx"
  }
}
POST/api/v1/convert/pdf-to-image

Convert PDF pages to PNG/JPEG images.

Request Example

curl -X POST "https://api.all-of-pdf.com/api/v1/convert/pdf-to-image" \
  -H "Authorization: Bearer <JWT_TOKEN>" \
  -F "file=@sample.pdf" \
  -F "format=png"

Response Example

{
  "success": true,
  "data": {
    "job_id": "...",
    "files": [
      {
        "filename": "page_1.png",
        "url": "/api/v1/jobs/<job_id>/download/page_1.png"
      }
    ]
  }
}
POST/api/v1/convert/split

Split a PDF by page ranges.

Request Example

curl -X POST "https://api.all-of-pdf.com/api/v1/convert/split" \
  -H "Authorization: Bearer <JWT_TOKEN>" \
  -F "file=@sample.pdf" \
  -F "pages=1-3,7,10-12"

Response Example

{
  "success": true,
  "data": {
    "job_id": "...",
    "files": [{ "filename": "part_1.pdf", "url": "/api/v1/jobs/<job_id>/download/part_1.pdf" }]
  }
}
GET/api/v1/jobs/{job_id}/download-all

Download all multi-file results as a single ZIP.

Request Example

curl -X GET "https://api.all-of-pdf.com/api/v1/jobs/<job_id>/download-all" -o result.zip

Response Example

HTTP 200 (application/zip)
POST/api/v1/api-keys

Issue an API key. (Pro and above only)

Request Example

curl -X POST "https://api.all-of-pdf.com/api/v1/api-keys" \
  -H "Authorization: Bearer <JWT_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"name":"production-key"}'

Response Example

{
  "success": true,
  "data": {
    "key": "pk_live_xxx",
    "info": { "key_prefix": "pk_live_xxx" }
  }
}