Integration Guide: Government ID Verification via API
Enterprise support
This feature is restricted to customers on the Enterprise plan. Please reach out to your Account Team or contact us if you are interested in enabling and setting up this feature.
Solution overview
- Silently orchestrates a Government ID verification on an individual
Pre-integration
- Ensure you have the proper consent language in place to be able to support Government ID via API verification
- Make sure your organization is set up with the requisite transaction and workflows!
- Review the verification requirements
- Think about any additional post-verification business logic you want to apply to your users in the Persona Workflow (report runs, age checks, etc)
- Think about if there are any situations that would warrant a manual review of the user, using Persona Cases.
Reach out to your Persona team if you have questions related to any of these items!
Integration Steps
1. Create the Transaction
- Please ensure you’re including the
reference_id
property under theattributes
object: this will be the value you use to identify the user’s Persona account - Use your Production API key to create Production transactions, and your Sandbox API key to create Sandbox transactions
Transaction fields
The minimum set of fields required for the verification is: id_front_photo
, id_class
, address_country_code
, and transaction_type
.
Whether or not additional fields are required will depend on your checks configuration. For example, if you’re requiring the Inquiry Comparison check, you will want to prefill the inquiry with the user’s information, so Persona can verify that it matches what’s on the ID.
Sample cURL commands
Because your request will contain files we recommend using a multipart/form-data
style of request over application/json
, though we have provided both as examples.
We’ve omitted some of the optional fields here for simplicity.
2. Listen for the Transaction status
We recommend listening to the transaction.status-updated
webhook (docs) to know when to proceed. You can alternatively make an API call to fetch the transaction (docs).
Transaction statuses
To view and edit these statuses, click “… > Custom Statuses” on your transaction type’s page
Fallback inquiry orchestration
If your transaction flow includes a fallback to a Persona UI inquiry, you’ll utilize the following additional fields and statuses.