Convert

POST /v1/convert — turn a flat PDF into a fillable AcroForm.

POST https://api.createafillablepdf.com/v1/convert

Send a PDF as multipart/form-data. Returns a fillable PDF (as a signed URL) and the detected field schema.

Request

Content-Type: multipart/form-data

FieldRequiredTypeDescription
fileyesfileThe flat PDF to convert. Max 25 MB; max pages per file depends on your plan.
detectnostringfields (default) for full detection, or fields_fast to skip the extra completeness pass.
curl -X POST https://api.createafillablepdf.com/v1/convert \
  -H "Authorization: Bearer sk_live_•••" \
  -F "file=@applicant.pdf" \
  -F "detect=fields"

Response 200

FieldTypeDescription
statusstringconverted on success.
document_urlstringSigned URL to the fillable PDF (valid 24 hours).
conversion_idstringID to fetch or fill later.
fieldsnumberNumber of fields detected.
confidencenumberAverage confidence (0–1).
pagesnumberPages processed (and billed).
msnumberProcessing time in milliseconds.
schemaarrayThe detected fields (see Field types & schema).
{
  "status": "converted",
  "document_url": "https://cdn.createafillablepdf.com/…/out.pdf",
  "conversion_id": "c_123",
  "fields": 23,
  "confidence": 0.997,
  "pages": 1,
  "ms": 880,
  "schema": [{ "name": "applicant_legal_name", "type": "text", "page": 0 }]
}

Errors

StatustypeWhen
400invalid_requestMissing file or malformed request.
401authentication_errorMissing/invalid key.
402quota_exceededFree plan out of included pages.
415unsupported_fileNot a PDF, too large, or over your per-file page limit.
429rate_limit_errorToo many requests this minute.
502engine_errorThe file couldn't be processed.

See Errors for the full list.