About
Below is a log of changes to the Persona API. Updates that affect only products or features in beta or limited release may not be reflected.
Each change can be described as either a breaking change or an ongoing change.
- Breaking changes = new API version: When we make any backwards-incompatible changes, we release a new version of the API. In addition to being assigned a new API version, these changes are marked in the changelog with the 💥 symbol. You’re in charge of when you get breaking changes—you get them when you upgrade your API version. Learn how to try out and upgrade to newer API versions.
- Ongoing changes: Ongoing changes are backwards-compatible, and are added on an ongoing basis. You don’t need to update your API version to get these updates.
SDK changelogs
Each Persona SDK has a separate changelog: Android SDK, iOS SDK, React Native SDK, Javascript SDK, Inlined React SDK, Inlined Vue SDK
Key
🌱 New feature
🍃 Improvement
🔧 Fix
💥 Breaking change
🔒 Security-related
Verifications
-
🌱 Add check metadata and extracted identity to Business Website Verifications: Business Website Verifications now expose two additional sets of data:
-
Check metadata — The
business_website_backlink_detectioncheck now includesbacklink-count(number of root domains linking to the site) andbacklink-threshold(configured minimum to pass) in itsmetadataobject. These values are captured at check-run time and remain stable even after raw verification data expires. -
Extracted identity — A new top-level
extracted-identityattribute exposes the business names, addresses, phone numbers, and email addresses found on the website as clean, flat arrays. Each entry includes the extractedvalueand thesourceURL it was found on. This data was previously only accessible nested inside theidentity_comparisoncheck.
See the Retrieve a Verification endpoint for details.
-
-
📝 Clarification — malicious website detection signals are in
reasons: Thebusiness_website_malicious_website_detectioncheck surfaces its IPQS and Google Web Risk detection signals (e.g.malware,phishing,spam-source) in thereasonsarray rather thanmetadata. If you are looking for which threat types were detected, inspectchecks[].reasonson this check.
Reports
- 🌱 Add ownership information to Business Associated Persons Reports: Business Associated Persons Reports now include an
ownership_informationobject containing anownersarray. Each owner includes its type (person or business), name, birthdate, address, and roles. See the Retrieve a Report endpoint for details.
Accounts
- 🌱 Add endpoints to add and remove Account relations: You can now specify an object ID and relation key to control Account relations via the add relation endpoint and the remove relation endpoint.
Inquiries
- 🌱 Add endpoint to search Inquiries: You can now use complex queries to search for Inquiries via the search endpoint. Using search is a faster alternative to using the list all Inquiries endpoint. It is not appropriate for read-after-write flows because the data is not immediately available to search.
Relays
- 🌱 Add new Relay API for privacy-preserving identity claims: You can now create a Relay and read its claim through the API. Relay returns an anonymized identity claim (such as age-over-18 or live-human-presence) without exposing the underlying PII.
- Create a Relay returns the
relay-token,relay-secret, and session access token needed to redeem the claim. - Generate a Relay claim returns the claim payload. It is authenticated with a Privacy Pass token (RFC 9577) and requires the
Persona-Relay-Secretheader. - Create a Privacy Pass blind-signs a client-provided token (Blind RSA, RFC 9578) so it can be redeemed anonymously when generating a claim.
- Create a Relay returns the
Transactions
- 🌱 Add endpoints to add and remove Transaction relations: You can now specify an object ID and relation key to control Transaction relations via the add relation endpoint and the remove relation endpoint.
Cases
- 🌱 Add endpoint to remove attached objects from Cases: You can now remove attached objects such as
inquiries,accounts, andreportsfromcasesvia the remove-objects endpoint.
Account Types and Case Templates
- 🌱 New endpoints to retrieve Account Types and Case Templates by ID: You can now retrieve a specific Account Type or Case Template by its public ID. Both responses include a
field-schemasarray underdata.attributes, where each entry describes one configured field (type,key,label,config) so you can programmatically validate that your application’s fields match what’s configured in Persona. The new endpoints require theaccount_type.readandcase_template.readpermissions, respectively. API keys created after the rollout date automatically include both permissions; API keys with explicit permission lists must addaccount_type.readand/orcase_template.readbefore they can call the new endpoints.
Filings
- 🔒 Filing endpoints now require the
filing.writepermission: Creating, updating, and adding objects to Filings now require API keys to have thefiling.writepermission. Existing API keys have been backfilled with this permission, and newly created API keys includefiling.writeby default. API keys with a narrow custom permission set must includefiling.writeto call these endpoints.
Government ID Documents and Verifications
- 🍃 Surface address county name extractions: Government ID Document and Verification resources now include
address_county.
Documents
-
🍃 Stop backfilling
extraction-responsesintoextraction-results: For API versions before2021-08-18, theextraction-resultsattribute on Document responses was being synthetically computed fromextraction-responses. This backwards-compatibility behavior has been removed. If you are on an API version before2021-08-18and rely onextraction-results, please use theextraction-responsesattribute instead. -
🍃 Remove non-GET Document endpoint documentation: The create, update, and submit endpoints for Documents have been removed from the API reference. These endpoints are deprecated in favor of Transactions. The GET endpoints (retrieve and list) remain available.
Events
- 🍃 Add
related-txn-idfield to Relation Event contexts:added-relationandremoved-relationevents sendrelated-account-idin their event context. When the relation points to a Transaction, the context will now userelated-txn-idto specify the related object.
Webhooks
- 💥 Webhook Event payloads no longer include related objects by default: Newly created webhooks will have an empty
includedarray in their event payloads. To receive related objects, configure the allowlist on the webhook’s Payload Configuration tab. Existing webhooks are not affected.
Inquiries
-
🍃 Add optional session tokens or one time links to Inquiry creation responses: The Inquiry create response can now return a session token or a one time link if you pass in certain flags. If you pass in
auto-create-inquiry-sessionas true, the response includes ameta.session-tokenattribute. If you pass inauto-create-one-time-linkas true, the response includesmeta.one-time-linkandmeta.one-time-link-shortattributes. -
🍃 Inquiry creation iOS App Attestation improvement: Inquiry create requests now accept
meta.ios_app_attest_team_idandmeta.ios_app_attest_bundle_idto allow iOS App Attestation on multiple apps on a single Inquiry Template. The properties override the template level configs and accepts either credential or both as overrides.
Reports
- 🍃 Add Instagram URL and username to Social Media Reports: The response attributes for Social Media Reports now include an
instagram_urlandinstagram_usernameattribute to represent the linked Instagram account. See the Retrieve a Report endpoint for details.
Reports
- 🍃 Add position topics, start dates, and end dates to Politically Exposed Person Reports: The
positionsattribute in Politically Exposed Person Reports now exposes position topics as well as the start and end dates indicating the duration each position was held. See the Retrieve a Report endpoint for details.
Events
- 🍃 Add
contextattribute to Events and Webhook Events: Events and Webhook Event resources now include acontextattribute that can hold additional information for certain event types. To start, theaccount.added-relationandaccount.removed-relationevents will haverelation-schema-keyandtarget-account-idattributes withincontext.
Accounts
- 🌱 Add endpoint to search Accounts: You can now use complex queries to search for Accounts via the search endpoint. Using search is a faster alternative to using the list all Accounts endpoint. It is not appropriate for read-after-write flows because the data is not immediately available to search.

