PARSER GUIDES
Webhooks
Receive document.exported events and payload structure
Webhooks send extracted data to your URLs when a document is processed.
Webhooks are configured on parsers. Document classifiers route files to parsers; after the target parser finishes extraction, that parser's webhook settings apply.
Setting up webhooks
1. Open your parser and go to Settings -> Integrations.
2. Under Available Integrations, click Webhook.
3. Expand Webhook export, add one or more endpoint URLs, then click Save.
guide-api-webhooks-01-webhook-export-endpoint-form-clean-5ca12673.webpRequired PARSER view: Integrations with Webhook export and endpoint URL fieldFuture alt text: Integrations with Webhook export and endpoint URL fieldEvent type: document.exported
Triggered when a document has been extracted, post-processed, and (if reviews are enabled) approved. Requests are delivered by Svix. The request body is JSON with this shape:
{
"event": "document.exported",
"data": {
"id": "doc_123",
"extracted_data": {
"Invoice Number": "INV-001",
"Total": 1234.56,
"Invoice Date": "2026-07-24",
"Paid": false,
"Line Items": [
{
"Description": "Consulting",
"Amount": 1234.56
}
]
},
"metadata": {
"id": "doc_123",
"name": "invoice.pdf",
"url": "https://app.PARSER.com/...",
"status": "processed",
"isProcessed": true,
"isFailed": false,
"thumbnail": null,
"createdAt": "2026-07-24T09:30:00.000Z",
"updatedAt": "2026-07-24T09:31:00.000Z",
"assignee": "",
"pageCount": 1,
"isApproved": true,
"ocrText": "",
"markdownUrl": "https://documents.PARSER.com/.../document.md",
"event": "document.exported",
"teamId": "team_123",
"teamSlug": "acme-co",
"parserId": "parser_123",
"workflowId": "workflow_123"
}
}
}
- event - Always
document.exportedfor this webhook. - data.id - The PARSER document ID.
- data.extracted\_data - Your parser's fields and tables. Values keep their JSON type: text, numbers, booleans, arrays, and table-row objects. Null extracted values are converted to empty strings.
- data.metadata - Document state and context.
createdAtandupdatedAtare ISO timestamps when available. Nullable values such asthumbnail,pageCount,isApproved, andmarkdownUrlmay benull. When Markdown parsing is enabled,markdownUrlis a temporary URL for the stored.mdfile.
Do not read extracted_data or metadata from the top level. Both are nested inside data.
Webhook security
Signature verification
Each request includes Svix headers you can use to verify it came from PARSER and was not modified:
svix-id: ...
svix-timestamp: ...
svix-signature: ...
Use these with the signing secret shown for each endpoint in the Webhook export settings. See How to verify webhooks for details and code samples.
HTTPS
Webhook URLs must use HTTPS.
Testing webhooks
In Settings -> Integrations -> Webhook export, expand an endpoint and use Send test webhook to send a sample payload to your URL.
MCP ServerConnect AI agents to PARSER using the remote MCP serverOpen guide → Upload Files to Parser or Classifier POSTUpload one or more files to either a parser or a document classifier. Provide exactly one target: - \parserId\ to extract data with that parser. - \classifierId\ to classify and route documents to configured target parsers. Classifier uploads return routing status for each document. Classifiers do not extract data themselves; routed documents are extracted by the target parsers.Open guide →