API Overview
The NetraOCR REST API lets you embed document intelligence into your own products and automate document pipelines at scale. Everything you can do in the console, you can do over the API.
Base URL
https://netraocr.shivicx.com/api/v1
All endpoint paths in this reference are relative to that base URL. For
example, "POST /ocr/upload" means
POST https://netraocr.shivicx.com/api/v1/ocr/upload.
Authentication
API requests authenticate with an API key + secret pair over HTTP Basic
auth — the api_key is the username, the api_secret is the password. Every key
also enforces a mandatory IP allow-list.
curl https://netraocr.shivicx.com/api/v1/templates \
-u "ak_live_xxxxxxxx:sk_live_xxxxxxxx"
See Authentication and Managing API Keys.
Conventions
- Format — requests and responses are JSON, except file uploads which use
multipart/form-data. - Encoding — UTF-8.
- Timestamps — ISO 8601, UTC (e.g.
2026-06-16T10:30:00Z). - IDs —
job_idand similar identifiers are opaque strings; don't parse them. - Errors — non-2xx responses carry a JSON body with a
detailmessage. See Errors. - Rate limits — applied per route. See Rate Limits.
Endpoint map
OCR
| Method | Path | Purpose |
|---|---|---|
POST | /ocr/upload | Upload a file (multipart), synchronous result |
POST | /ocr/upload-base64 | Upload a Base64 file (JSON), synchronous result |
POST | /ocr/bulk-analyze | Pre-flight validation + cost estimate |
POST | /ocr/bulk-upload | Submit many files (asynchronous) |
See OCR.
Batches
| Method | Path | Purpose |
|---|---|---|
GET | /batches | List bulk-upload batches |
GET | /batches/{batch_id} | Get batch progress and paginated jobs |
GET | /batches/{batch_id}/export | Export completed batch results as JSON |
See Batches.
Jobs & results
| Method | Path | Purpose |
|---|---|---|
GET | /ocr/jobs | List your jobs |
GET | /ocr/jobs/{job_id}/status | Check job status |
GET | /ocr/jobs/{job_id}/result | Get the full result |
GET | /ocr/jobs/{job_id}/download | Download the original file |
See Jobs & Results.
Document integrity
| Method | Path | Purpose |
|---|---|---|
POST | /ocr/verify | Standalone integrity verification |
GET | /ocr/jobs/{job_id}/fraud-analysis | Get integrity results for a job |
POST | /ocr/jobs/{job_id}/trigger-fraud-check | Run a check on an existing job |
GET | /ocr/fraud-checks/available | List available checks |
See Document Integrity.
Templates
| Method | Path | Purpose |
|---|---|---|
GET | /templates | List templates |
POST | /templates | Create a template |
GET | /templates/{id} | Get a template |
PUT | /templates/{id} | Update a template |
DELETE | /templates/{id} | Delete a template |
POST | /templates/generate | Generate a template with AI |
POST | /templates/generate-from-image | Generate a template from a sample document image |
See Templates.
API keys
| Method | Path | Purpose |
|---|---|---|
POST | /api-keys | Create a key |
GET | /api-keys | List keys |
GET | /api-keys/my-ip | Detect your current IP |
PATCH | /api-keys/{key_id}/ip-whitelist | Update a key's IP allow-list |
DELETE | /api-keys/{key_id} | Revoke a key |
See Managing API Keys.
Ready to authenticate? Continue to Authentication.