canonical: https://jentic.com/apis/everypage.co/everypage

# EveryPage API

The EveryPage API uploads PDF documents and returns trackable share links, then reports who read them. It manages multiple link variants per document, swaps the file behind a link without changing the link, and exposes readership reports down to per-page reads, page marks, and reader annotations. Webhooks notify on document events, and QR codes and an oEmbed endpoint make share links easy to distribute. Errors under the versioned path are RFC 9457 problem documents an agent can branch on.

## For AI agents

Upload PDFs, get trackable share links and link variants, read readership analytics down to per-page reads, and register webhooks for document events. Authenticated with a bearer API key or an OAuth 2.0 token.

## Scope

Does not handle document editing, e-signatures, or hosting of non-PDF files. Use for sharing PDFs with trackable links and readership analytics only.

## Capabilities

- Upload a PDF document and get a trackable share link
- Create and manage multiple link variants for one document
- Read a document's readership report, per-page readership, and reader annotations
- Replace the document behind a link without changing the link for dynamic links
- Register webhooks for document events and send a test delivery
- Generate a QR code for a share link and list recent events

## Use cases

### Trackable Document Sharing

A sales team shares proposals and wants to know who read them. The EveryPage API uploads the PDF, returns a share link, and then reports readership for that document, including per-page reads and reader annotations on higher plans, so an agent can surface which prospects engaged and which pages held attention.

Example prompt: Upload a proposal PDF, return its share link, then read the document's readership report to see which pages were viewed

### Dynamic Links and Link Variants

A team keeps one canonical link while updating its content. The EveryPage API replaces the document behind a share link without changing the link, and creates named link variants so the same document can be distributed through several tracked links, each with its own settings and readership.

Example prompt: Create a link variant for a document, then replace the file content behind the original link so the share URL stays the same

### AI Agent Document Distribution via Jentic

An AI agent publishes and tracks documents through Jentic without holding the EveryPage credential itself. It searches by intent, receives the matching operation and its input schema, and runs upload, variant creation, and readership reads with the credential injected at run time, so a share-and-measure workflow runs on its own.

Example prompt: Search Jentic for 'upload a document and get a share link', load the upload operation schema, and run it with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/files` | Upload a document |
| GET | `/api/v1/files` | List your files |
| GET | `/api/v1/files/{uuid}` | Get a file's details |
| DELETE | `/api/v1/files/{uuid}` | Delete a file |
| POST | `/api/v1/files/{uuid}/variants` | Create a link variant |
| GET | `/api/v1/files/{uuid}/readership` | Read a file's readership report |
| POST | `/api/v1/webhooks` | Create a webhook |

## Key resources

- **Files** — Upload, list, read, and delete documents via `/api/v1/files` and `/api/v1/files/{uuid}`
- **Variants and Content** — Manage link variants and swap file content via `/api/v1/files/{uuid}/variants` and `/api/v1/files/{uuid}/content`
- **Readership and Events** — Read engagement and subscribe to events via `/api/v1/files/{uuid}/readership`, `/api/v1/events`, and `/api/v1/webhooks`

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 78 / 100
- **Maturity:** AI-Ready
- **Dimensions:**
  - Foundational Compliance: 89 / 100
  - Developer Experience & Jentic Compatibility: 66 / 100
  - AI-Readiness & Agent Experience: 75 / 100
  - Agent Usability: 94 / 100
  - Security: 71 / 100
  - AI Discoverability: 76 / 100
- **View full report:** https://jentic.com/apis/everypage.co/everypage/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring EveryPage by hand means choosing between a personal API key and OAuth 2.0, carrying the right bearer token, and branching on its RFC 9457 error documents yourself. Through Jentic you install once, import EveryPage from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** EveryPage puts the file uuid in the URL path (`/api/v1/files/{uuid}/...`), so a rule can pin your agent to one document and the operations you pick. You choose which operations it may call, so file deletion and webhook changes are not included unless you add them.
- **Credential handling:** Your EveryPage key or OAuth token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'upload a document and get a share link' or 'read document readership', and Jentic returns the matching EveryPage operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Box API** — Content storage and sharing across many file types with access controls
- **SmartHub User API** — File and folder management within the EP Residuals Hub
- **CraftMyPDF API** — Generate PDF documents from templates and data

## FAQ

### What authentication does the EveryPage API use?

The EveryPage API accepts a personal API key or an OAuth 2.0 access token, each sent as a bearer token in the Authorization header per its OpenAPI spec. Some endpoints are public, such as the API discovery document and public QR codes, and Canva imports use a Canva app credential. Through Jentic your credential is stored encrypted by your own Jentic One instance and injected at execution time, so it never reaches the agent.

### Can I track who reads a document with the EveryPage API?

Yes. Each uploaded document has a readership report, and on higher plans you can read per-page readership, page marks, and reader annotations. The events operation lists recent activity, and webhooks can push document events to your own endpoint as they happen.

### What are the rate limits for the EveryPage API?

The OpenAPI spec does not specify rate limits for the EveryPage API. Check the EveryPage developer documentation for current limits, and note that some readership and annotation features are gated by plan tier rather than by a request ceiling.

### How do I upload a document and get a share link with the EveryPage API through Jentic?

Search Jentic for 'upload a document and get a share link' and it returns the EveryPage upload operation with its input schema. Load the schema, send the PDF, and the credential is injected at run time. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the EveryPage API?

Yes. EveryPage puts the file uuid in the URL path, so a rule can pin your agent to one document's operations, and you choose which operations it may call. Allow uploads and readership reads while leaving file deletion and webhook management out unless you add them.

### Is there an EveryPage API MCP server?

You don't need an MCP server to give your agent the EveryPage API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the upload, variant, and readership operations it needs without a separate server to install.
