API Documentation

Build with Documiner

A simple REST API. Send a document as base64, receive structured JSON. Integrate in minutes using any language or platform.

Base URL: https://documentminer.eu.jetveo.io·All endpoints require Bearer token authentication·EU infrastructure

Quick Start

Get your first document extracted in under 5 minutes. You'll need an API token — request access if you don't have one yet.

  1. Obtain an API token from us after signing up
  2. Base64-encode your document file
  3. Send a POST request to /api/parse-documents-sync with a JSON body containing FileName and Content
  4. Parse the JSON array response — each element is a typed document object
Shell
curl -X POST https://documentminer.eu.jetveo.io/api/parse-documents-sync \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "FileName": "invoice.pdf",
    "Content": "'$(base64 -w0 invoice.pdf)'"
  }'

Authentication

All API requests must include a Bearer token in the Authorization header. Tokens are issued when you sign up for API access and can be scoped per integration.

HTTP Header
Authorization: Bearer YOUR_API_TOKEN
Token management: API tokens are managed through the admin interface. For on-premises deployments, tokens are managed through your own admin panel. Contact us at info@alfaveo.com to request a token or manage your account.

POST/api/parse-documents-sync

Extracts structured data from a business document. Accepts a JSON body with the document file encoded as base64. Returns an array of typed document objects.

Request Body (application/json)

FieldTypeDescription
FileNamerequiredstringOriginal filename including extension (e.g. invoice.pdf). Used to determine file type.
ContentrequiredstringBase64-encoded file content. Accepted formats: PDF, JPEG, PNG, TIFF, WebP, ISDOC, ISDOCX, ZUGFeRD XML.

Other endpoints

EndpointDescription
POST /api/parse-communication-syncExtract structured data from email or communication documents
POST /api/generate-isdocGenerate an ISDOC e-invoice from structured data
POST /api/generate-zugferdGenerate a ZUGFeRD / Factur-X e-invoice
POST /api/generate-embed-isdocEmbed ISDOC XML into a PDF file
POST /api/generate-embed-zugferdEmbed ZUGFeRD XML into a PDF file
POST /api/assign-ledger-accountAssign ledger accounts to extracted line items
POST /api/pingHealth check — returns service status
Full spec: Download the OpenAPI specification below to explore all endpoints, request/response schemas, and error codes interactively.

Response Schema

A successful extraction returns HTTP 200 with a JSON array. Each element is a typed document object identified by a $type discriminator field. The structure of each object depends on the detected document type.

JSON — Invoice response (200 OK)
[
  {
    "$type": "Invoice",
    "InvoiceNumber": "2024-0042",
    "IssueDate": "2024-01-15",
    "DueDate": "2024-02-15",
    "Vendor": {
      "Name": "ACME s.r.o.",
      "RegistrationNumber": "12345678",
      "VatId": "CZ12345678",
      "Address": "Wenceslas Square 1, Prague"
    },
    "Buyer": {
      "Name": "Buyer Corp a.s.",
      "VatId": "CZ87654321"
    },
    "LineItems": [
      {
        "Description": "Software License Q1",
        "Quantity": 1,
        "UnitPrice": 45000,
        "VatRate": 21,
        "Total": 54450
      }
    ],
    "Totals": {
      "Subtotal": 45000,
      "Vat": 9450,
      "Total": 54450,
      "Currency": "CZK"
    }
  }
]

Document types

$type valueDescription
InvoiceTax invoice or proforma invoice
QuoteOffer or quotation
PurchaseOrderPurchase order from buyer
InquiryRequest for quotation or inquiry
DeliveryNoteDelivery or shipping note
ContractContract or agreement

Code Examples

Complete, working examples for the most common integration languages. Replace YOUR_API_TOKEN with your actual token.

Shell
curl -X POST https://documentminer.eu.jetveo.io/api/parse-documents-sync \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "FileName": "invoice.pdf",
    "Content": "'$(base64 -w0 invoice.pdf)'"
  }'

Supported File Formats

ISDOC and ZUGFeRD are processed by dedicated native parsers, yielding 100% accuracy. All other formats use Documiner AI extraction.

FormatExtensionsProcessingNotes
PDF.pdfAIAll PDF versions, including scanned (image-based)
JPEG.jpg, .jpegAIPhotos of documents
PNG.pngAIScreenshots, scans
TIFF.tif, .tiffAIHigh-resolution scans
WebP.webpAI
ISDOC.isdoc, .isdocxNative parserCzech e-invoice standard. 100% accuracy.
ZUGFeRD / Factur-X.xml, .pdfNative parserEU e-invoice standard (embedded XML). 100% accuracy.
Maximum file size: 20 MB. For multi-page PDFs, all pages are processed and results are aggregated into a single response. Each API call counts as one document regardless of page count.

Error Codes

Error responses include a JSON body with error, message, and request_id fields. Use request_id when contacting support.

HTTP StatusErrorResolution
400Bad RequestCheck that file is included and non-empty.
401UnauthorizedVerify your API token is valid and included in the header.
402Payment RequiredAccount balance depleted. Top up credits to continue.
415Unsupported Media TypeFile format not supported. See supported formats above.
422Unprocessable EntityFile is valid but document could not be parsed. Check the file is readable and not corrupted.
429Too Many RequestsRate limit exceeded. Check the Retry-After response header. Default limit: 100 req/min.
500Internal Server ErrorTransient error. Retry with exponential backoff. If persistent, contact support.

Error response body

JSON
{
  "error": "unauthorized",
  "message": "API token is missing or invalid.",
  "request_id": "req_01HXZ3F8QK5Y2VWTN8B9GHJM4"
}

On-Premises Deployment

Documiner can be deployed inside your own infrastructure as a Docker container or a standalone binary. In both cases, you provide your own AI API key and data never leaves your environment. On-premises pricing is individual — contact us for details.

Docker

Shell
# Run with your AI API key
# (contact us for the Docker image)
docker run -d \
  -p 8080:8080 \
  -e AI_API_KEY=your_ai_key \
  -e API_SECRET=your_admin_secret \
  documiner:latest

# Extract a document
curl -X POST http://localhost:8080/api/parse-documents-sync \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{"FileName":"invoice.pdf","Content":"<base64>"}'

Environment variables

VariableRequiredDescription
AI_API_KEYYesYour AI provider API key
AI_MODELNoAI model override
API_SECRETYesAdmin secret for managing tokens and users
PORTNoHTTP port. Default: 8080
LOG_LEVELNoLogging verbosity: debug, info, warn, error. Default: info
Standalone binary: A pre-compiled binary is available for Linux (amd64, arm64) and Windows (amd64). Contact us for download access and deployment documentation.

OpenAPI Specification

The full API is described in an OpenAPI 3.1 specification. Import it into Postman, Insomnia, or any OpenAPI-compatible tool to explore and test the API interactively.

To view the spec interactively, paste the URL into editor.swagger.io.

Ready to integrate?

Request your API token and start extracting documents in minutes.