Accie Extract Webhooks & Real-Time Events
Accie Extract delivers asynchronous events via HTTP POST webhooks as soon as document pipelines complete extraction, run multi-way arithmetic reconciliation, or report validation failures.
Supported Extract Event Types
| Event Type | Trigger Description |
|---|---|
extract.job.completed |
Fired when document vision OCR and table parsing have completed successfully. Contains structured key-value pairs and line items. |
extract.job.verified |
Fired when all 5 verification engines pass: GSTIN validity, QR/IRN checksum, tax reconciliation, total reconciliation, and document kind categorization. |
extract.job.failed |
Fired when a document is unreadable, password-protected without key, corrupted, or exceeds size limits. |
extract.reconciliation.mismatch |
Fired when arithmetic differences are detected between extracted line items, GST rate slabs, and invoice grand totals. |
Extract Webhook Payload Schema
Each webhook payload is sent with Content-Type application/json and includes the job ID, workspace ID, status, verified badges, and structured extracted fields:
{
"id": "evt_ext_9281a8c0f7e4",
"event": "extract.job.completed",
"created_at": "2026-09-09T18:00:00Z",
"data": {
"job_id": "job_01h9x8y7z6w5v4u3",
"workspace_id": "ws_accie_prod",
"filename": "tax_invoice_2026_0891.pdf",
"status": "completed",
"verification": {
"gstin_checked": "verified",
"qr_irn": "verified",
"tax_reconciliation": "verified",
"total_reconciliation": "verified",
"document_kind": "verified"
},
"extracted_fields": {
"document_kind": "Tax Invoice",
"supplier_name": "GLOBAL TECH SOLUTIONS",
"gstin_supplier": "36AACCM4684P1ZS",
"recipient_name": "ACCIE TECHNOLOGIES PVT LTD",
"gstin_recipient": "36AABCA1234F1Z5",
"invoice_number": "INV-2026-0891",
"invoice_date": "2026-10-15",
"taxable_amount": "12500.00",
"cgst": "1125.00",
"sgst": "1125.00",
"total_amount": "14750.00"
},
"reconciliation": {
"status": "reconciled",
"line_items_sum": "12500.00",
"tax_sum": "2250.00",
"grand_total": "14750.00",
"discrepancy": "0.00"
}
}
}
HMAC-SHA256 Signature Verification
Verify the X-Accie-Signature header to confirm that the webhook originated from Accie's servers and was not altered in transit.
import hmac
import hashlib
def verify_extract_webhook(payload_bytes, signature_header, secret):
expected = hmac.new(secret.encode('utf-8'), payload_bytes, hashlib.sha256).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature_header)
Configuring Webhooks
You can register webhook endpoints through the Extract Workspace Settings or programmatically using the Extract REST API:
POST /api/v1/workspaces/{workspace_id}/webhooks
Host: ocr.accie.ai
Authorization: Bearer accie_live_...
Content-Type: application/json
{
"url": "https://api.yourcompany.com/webhooks/accie-extract",
"events": ["extract.job.completed", "extract.job.verified", "extract.reconciliation.mismatch"],
"secret": "whsec_..."
}