[{"data":1,"prerenderedAt":164},["ShallowReactive",2],{"content-\u002Fchangelog\u002F2026-06-14-analyze-document":3},{"id":4,"title":5,"author":6,"body":7,"categories":6,"category":145,"categoryType":146,"date":147,"description":148,"extension":149,"faq":6,"howto":6,"isBlog":150,"isChangelog":151,"meta":152,"navigation":151,"path":159,"rawbody":160,"seo":161,"stem":162,"thumbnail":6,"__hash__":163},"content\u002Fchangelog\u002F2026-06-14-analyze-document.md","AI Document Analysis",null,{"type":8,"value":9,"toc":137},"minimark",[10,19,24,65,69,80,83,87,116,120],[11,12,13,14,18],"p",{},"You can now pre-screen KYC documents before submitting them. The new ",[15,16,17],"code",{},"POST \u002Fv1\u002Fupload\u002Fanalyze"," endpoint reads a PDF, JPG, or PNG with AI, checks it against the rules for its type, and returns an approval-rate signal with a short reason.",[20,21,23],"h2",{"id":22},"tldr","TL;DR",[25,26,27,33,55,58],"ul",{},[28,29,30,31],"li",{},"New endpoint: ",[15,32,17],{},[28,34,35,36,39,40,43,44,47,48,51,52],{},"Returns ",[15,37,38],{},"approval_rate"," of ",[15,41,42],{},"low",", ",[15,45,46],{},"medium",", or ",[15,49,50],{},"high"," plus a one-line ",[15,53,54],{},"description",[28,56,57],{},"Supports 13 document types, from identity and passport to bank and financial statements",[28,59,60,61,64],{},"Optional ",[15,62,63],{},"metadata"," cross-checks values you already collected against the document",[20,66,68],{"id":67},"how-it-works","How it works",[11,70,71,72,75,76,79],{},"Send a ",[15,73,74],{},"file"," (PDF, JPG, or PNG up to 5MB) and a ",[15,77,78],{},"type",". The analysis runs the document against the rule set for that type and returns how confident it is that the document should be approved, with a short reason you can show to the customer or your reviewers.",[11,81,82],{},"The result is a signal, not a decision. KYC approval still comes from the verification flow; this lets you catch an expired ID or an out-of-date proof of address early, before submitting.",[20,84,86],{"id":85},"optional-metadata","Optional metadata",[11,88,89,90,92,93,43,96,47,99,102,103,105,106,43,109,43,112,115],{},"Pass ",[15,91,63],{}," as a JSON string of values you already have, such as ",[15,94,95],{},"full_name",[15,97,98],{},"date_of_birth",[15,100,101],{},"address",", and they are matched against the document. A clear mismatch caps the rating at ",[15,104,42],{}," and the reason explains it. Requested transaction limits (",[15,107,108],{},"requested_per_transaction",[15,110,111],{},"requested_daily",[15,113,114],{},"requested_monthly",") are checked for sufficient capacity instead of an exact match.",[20,117,119],{"id":118},"get-started","Get started",[11,121,122,123,128,129,136],{},"See the ",[124,125,127],"a",{"href":126},"\u002Fdocs\u002Fessentials\u002Fanalyze-document","Analyze Document documentation",". The full request and response schema is in the ",[124,130,135],{"href":131,"rel":132,"target":134},"https:\u002F\u002Fapi.blindpay.com\u002Freference#tag\u002Fupload\u002FPOST\u002Fv1\u002Fupload\u002Fanalyze",[133],"nofollow","\\_blank","BlindPay API Docs",".",{"title":138,"searchDepth":139,"depth":139,"links":140},"",2,[141,142,143,144],{"id":22,"depth":139,"text":23},{"id":67,"depth":139,"text":68},{"id":85,"depth":139,"text":86},{"id":118,"depth":139,"text":119},"New Feature","feature","2026-06-14","A new endpoint reads a KYC document with AI and returns an approval-rate signal, so you can pre-screen files before submitting them for verification.","md",false,true,{"excerpt":153},{"type":8,"value":154},[155],[11,156,13,157,18],{},[15,158,17],{},"\u002Fchangelog\u002F2026-06-14-analyze-document","---\ntitle: AI Document Analysis\ndescription: A new endpoint reads a KYC document with AI and returns an approval-rate signal, so you can pre-screen files before submitting them for verification.\ndate: 2026-06-14\ncategory: New Feature\ncategoryType: feature\nisChangelog: true\n---\n\nYou can now pre-screen KYC documents before submitting them. The new `POST \u002Fv1\u002Fupload\u002Fanalyze` endpoint reads a PDF, JPG, or PNG with AI, checks it against the rules for its type, and returns an approval-rate signal with a short reason.\n\n\u003C!--more-->\n\n## TL;DR\n\n- New endpoint: `POST \u002Fv1\u002Fupload\u002Fanalyze`\n- Returns `approval_rate` of `low`, `medium`, or `high` plus a one-line `description`\n- Supports 13 document types, from identity and passport to bank and financial statements\n- Optional `metadata` cross-checks values you already collected against the document\n\n## How it works\n\nSend a `file` (PDF, JPG, or PNG up to 5MB) and a `type`. The analysis runs the document against the rule set for that type and returns how confident it is that the document should be approved, with a short reason you can show to the customer or your reviewers.\n\nThe result is a signal, not a decision. KYC approval still comes from the verification flow; this lets you catch an expired ID or an out-of-date proof of address early, before submitting.\n\n## Optional metadata\n\nPass `metadata` as a JSON string of values you already have, such as `full_name`, `date_of_birth`, or `address`, and they are matched against the document. A clear mismatch caps the rating at `low` and the reason explains it. Requested transaction limits (`requested_per_transaction`, `requested_daily`, `requested_monthly`) are checked for sufficient capacity instead of an exact match.\n\n## Get started\n\nSee the [Analyze Document documentation](\u002Fdocs\u002Fessentials\u002Fanalyze-document). The full request and response schema is in the [BlindPay API Docs](https:\u002F\u002Fapi.blindpay.com\u002Freference#tag\u002Fupload\u002FPOST\u002Fv1\u002Fupload\u002Fanalyze){target=\"\\_blank\"}.\n",{"title":5,"description":148},"changelog\u002F2026-06-14-analyze-document","-Xzj6zfcW5w6rBtXFQ0_3wUWjMmvdlvBI9kDdG06BYE",1786667596370]