Inkside API

Render .inkside documents (Markdown, LaTeX math, tables and precomputed drawings) in handwriting, as GoodNotes notebooks and PDFs.

API keys are available on request. Write to hello@inkside.app from your account's address and say what you are building.

Authentication

Send your key as Authorization: Bearer ink_…. Keys act for their account; keep them on your server.

Fair use

Inkside is free: 20 files and 120 pages a day, up to 20 pages each. 20 / 60 / 60 per minute (render / preview / check).

Endpoints

  • POST/api/v1/renderRender a document into a file

    Counts one file and its pages against the day's fair-use limits. A document with errors is refused (422) with its diagnostics.

  • POST/api/v1/checkCheck a document

    Diagnostics with lines and fixes, the page count and missing characters. No file, not counted.

  • POST/api/v1/previewPreview a document

    The first 6 pages as SVG (PDF points). Not counted as files; limited per minute.

  • GET/api/v1/handwritingsList handwritings

    The account's own handwritings, then the presets. Name one in a document's header: `font: caveat`.

  • POST/api/v1/handwritingsImport a handwriting

    Imports a filled-in Inkside template (GoodNotes notebook, at most 12 MB) as the request body. Templates: https://inkside.app/templates/inkside-template-en.goodnotes and -de.goodnotes.

  • PATCH/api/v1/handwritings/{id}Rename an own handwriting

  • DELETE/api/v1/handwritings/{id}Delete an own handwriting

  • GET/api/v1/handwritings/{id}/sample.svgA specimen of a handwriting

  • GET/api/v1/componentsSearch drawing components

    Precomputed drawing components for ```draw blocks: how to use each one, never how it is drawn.

  • GET/api/v1/components/{name}Get a drawing component

  • GET/api/v1/usageToday's fair-use counters

  • GET/api/v1/formatThe .inkside format

    The format reference as Markdown: header fields, Markdown, math, tables, ```draw and the other figure blocks.

Example

curl https://inkside.app/api/v1/render \
  -H "Authorization: Bearer $INKSIDE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"format": "pdf", "document": "---\nfont: caveat\ntitle: Notes\n---\n# Hello\n\n$E = mc^2$"}' \
  -o notes.pdf

Website sessions and ChatGPT links only work in the website and in ChatGPT. Using them elsewhere, faking a client or sharing keys suspends the account.