KERNIT Documentation

POST/hyperlink-scan -> /hyperlink-crossref -> /hyperlink-apply
API version2026-05-12Version policy

API Quickstart

Start by sending a DOCX to /hyperlink-scan with Bearer auth and settings. Review the returned matches, optionally call /hyperlink-crossref, then send decisions to /hyperlink-apply.

POST /hyperlink-scan -> /hyperlink-crossref -> /hyperlink-apply

Reviewable API Flow#

Use this flow when a person or product UI needs to approve, skip, retarget, or link-only each risky reference before the final DOCX is written.

AuthBearer API key BillingScan prepares review; apply consumes document-processing allowance Hosthttps://api.kernit.org

1. Scan the DOCX#

curl -X POST https://api.kernit.org/hyperlink-scan \
  -H "Authorization: Bearer sk_kernit_live_YOUR_KEY" \
  -F "file=@paper.docx" \
  -F 'settings={"refs":true,"figures":"number","tables":"number","equations":"number","sections":"number","doi":true,"crossref":true}'

2. Resolve Reference Evidence#

curl -X POST https://api.kernit.org/hyperlink-crossref \
  -H "Authorization: Bearer sk_kernit_live_YOUR_KEY" \
  -F "file=@paper.docx" \
  -F "scanFingerprint=sha256:..." \
  -F 'settings={"refs":true,"doi":true,"crossref":true}'

3. Apply Approved Decisions#

curl -X POST https://api.kernit.org/hyperlink-apply \
  -H "Authorization: Bearer sk_kernit_live_YOUR_KEY" \
  -F "file=@paper.docx" \
  -F "scanToken=eyJ..." \
  -F "scanFingerprint=sha256:..." \
  -F 'settings={"refs":true,"figures":"number","tables":"number","equations":"number","sections":"number","doi":true,"crossref":true}' \
  -F 'decisions=[{"refId":"r1","status":"approved"}]'

Minimal Decision Shapes#

Approve
[{"refId":"r1","status":"approved"}]
Retarget
[{"refId":"r1","status":"retargeted","targetId":"b7"}]
Skip
[{"refId":"r1","status":"skipped","reason":"ambiguous"}]
Link only
[{"refId":"r1","status":"link_only","doi":"10.1234/example"}]
  1. Create or obtain an API key

    Use the API dashboard or team admin routes to create a live key.

  2. Scan the source DOCX

    Submit multipart form data with file and settings. Store scanFingerprint and scanToken.

  3. Review matches in your UI

    Expose keep, skip, retarget, or link-only decisions to your reviewers.

  4. Apply with the same request state

    Send the same file, same settings, scan token, fingerprint, and decisions to /hyperlink-apply.

FAQ

Do API calls use /api/ in production?
No. Public production calls use bare routes on https://api.kernit.org, for example /hyperlink-scan. The internal Cloudflare Pages function path remains implementation detail.
Which endpoint should I start with?
Use /hyperlink-scan, then /hyperlink-crossref when DOI evidence is needed, then /hyperlink-apply. Use /hyperlink only for one-step workflows that do not require review.
Does KERNIT store my DOCX?
The API processes uploaded DOCX files to return review data or a linked DOCX. Team and billing metadata are stored for account operations, but docs should be treated as request payloads, not durable project files.
Was this page useful?Send a lightweight docs feedback event.
Last updated: May 12, 2026Canonical: https://kernit.org/docs/api/quickstart/