PUBLIC API v1
Upload documents for OCR and transaction matching
POST /api/v1/companies/{company_pk}/accounting/transactions/upload-documents/
Queues OCR and creates or matches transactions. Public API requests accept up to 20 files, 10 MB per file and 50 MB total. Poll the returned job ID for per-file results.
Permission: write_documents write_transactions · Direct link
Company-scoped. Account permissions, plan limits and document state still apply.
Path and query parameters
| Parameter | Location / type | Description |
|---|---|---|
company_pkRequired | path · string (uuid) | Not specified |
Request body
multipart/form-data
| Field | Type / accepted values | Description |
|---|---|---|
filesRequired | string (binary)[] | Not specified |
cashflowType | "INCOME" | "EXPENSE" | * `INCOME` - INCOME * `EXPENSE` - EXPENSE |
Responses
201 Response fields
application/json
| Field | Type / accepted values | Description |
|---|---|---|
jobIdRequired | string (uuid) | Not specified |
401 The API key is invalid, expired or revoked.
403 Missing scope, company mismatch, unsupported operation, or a plan/account restriction.
429 Rate limit exceeded. Wait for the Retry-After header before retrying.
Use the base URL https://api.norman.finance/api/v1. Sign up or log in to Norman to create an API key, then send it as a Bearer token. For an OpenAPI JSON file, contact support.