Developers

PUBLIC API v1

Re-run OCR on an attachment (optionally a cropped region)

POST /api/v1/companies/{company_pk}/attachments/{public_id}/re-extract/

Re-extracts document fields. If an `image` is provided (e.g. the user selected the region containing the amount), OCR runs against that crop synchronously and the corrected fields are returned. The original attachment file is never replaced (GoBD). Without an `image`, a full re-OCR is queued and 202 is returned.

Permission: write_documents · Direct link

Company-scoped. Account permissions, plan limits and document state still apply.

Path and query parameters

ParameterLocation / typeDescription
company_pkRequiredpath · string (uuid)Not specified
public_idRequiredpath · string (uuid)A UUID string identifying this Attachment.

Request body

application/json

FieldType / accepted valuesDescription
imagestring (binary)Not specified

multipart/form-data

FieldType / accepted valuesDescription
imagestring (binary)Not specified

application/x-www-form-urlencoded

FieldType / accepted valuesDescription
imagestring (binary)Not specified

Responses

200 Response fields

application/json

FieldType / accepted valuesDescription
publicIdRequiredRead onlystring (uuid)Not specified
createdRequiredRead onlystring (date-time)Not specified
filestring (uri) | nullNot specified
transactionsRequiredstring (uuid)[]Not specified
companyRequiredstring (uuid)Not specified
attachmentType"invoice" | "receipt" | "contract" | "other"* `invoice` - Invoice * `receipt` - Receipt * `contract` - Contract * `other` - Other
amountstring (decimal) | nullNot specified
amountExchangedstring (decimal) | nullNot specified
attachmentNumberstringNot specified
brandNamestringNot specified
currencystringNot specified
currencyExchangedstring | nullNot specified
descriptionstringNot specified
supplierCountry"DE" | "PL" | "DOMESTIC" | "INSIDE_EU" | "OUTSIDE_EU" | ""Not specified
valueDatestring (date-time) | nullNot specified
vatSumAmountstring (decimal) | nullNot specified
vatSumAmountExchangedstring (decimal) | nullNot specified
fileNamestringNot specified
saleType"GOODS" | "SERVICES" | ""Not specified
vatRate23 | 19 | 8 | 7 | 5 | 0 | -1 | -2* `23` - 23% * `19` - 19% * `8` - 8% * `7` - 7% * `5` - 5% * `0` - 0% * `-1` - CUSTOM % * `-2` - Reverse charge
extractedItemsobject | nullPer-item OCR extraction results: [{description, amount, vat_rate, ...}]
fileHashstringNot specified
retentionUntilstring (date) | nullNot specified
externalSourcestringNot specified
externalIdstringNot specified
202 Response fields

application/json

FieldType / accepted valuesDescription
queuedRequiredbooleanNot specified
400 Response fields

application/json

FieldType / accepted valuesDescription
detailRequiredstringNot specified
codeintegerNot specified
type_stringNot specified
fieldRequiredstringNot specified
401 Response fields

application/json

FieldType / accepted valuesDescription
detailRequiredRead onlystringNot specified
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.