Logo ExelensiaExelensia/Docs
Getting Started
  • Introduction
API Reference
  • Schemas
  • Templates
  • Upload
  • Process
  • Files
  • Results
  • Exports

Introduction

Exelensia is a document data extraction platform. Upload documents (PDFs, images, office files, and more), define an extraction schema, and retrieve structured data via a REST API.

Quick Start

  1. Get your API key — Generate an API key in the Exelensia dashboard under Settings → API Keys.
  2. Define a schema — Create an extraction schema describing the fields you want, or pick a ready-made template.
  3. Upload a document — Send your file to the Upload API. You can associate a schema at upload time with the optional schema_id field.
  4. Process the document — With auto-processing enabled (the default), the upload is queued for extraction automatically. Otherwise, submit it explicitly via the Process API.
  5. Retrieve results — Fetch the extracted data from the Results API, or export it as CSV.

Authentication

The endpoints in this reference accept an API key. Include your key in the x-api-key header on every request:

Bash
curl -H "x-api-key: wk_xxxxxxxx.your_secret_here" https://api.exelensia.com/v1/schemas

API keys have the form wk_<prefix>.<secret> and are shown in full only once, when created. Generate and manage them in the Exelensia dashboard under Settings → API Keys.

These endpoints also accept a logged-in session via an Authorization: Bearer <token> header, which is what the dashboard uses. For programmatic access, prefer an API key.

Base URL

https://api.exelensia.com/v1

All endpoints are served under the /v1 prefix.

Pagination

List endpoints return a data array alongside a meta object and accept these query parameters:

ParameterTypeDefaultDescription
pagenumber1Page number (min: 1)
limitnumber20Items per page (min: 1, max: 100 — GET /v1/process is capped at 25)
sort_bystringcreated_atField to sort by. Allowed fields vary per endpoint; ignored where not supported
sort_orderstringdescSort direction: asc or desc
created_afterISO 8601—Return items created on or after this date
created_beforeISO 8601—Return items created on or before this date

Every list response wraps its data in a meta envelope:

JSON
{
  "data": [],
  "meta": {
    "total": 42,
    "page": 2,
    "limit": 20,
    "totalPages": 3,
    "hasNextPage": true,
    "hasPrevPage": true
  }
}

Supported File Types

TypeMIME Type
PDFapplication/pdf
JPEGimage/jpeg
PNGimage/png
WebPimage/webp
DOCXapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
PPTXapplication/vnd.openxmlformats-officedocument.presentationml.presentation
XLSXapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
EPUBapplication/epub+zip
RTFapplication/rtf
ODTapplication/vnd.oasis.opendocument.text
CSVtext/csv
TXTtext/plain

Maximum file size: 50 MB (52,428,800 bytes).

Rate Limits

The API is rate limited per client. The default tiers are:

TierLimit
Short5 requests / second
Medium20 requests / 10 seconds
Long100 requests / 60 seconds

Exceeding a limit returns 429 Too Many Requests — wait and retry with exponential backoff. Some endpoints apply stricter limits (for example, the CSV export is capped at 5 requests per minute).

Errors

Errors return a normalized JSON body:

JSON
{
  "statusCode": 400,
  "timestamp": "2026-01-15T10:30:00.000Z",
  "path": "/v1/schemas",
  "message": "Validation failed"
}

Some errors also include a machine-readable code (e.g. INVALID_DATE_RANGE) alongside the message.

Next Steps

  • Schemas — Define what data to extract
  • Templates — Browse ready-made extraction schemas
  • Upload — Upload documents for processing
  • Process — Submit files for extraction
  • Results — Retrieve extracted data
  • Exports — Download results as CSV

On this page

  • Quick Start
  • Authentication
  • Base URL
  • Pagination
  • Supported File Types
  • Rate Limits
  • Errors
  • Next Steps