Kende na makambo ya ntina
PapyDocs

PapyDocs mpo na ba développeurs

API ya Papy ememaka mosala ya mikanda ya PapyDocs na ba applications, ba sites mpe ba logiciels na yo na nzela ya interface REST ya pete oyo ezali na ba versions.

  • Endpoint moko na moko oyo elimbolami esalelaka ba moteurs ndenge moko na bisaleli ya PapyDocs.
  • Ba fungola ebombamaka lokola bilembo (hachage), elakisamaka mbala moko kaka, mpe ekoki kobongolama to kolongolama.
  • Mikanda esalemaka na mémoire mpe ebombamaka soko moke te; kaka ba compteurs ya bosaleli nde ebombamaka.

Kotalela soki ezali…

Kobanda noki

  1. Senga fungola ya API epai ya mokambi ya esika oyo ya PapyDocs (esalemaka na « Ba fungola mpe bosaleli » awa na nse).
  2. Tinda bosenga POST multipart/form-data na /api/v1/OPERATION elongo na ba PDF mpe ba paramètres na yo.
  3. Bakisa en-tête Authorization: Bearer YOUR_KEY na bosenga moko na moko.
  4. Tanga résultat JSON, to bomba PDF to ZIP oyo ezongisami. Mabunga ezongaka ntango nyonso na JSON elongo na code oyo ebongwanaka te.
Lakisa misala oyo ezali na esika oyo
curl https://papydocs.vercel.app/api/v1

Bondimisi (authentification)

Bosenga moko na moko endimisamaka na fungola ya API oyo etindami na en-tête Authorization.

HTTP
Authorization: Bearer papy_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  • PapyDocs ebombaka kaka elembo SHA-256 ya fungola moko na moko, fungola yango moko soko moke te.
  • Fungola ya sika elakisamaka mbala moko kaka, ntango esalemi. Bomba yango na esika ya sekele na yo: ekoki kolakisama lisusu te.
  • Bobongoli epesaka fungola ya sika mpe elongolaka ya kala mbala moko; bolongoli esalaka banda bosenga oyo elandi.
  • Benga API uta na serveur na yo. Tia soko moke te fungola na lokasa ya web to na application ya telefone.

Liste ya ba endpoints

Misala nyonso ezali ba bosenga POST na /api/v1/OPERATION elongo na nzoto multipart/form-data. Misala ya JSON ezongisaka application/json; misala ya mikanda ezongisaka PDF to ZIP mbala moko.

Misala na mikanda

POST/api/v1/info— Bansango ya mokanda

Ezongisaka motango ya nkasa, bonene mpe ba métadonnées ya PDF.

EsikaLolengeEsengeli
fileMokanda PDFIyo

Eyano: JSON

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/info" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf"
Ndakisa ya eyano (ekomami mokuse)
{
  "pages": 2,
  "bytes": 48213,
  "metadata": {
    "title": "Contract",
    "author": "",
    "subject": "",
    "keywords": "",
    "creator": "",
    "producer": "pdf-lib",
    "creationDate": "2026-10-14T09:00:00.000Z",
    "modificationDate": null,
    "customKeys": [],
    "hasXmp": false,
    "hasJavaScript": false,
    "hasEmbeddedFiles": false,
    "pageCount": 2
  }
}

POST/api/v1/merge— Kosangisa

Esangisaka ba PDF mingi na molongo oyo etindami.

EsikaLolengeEsengeli
filesMikanda mingi ya PDFIyo

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/merge" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "files=@document.pdf" \
  -F "files=@other.pdf" \
  -o result.pdf

POST/api/v1/split— Kokabola

Ekabolaka PDF na biteni ya nkasa (ndakisa 1-2,5) to mokanda moko mpo na lokasa moko; ezongisaka ZIP.

EsikaLolengeEsengeli
fileMokanda PDFIyo
modeMoko kati na (ranges | every-page)Te
rangesMakomiTe

Eyano: Archive ZIP ya ba PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/split" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -F 'mode=ranges' \
  -F 'ranges=1-2,5' \
  -o result.zip

POST/api/v1/compress— Kokomisa moke

Bobongisi ya PDF kozanga kobebisa (bililingi ebongolamaka te).

EsikaLolengeEsengeli
fileMokanda PDFIyo

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/compress" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -o result.pdf

POST/api/v1/rotate— Kobalusa

Ebalusaka nkasa nyonso na 90, 180 to 270 degrés.

EsikaLolengeEsengeli
fileMokanda PDFIyo
angleMoko kati na (90 | 180 | 270)Te

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/rotate" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -F 'angle=90' \
  -o result.pdf

POST/api/v1/page-numbers— Mitango ya nkasa

Ebakisaka mitango ya nkasa uta na modèle oyo esalelaka ba variables {page} mpe {total} (minkoko ya Latin).

EsikaLolengeEsengeli
fileMokanda PDFIyo
formatMakomiTe
startMotangoTe

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/page-numbers" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -F 'format={page} / {total}' \
  -F 'start=1' \
  -o result.pdf

POST/api/v1/watermark— Elembo ya mai (filigrane)

Ebakisaka filigrane ya makomi na diagonale na lokasa moko na moko (minkoko ya Latin).

EsikaLolengeEsengeli
fileMokanda PDFIyo
textMakomiIyo
opacityMotangoTe

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/watermark" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -F 'text=CONFIDENTIAL' \
  -F 'opacity=0.2' \
  -o result.pdf

Mayele ya mikanda

POST/api/v1/text— Kobimisa makomi

Ezongisaka makomi ya lokasa moko na moko mpe elakisaka soki mokanda ezali lokola ya scanner (needsOcr). OCR esalemaka te na serveur.

EsikaLolengeEsengeli
fileMokanda PDFIyo

Eyano: JSON

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/text" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf"
Ndakisa ya eyano (ekomami mokuse)
{
  "pages": [
    {
      "page": 1,
      "text": "Facture N° FAC-2026-0042\nTotal TTC 144,00 €"
    }
  ],
  "characters": 41,
  "needsOcr": false
}

POST/api/v1/invoice— Kobimisa ba données ya ba factures

Ebimisaka moteki, mosombi, motango, ba dati, devise, mbongo, milongo ya biloko, mibeko ya kofuta mpe référence ya commande, moko na moko na lokasa mpe molongo esika euti, elongo na botaleli ya boyokani. Mituya oyo ezangi ezongaka lokola null, ekanisamaka soko moke te.

EsikaLolengeEsengeli
fileMokanda PDFIyo

Eyano: JSON

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/invoice" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf"
Ndakisa ya eyano (ekomami mokuse)
{
  "fields": {
    "invoiceNumber": {
      "value": "FAC-2026-0042",
      "status": "found",
      "source": {
        "pageNumber": 1,
        "excerpt": "Facture N° FAC-2026-0042"
      }
    },
    "total": {
      "value": "144",
      "status": "found",
      "source": {
        "pageNumber": 1,
        "excerpt": "Total TTC 144,00 €"
      }
    },
    "dueDate": {
      "value": null,
      "status": "missing",
      "source": null
    }
  },
  "lineItems": [
    {
      "description": "Ramette papier A4",
      "quantity": 10,
      "unitPrice": 5,
      "amount": 50,
      "source": {
        "pageNumber": 1,
        "excerpt": "Ramette papier A4 10 5,00 € 50,00 €"
      }
    }
  ],
  "checks": [
    {
      "code": "missing",
      "field": "dueDate"
    }
  ]
}

POST/api/v1/contract— Kotalela kontra

Ezongisaka mitó ya ba clauses, biteni na kolanda makambo (bato ya kontra, bofuti, ntango, bosukisi…), ba dati, mbongo, ba préavis mpe biteni ya kotalela, nyonso ekopiami uta na mokanda elongo na lokasa na yango. Bilembo na maloba ya ntina, toli ya mibeko te.

EsikaLolengeEsengeli
fileMokanda PDFIyo

Eyano: JSON

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/contract" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf"
Ndakisa ya eyano (ekomami mokuse)
{
  "notice": "Passages are copied from the document; categories and flags are keyword-based pointers to verify, not legal advice.",
  "pageCount": 2,
  "clauses": [
    {
      "heading": "Article 7 - Résiliation",
      "pageNumber": 2
    }
  ],
  "findings": [
    {
      "category": "termination",
      "pageNumber": 2,
      "clause": "Article 7 - Résiliation",
      "excerpt": "Chaque partie peut résilier le contrat moyennant un préavis de 3 mois."
    }
  ],
  "flags": [
    {
      "reason": "auto-renewal",
      "pageNumber": 1,
      "clause": "Article 2 - Durée",
      "excerpt": "Il est renouvelé par tacite reconduction…",
      "match": "tacite reconduction"
    }
  ],
  "facts": [
    {
      "type": "notice",
      "value": "préavis de 3 mois",
      "pageNumber": 2,
      "clause": "Article 7 - Résiliation",
      "excerpt": "…"
    }
  ],
  "sentenceCount": 14
}

POST/api/v1/compare— Kokanisa ba versions mibale

Ekokanisaka makomi ya ba PDF mibale lokasa na lokasa mpe ezongisaka biteni oyo ebakisami, elongolami mpe ebongwani elongo na fraze na yango.

EsikaLolengeEsengeli
originalMokanda PDFIyo
revisedMokanda PDFIyo

Eyano: JSON

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/compare" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "original=@contract-v1.pdf" \
  -F "revised=@contract-v2.pdf"
Ndakisa ya eyano (ekomami mokuse)
{
  "identical": false,
  "pageCountOriginal": 2,
  "pageCountRevised": 2,
  "wordsAdded": 11,
  "wordsRemoved": 1,
  "changes": [
    {
      "type": "modified",
      "pageNumber": 1,
      "before": "12",
      "after": "24",
      "context": "Le contrat est conclu pour une durée de 24 mois."
    }
  ]
}

POST/api/v1/proofread— Kobongisa

Esalelaka mibeko ya bobongisi ya kati ya PapyDocs (ba espaces, ponctuation, maloba oyo ezongeli, minkoko ya mikonzi, mabunga oyo emonanaka mingi) mpe ezongisaka likama moko na moko elongo na bobongisi mpe esika na yango.

EsikaLolengeEsengeli
fileMokanda PDFIyo
languageMoko kati na (auto | fr | en | es | pt)Te

Eyano: JSON

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/proofread" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -F 'language=auto'
Ndakisa ya eyano (ekomami mokuse)
{
  "language": "fr",
  "engine": "local-rules",
  "issues": [
    {
      "page": 1,
      "start": 11,
      "end": 15,
      "original": "recu",
      "suggestion": "reçu",
      "category": "spelling",
      "rule": "misspelling"
    }
  ]
}

Bokengi mpe sekele

POST/api/v1/remove-metadata— Kolongola ba métadonnées

Elongolaka ba métadonnées ya mokanda mpe biloko oyo esalaka (JavaScript, mikanda oyo ekotisami).

EsikaLolengeEsengeli
fileMokanda PDFIyo

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/remove-metadata" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -o result.pdf

POST/api/v1/protect— Kobatela na mot de passe

Ebombaka PDF na sekele (AES-256) na mot de passe ya kofungola.

EsikaLolengeEsengeli
fileMokanda PDFIyo
passwordMakomiIyo
owner_passwordMakomiTe

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/protect" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -F 'password=your-password' \
  -o result.pdf

POST/api/v1/unlock— Kolongola mot de passe

Efungolaka PDF soki mot de passe ya malamu epesami.

EsikaLolengeEsengeli
fileMokanda PDFIyo
passwordMakomiIyo

Eyano: Mokanda PDF

Bandakisa ya code mpe ya eyano
cURL
curl -X POST "https://papydocs.vercel.app/api/v1/unlock" \
  -H "Authorization: Bearer $PAPY_API_KEY" \
  -F "file=@document.pdf" \
  -F 'password=your-password' \
  -o result.pdf

Ba endpoints ya bobongisi ba fungola

Ezali kaka mpo na mokambi ya esika, oyo andimisamaka na jeton ya mokambi (kasi na fungola ya API te). Esalelamaka na eteni « Ba fungola mpe bosaleli » ya lokasa oyo.

  • GET/api/v1/keys— Lakisa ba fungola (kozanga ba sekele)
  • POST/api/v1/keys— Sala fungola (nzoto JSON na nkombo); sekele ezongaka mbala moko kaka
  • DELETE/api/v1/keys/{id}— Longola fungola
  • POST/api/v1/keys/{id}/rotate— Bongola fungola; sekele ya sika ezongaka mbala moko kaka
  • GET/api/v1/usage?days=30— Ba compteurs ya bosaleli mokolo na mokolo, na fungola mpe na mosala

Mabunga mpe ndelo

Mabunga esalelaka ba codes HTTP ya momesano mpe nzoto JSON elongo na code oyo ebongwanaka te mpe masini ekoki kotanga. Ba messages ebongolamaka na minoko te: salelá code na application na yo.

Lolenge ya mabunga
{
  "error": {
    "code": "authorization-required"
  }
}
EzalelaNdimbolaBa codes ya mabunga
200Elongi
400Paramètre ezangi to ezali malamu teinvalid-options, empty-selection
401Fungola ezangi, ezali malamu te to elongolami (to jeton ya mokambi)authorization-required
404Mosala to fungola eyebani teinvalid-options
413Bosenga to mokanda eleki monenerequest-too-large, file-too-large
415Mokanda ezali PDF teunsupported-type
422PDF ekoki kosalema te (ebebi, ebombami na sekele, mot de passe ya mabe, makomi ezali te…)corrupt, encrypted, wrong-password, no-text, invalid-range
429Ndelo ya ngonga ekoki: zela ba secondes oyo elakisami na Retry-Afterrate-limited
503API, to bobongisi ba fungola, ezali kosala te na esika oyoserver-unavailable

Ndelo

  • Ndelo ya momesano: bosenga 120 na ngonga mpe na fungola (esika ekoki kobongola yango).
  • Eyano moko na moko ezali na X-RateLimit-Limit, X-RateLimit-Remaining mpe X-RateLimit-Reset (na ba secondes).
  • Tii 100 MB mpo na PDF moko, 200 MB mpo na bosenga moko mpe mikanda 60 mpo na bosenga moko.
  • Misala ya makomi etangaka tii nkasa 500 mpo na mokanda moko; boluki ezali na ndelo ya minkoko 200 mpe ba résultats 100.
  • Misala ya botaleli eboyaka mikanda ya scanner oyo ezali na makomi te (libunga no-text): salá OCR liboso, ndakisa na esaleli OCR ya PapyDocs.

Console ya komeka

Tinda bosenga ya solo na esika oyo na fungola na yo. Fungola etikalaka na mémoire ya lokasa oyo, etindamaka kaka na site oyo mpe ebombamaka soko moke te. Mikanda oyo oponi etindamaka na API kaka mpo na bosenga oyo.

Ebandaka na papy_. Ebombamaka te.

Ba fungola mpe bosaleli

Mpo na mokambi ya esika oyo. Koma jeton ya mokambi oyo ebongisami na serveur (elembo na yango etiamaka na PAPY_ADMIN_TOKEN_HASH). Jeton etikalaka kaka na mémoire ya lokasa oyo.

Ebombamaka te. Etindamaka kaka na site oyo.

Bobateli ya ba données

  • Mikanda oyo etindami na API esalemaka na mémoire na tango ya bosenga mpe ebombamaka te.
  • PapyDocs ekomaka na ba journaux na yango te makomi ya mikanda, nkombo ya mikanda, ba paramètres to ba fungola.
  • Ba statistiques ya bosaleli ezali ba compteurs oyo ebombamaka mikolo 90.
  • Salelá kaka HTTPS. API esalelaka ba moteurs ya PapyDocs na serveur oyo; etindaka mikanda na yo epai ya mopesi IA te.