Re-run the AI tax/VAT classifier with the user's justification
Re-runs the shared Layer-2 classifier with description + userJustification + evidence context. If the accountant already ruled on this expense (reviewedLineItems set), the result is stored ONLY as a suggestion (requiresAccountantReview=true) — never overwrites the accountant's ruling.
Business API key, e.g. vuz_ab12cdef... Created via Settings → Integrations → API Keys. Unlike partner keys, a public API key's STRING does not encode its environment — isolation instead comes from a completely separate sandbox database: a key minted on the Sandbox server (above) only ever reads/writes sandbox data and can never see or affect production, regardless of what the key looks like.
In: header
Path Parameters
Expense ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/expense-management/expenses/string/reclassify" \ -H "Content-Type: application/json" \ -d '{}'{ "needsAccountantReview": true, "requiresAccountantReview": true, "vatRecognitionRate": 0, "incomeTaxRecognitionRate": 0, "reasoning": "string", "lineItemsSummary": [ { "description": "string", "justificationApplied": true } ], "suggestion": { "suggestedAt": "string", "suggestedVatRecognitionRate": 0, "suggestedIncomeTaxRecognitionRate": 0, "reasoning": "string" }}
