# Webhooks

Source: https://www.digiparser.com/docs/api/webhooks

# Webhooks

Receive document.exported events and payload structure

Copy MarkdownOpen

# [Webhooks](#webhooks)

Feedback

Webhooks send extracted data to your URLs when a document is processed.

Feedback

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](#setting-up-webhooks)

Feedback

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**.

app.digiparser.com![Integrations with Webhook export and endpoint URL field](/docs/_next/static/media/webhook-export-endpoint-form-clean.5ca12673.png)

## [Event type: document.exported](#event-type-documentexported)

Feedback

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.digiparser.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.digiparser.com/.../document.md",
      "event": "document.exported",
      "teamId": "team_123",
      "teamSlug": "acme-co",
      "parserId": "parser_123",
      "workflowId": "workflow_123"
    }
  }
}
```

Feedback

*   **event** - Always `document.exported` for this webhook.
*   **data.id** - The DigiParser 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. `createdAt` and `updatedAt` are ISO timestamps when available. Nullable values such as `thumbnail`, `pageCount`, `isApproved`, and `markdownUrl` may be `null`. When Markdown parsing is enabled, `markdownUrl` is a temporary URL for the stored `.md` file.

Feedback

Do not read `extracted_data` or `metadata` from the top level. Both are nested inside `data`.

## [Webhook security](#webhook-security)

### [Signature verification](#signature-verification)

Feedback

Each request includes Svix headers you can use to verify it came from DigiParser and was not modified:

```
svix-id: ...
svix-timestamp: ...
svix-signature: ...
```

Feedback

Use these with the **signing secret** shown for each endpoint in the Webhook export settings. See [How to verify webhooks](/docs/guides/integrations/verifying-webhooks) for details and code samples.

### [HTTPS](#https)

Feedback

Webhook URLs must use HTTPS.

## [Testing webhooks](#testing-webhooks)

Feedback

In **Settings -> Integrations -> Webhook export**, expand an endpoint and use **Send test webhook** to send a sample payload to your URL.

How is this guide?

GoodBad

[

MCP Server

Connect AI agents to DigiParser using the remote MCP server

](/docs/api/mcp)[

Upload Files to Parser or Classifier POST

Upload 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.

](/docs/api/uploadFilesToProcessingTarget)