Glossary

Canonical definitions of every Invofox concept.
Account & access

Account

Your organization’s top-level workspace within Invofox. Contains one or more Environments.

Environment

A workspace within your Account used to organize document processing workflows. Each one can be configured as a TEST or PRODUCTION environment, each with its own configuration. API keys are scoped to an Environment.

API Key

The credential used to authenticate API requests. Created and managed in Environment Settings, and scoped to a single Environment.

Roles & permissions

Access is granted per Account and per Environment through three roles, each one building on the one before it:

  • User — works with documents (review, correct, modify…) but can’t change Account or Environment configuration.
  • Developer — everything a User can do, plus configuration: API keys, webhooks and the rest of the settings.
  • Admin — full access, including all Account and Environment configuration.
Ingestion

Import

The upload operation and the top-level container. Every upload (via API, web, or email) creates one Import that groups one or more Files. You track progress by polling the Import through its importId.

File

A single uploaded file inside an Import. Once processed, each File produces one or more Documents — one for a simple PDF, or several when a multi-document PDF is split or a ZIP is expanded.

Document

The extracted result produced from a File: the structured data (Fields). A single File can yield several Documents. Identified by a documentId and fetched with GET /documents/{documentId}.

One Import groups one or more Files; each File produces one or more Documents.
Import
one upload
File · invoices-march.pdf
Document
Document
Document
File · invoice.pdf
Document
Two Files in one Import: invoices-march.pdf is a multi-document PDF split into 3 Documents; invoice.pdf yields 1.
Import
one upload
File · invoice.pdf
Document
The simplest case — one PDF: 1 Import → 1 File → 1 Document.

Compressed File (ZIP)

An archive file (application/zip) containing multiple files. It is accepted by the upload endpoints, extracted asynchronously, and each extracted child File then follows its own lifecycle. The parent File is marked compressed: true.

clientData

An optional metadata object you attach when uploading. Invofox never processes it — it is returned verbatim in API responses and webhook events. It’s particularly useful for:

  • Internal reference tracking — store your own IDs, reference numbers, or metadata.
  • Webhook integration — the data is returned in webhook notifications, for easy correlation with your internal systems.
  • Information retrieval — access your custom data when retrieving extracted document information through the API.
Extraction

Document Type

The configuration that defines how a specific kind of document is processed and which Fields are extracted from it. Can be assigned manually at upload or detected automatically by the Classifier.

Field

A single data point extracted from a document — for example an invoice number, a total amount, or a date. Which Fields are extracted is determined by the Document Type.

Processing & states

Processing state

The internal lifecycle status of an Import, File, or Document. Common values include pending, processing, processed, and rejected (the exact set depends on the entity). State changes are what trigger webhook events.

Public state

A separate, business-workflow status assigned to a Document, independent of the internal processing state. It is one of:

  • pendingCorrection — awaiting human review.
  • approved — reviewed and accepted.
  • discarded — rejected or not valid.

Corrections

Sending corrected Field values (or the right Document Type) back to Invofox via PUT /documents/{id} after a Document has been processed. Each correction feeds model training, so extraction accuracy improves over time. See the Feedback loop page.

Error code

The value returned in a File’s error field when it is rejected (for example, ERR_UNSUPPORTED_FILE_FORMAT). Returned as a string for programmatic handling.

Webhooks

Webhook

An HTTP callback that Invofox sends to your endpoint when an event occurs, so you receive updates in real time instead of polling.

Webhook event

The payload Invofox delivers to your endpoint. It always includes type, id, timestamp, data, and version. The type matches a state transition (e.g. document.processed). See the Webhooks Reference → for the full event list and payload schemas.

HMAC signature

An optional signature Invofox adds to webhook requests so you can verify they genuinely came from Invofox. You configure a shared secret and validate the signature on your endpoint.

Idempotency

Processing each webhook event exactly once, using its unique id. Because delivery may be retried, your handler should ignore an event id it has already processed.

Polling

Repeatedly calling the API to check whether something is ready, instead of letting a Webhook notify you. Discouraged in production — it creates many “empty” requests and adds latency; if it’s unavoidable, space the calls out with exponential backoff. Webhooks are the recommended alternative.

Advanced features

Splitter

A feature that automatically separates a multi-document File into individual Documents, detecting document boundaries with AI. Removes the need to split batched files manually.

Classifier

A feature that automatically identifies a document’s type, assigning the right Document Type so you don’t have to set it at upload. Combined with the Splitter, it enables fully automated processing of mixed-document batches.