Introduction

The Paperarchive API is a REST API that lets you integrate document management into any workflow - upload, search, categorize, and retrieve documents programmatically. It is designed for automations, integrations, and building custom workflows on top of your document archive.

Prefer chatting instead of coding? Paperarchive also ships an MCP connector that plugs your archive straight into AI assistants like Claude, ChatGPT, and Grok.

Base URL

All API requests are made to:

https://api.paperarchive.io/v1

Versioning

The API is versioned via the URL path. The current version is v1. When breaking changes are introduced, a new version will be released while the previous version remains available for a deprecation period.

Request Format

Most request bodies are JSON-encoded with the Content-Type: application/json header. The exception is POST /v1/documents which accepts multipart/form-data for file uploads. Query parameters are used for filtering and pagination on GET endpoints.

Response Format

Most responses return JSON with a consistent envelope:

{
  "success": true,
  "data": { ... },
  "total": 42,
  "limit": 50,
  "offset": 0
}

The download endpoint GET /v1/document/:id/download responds with a 302 redirect to a short-lived signed download URL - make sure your HTTP client follows redirects (e.g. curl -L). On errors, the response includes an error message:

{
  "success": false,
  "error": "Description of what went wrong"
}

Quick Start

Make your first API call by listing your documents:

curl -H "Authorization: Bearer pa_live_YOUR_KEY" \
  https://api.paperarchive.io/v1/documents

You'll need an API key - see the Authentication page for how to create one.

Integration Quick Starts

Connect Paperarchive to your favorite automation tools and start building powerful document workflows in minutes.