/v2/ namespace. This guide covers what changed from version 1 and how to move an existing integration across.
Version 1 was never publicly documented
Version 1 verification endpoints were never published in our public API documentation. Definitions were sent to individual integrators on request, which means Annature has a record of who is currently built against version 1. For that reason, version 1 endpoints will be removed without notice once we have confirmed that those existing integrators have upgraded. Do not start a new integration against version 1. We are not tracking new consumers of these deprecated, undocumented endpoints, and they will be deleted without notice.Object model
Identity verification 2.0 rebuilt the underlying resources. Those changes made it difficult to keep the existing endpoints intact, so we started fresh with version 2 rather than stretching the original object further. Several terms were retired in that rebuild — specifically verified and unverified. Annature no longer returns its own pass/fail result for a verification. Version 2 is a passthrough of the results provided by our vendors, Stripe Identity and ComplyCube. Outcomes that require review are exposed onwarning. Completion is recorded as completed.
Property changes
This table highlights every property that was removed, changed, or added between version 1 and version 2.Standard vs enhanced
Version 1 used atype property on create:
standard— base identity verificationenhanced— the same verification, plus AML & CTF screening
type. Every verification is a base identity verification. To run AML & CTF screening checks, pass "screening": "true" when creating a verification.
Other breaking changes
These will break an existing version 1 integration if you only change the path to/v2/.
Mobile numbers
On version 1,mobile was stored and used as the OTP number. Version 1 create did not send an SMS with a verification link.
On version 2, mobile sends the verification link via SMS, and mobile_otp is the OTP number. If your version 1 integration passed mobile for two-factor authentication, map that value to mobile_otp on version 2.
Reports and certificates
GET /v1/verifications/:id returned a certificate download URL (and accepted endpoint_duration).
GET /v2/verifications/:id no longer returns reports. Use Retrieve reports for certificate, multibureau, and screening URLs. Reports are not available immediately on completion — listen for the Verification reports webhook instead of polling.
List filters
GET /v1/verifications accepted verified_before and verified_after.
GET /v2/verifications uses completed_before and completed_after.
Group assignment
POST /v1/verifications create left group_id empty unless it was supplied in the request.
POST /v2/verifications inherits the sending account’s group when group_id is omitted. Supply a group_id to override, or the verification will sit in the account’s group.
Sharing defaults
POST /v1/verifications always set shared to true when the sending account had share by default enabled, even if you passed shared: false.
POST /v2/verifications respects an explicit shared: false when the account only has share by default. Force sharing still overrides to true. A verification cannot be shared unless it belongs to a group.
Resending
POST /v1/verifications/:id/resend sent email only.
POST /v2/verifications/:id/resend also resends the SMS when a mobile number is set.
New endpoints
Webhooks
Theverification_completed payload now includes completed. verified is still sent for backwards compatibility and is deprecated.
A new verification_reports event is sent when downloadable reports are ready.