Dashboard and MCP
- Resubmission insights count people, not verifications. The dashboard card and the
resubmissionpart of the MCPget-verification-statsnow merge a person’s verifications byexternal_idwithin a workspace, and count each person once, on the day of their final outcome. Someone declined on one link and approved on the next is one approval on the 2nd attempt, on the day of the approval, and no longer a decline plus a first-attempt approval. A new verification after an approval starts a new count of its own, and verifications without anexternal_idare counted one by one. The response keys are unchanged,volumestays per verification, and the MCPlegendhas a newpersonentry.
API
DOCUMENT_PORTRAIT_NOT_FOUNDon a document front upload. A front image with no photo of the holder on it, such as a closed passport cover or the back of a card, is now refused at upload with422and this code, instead of failing later in the verification. Ask the person to retake the document photo. Not sent for every workspace; handle it like the other upload codes in Error handling.
Billing
- The 500 free verifications no longer expire after 15 days. They are used before your card is charged, and there is no monthly minimum while any are left or in a month that used them. Your administrators get an email when 100, 30 and 0 are left. See Pricing.
API
issuing_subdivisionin the document result.issuing_subdivisionindocumentis the state or province that issued the document, as a bare code right afterissuing_country(for exampleFLwithUS), ornull. Today it is filled for US driving licences and ID cards. It is on every workspace, inGET /v1/verifications/{id}/document, in the webhookdocumentand in the MCPlist-verificationsdocument, and it is kept after erasure. See Reading results.- SDK releases to match:
@proofage/node0.11.0,proofage(Python) 0.6.0,proofage/php-sdk0.6.0 andproofage/laravel-client0.9.6.
API
addressin the document result, on identity (KYC) workspaces only.GET /v1/verifications/{id}/documentnow returnsaddressinfields: the printed text as read, trimmed,nullwhen empty, not parsed and not normalised. It may contain line breaks.fieldscarries eleven keys on KYC workspaces, seven of them KYC-only. Age workspaces do not receiveaddress.- The decision webhook carries
document. Every decision webhook now has the samedocumentobject asGET /v1/verifications/{id}/document, without the images:type,issuing_countryandfields, with eleven fields on identity (KYC) workspaces and four on age workspaces. It is present on every status and is allnullwhen nothing was read, and on test workspaces. A resend or a manual retry carries the document as it is now; an automatic retry carries the body as first sent. Stored webhook bodies in your logs now hold the person’s name and birth date until erasure. If your handler validates the body with a strict schema, allow the new key. See Webhooks. nationalityis published only when the document itself states it.- MCP
list-webhook-deliveriesreturns the last attempt’srequest_bodyonly withinclude_payload: true, likepayload. - Erasure covers every stored copy of a webhook body. The copy of the body kept with each delivery attempt, and what a receiver answered, are now erased with the rest of the person’s data, and an erasure that lands while a delivery is in flight is no longer undone.
gendercan beX.F,MorX, whereXmeans the document states that the sex is unspecified.- SDK releases to match:
@proofage/node0.10.0,proofage(Python) 0.5.0,proofage/php-sdk0.5.0 andproofage/laravel-client0.9.5. They typeaddressand the webhookdocument, both optional. See Reading results and Data models.