Overview
Page-level verification provides a vendor-agnostic view of extraction quality. Every page derives its status from child node statuses:
- verified — all nodes on the page are verified
- needs_review — at least one node needs review or is pending
- failed — at least one node has failed verification
- clean — no extractable content on the page
Get Verification Summary
Document ID (e.g. doc-abc123) or 6-char short hash.
Single page number for detail view. Returns node-level issues.
Filter pages by status: verified, needs_review, failed, clean.
Filter pages with min confidence below this threshold (0–1).
Response
{
"document_id": "doc-abc123",
"phase": "complete",
"total_pages": 13,
"verified": 10,
"needs_review": 2,
"failed": 1,
"clean": 0,
"verification_pct": 77,
"vendor": "llamaparse",
"pages": [
{
"page": 1,
"status": "verified",
"confidence": 0.95,
"node_count": 9,
"verified": 9,
"needs_review": 0,
"failed": 0,
"image_url": "https://res.okrapdf.com/v1/documents/doc-abc123/pg_1.png"
}
]
}
Page Detail (single page)
When ?page=N is provided, returns node-level issues:
{
"document_id": "doc-abc123",
"page": 7,
"status": "needs_review",
"confidence": 0.43,
"vendor": "llamaparse",
"image_url": "https://res.okrapdf.com/v1/documents/doc-abc123/pg_7.png",
"issues": [
{
"node_id": "node_doc-abc123_p7_b3",
"type": "cell",
"label": "Revenue",
"value": "1,234,567",
"confidence": 0.43,
"status": "needs_review",
"reason": null
}
]
}
Approve or Flag Pages
curl -X POST https://api.okrapdf.com/document/doc-abc123/verify \
-H "Authorization: Bearer okra_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "approve",
"pages": [7, 8, 9],
"actor": "cli"
}'
Request Body
Explicit page numbers to act on.
Filter-based targeting (alternative to pages).
Only act on pages with confidence >= this value.
Only act on pages with this status (needs_review or failed).
Required when action is flag. Recorded in audit trail.
Actor identifier. Defaults to api. Use cli, mcp_agent, or a user ID.
Response
{
"success": true,
"action": "approve",
"pages_updated": 3,
"nodes_updated": 47,
"skipped": 0,
"pages": [7, 8, 9]
}