Skip to main content

Core Concepts

A quick mental model of how NetraOCR works. Each concept links to a deeper guide.

Documents & jobs

A document is a single file you submit (a PDF or image). Every submission creates a job — a unit of processing with its own job_id, status, and result.

  • Single uploads are processed synchronously: the API call returns the result directly.
  • Bulk uploads are processed asynchronously: you get back job IDs immediately and poll for status. Related jobs are grouped into a batch.

Job status moves through: queued → processing → completed (or failed).

Templates & structured data

A template describes the fields you want extracted — for example invoice_number, vendor_name, and a repeating line_items list with description, quantity, and amount sub-fields.

Every OCR submission requires a template. The engine returns structured data: JSON keyed exactly to the selected template's fields.

Templates can be:

  • Global templates — ready-made templates provided by NetraOCR (referenced by IDs like gl1).
  • User templates — your own custom templates (referenced by their numeric ID).
  • AI-generated — describe what you want and let Netra build the template for you.

See Templates.

Document integrity

Document integrity (also called fraud/tampering detection) analyzes a document for signs of manipulation — using PDF structure checks, image forensics (ELA, copy-move detection, noise analysis), and AI-powered visual analysis.

It runs in the background after OCR and returns a risk score (0–100), a risk level, and a list of detected indicators. It never blocks the OCR result.

See Document Integrity.

API keys & security

Programmatic access uses an API key + secret pair over HTTP Basic auth. Every key carries a mandatory IP allow-list — requests from non-listed IPs are rejected. Keys can also be scoped and given an expiry.

Optionally, you can enable end-to-end response encryption: responses are encrypted with a public key you control, and only your client (holding the private key) can read them.

See Authentication and Managing API Keys.

Putting it together