PapermarkDocs

Quickstart

From signup to your first API call in five minutes.

Five minutes, three steps: get an account, mint a token, make a request.

1. Get an account

Create one at app.papermark.com (or skip if you already have one). Verify your email and you'll land on the dashboard.

2. Mint an API token

In the dashboard, open Settings → API Tokens and click Create token. Pick a name and the scopes you need — documents.read is enough for this page.

You'll see the token exactly once. It looks like:

pm_live_AbCdEfGhIjKlMnOpQrStUvWxYz0123456789

Long-lived bearer token. Treat it like a password — anyone with the string can act as you, scoped to whatever you granted.

3. Make your first call

Pick the path that fits how you'll integrate:

export PAPERMARK_TOKEN=pm_live_…
curl https://api.papermark.com/v1/documents \
  -H "Authorization: Bearer $PAPERMARK_TOKEN"

You should get:

{
  "data": [
    { "id": "doc_…", "name": "Pitch Deck.pdf",  }
  ],
  "next_cursor": null
}
npm install -g papermark
papermark login --token pm_live_…
papermark documents list

papermark login --token skips the browser-based device flow and stores the token under ~/.config/papermark/. Run papermark whoami to confirm. See the CLI docs for the full command tree.

const res = await fetch('https://api.papermark.com/v1/documents', {
  headers: { Authorization: `Bearer ${process.env.PAPERMARK_TOKEN}` },
});
const { data } = await res.json();
console.log(data);

No SDK needed — every endpoint takes a bearer token over plain HTTP.

If the call returned 401, the token is wrong or missing the required scope. If it returned 200 with an empty data array, you're good — your account just doesn't have any documents yet. Upload one with papermark documents upload ./pitch.pdf or the dashboard.

Where to go next

  • Authentication — the device flow, CI patterns, and how to rotate tokens.
  • API reference — every endpoint, generated from openapi.json.
  • CLI — scripted workflows, --json output for pipelines, machine-readable error codes.
  • MCP server — drop Papermark into Claude or ChatGPT so an agent can act on your behalf.

On this page