> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.withpersona.com/2020-05-18/inquiries/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.withpersona.com/_mcp/server. # Inquiries ## Docs - [Inquiry Model Lifecycle](https://docs.withpersona.com/model-lifecycle.md): Understand the stages and statuses in the Inquiry lifecycle. - [Inquiry Templates](https://docs.withpersona.com/inquiry-templates.md): Configure Inquiry templates with screens, verifications, decisions, fields, and themes. - [Creating Inquiries](https://docs.withpersona.com/creating-inquiries.md): Create Inquiries through the API or directly from a client-side integration. - [Resuming Inquiries](https://docs.withpersona.com/resuming-inquiries.md): Resume an Inquiry securely with a session token or one-time link. - [Accessing Inquiry status and data](https://docs.withpersona.com/accessing-inquiry-status.md): Use webhooks and the API to retrieve current Inquiry status and data. - [Inquiry Fields](https://docs.withpersona.com/inquiry-fields.md): Configure and access standard and custom fields collected by an Inquiry. - [Inquiry Sessions](https://docs.withpersona.com/inquiry-sessions.md): Understand how Inquiry Sessions track a user's access across browsers and devices. - [Inquiry One-Time Links (OTL)](https://docs.withpersona.com/inquiry-one-time-links.md): Create one-time links that let users securely regain access to an Inquiry. - [Reference IDs](https://docs.withpersona.com/reference-ids.md): Use reference IDs to identify users and link multiple Inquiries to one Account. - [Inquiry Expiration](https://docs.withpersona.com/inquiry-expiration.md): Understand when Inquiries expire and how to make them accessible again. - [Inquiry Theming](https://docs.withpersona.com/inquiry-theming.md): Apply Dashboard-managed themes to customize the appearance of Inquiry flows. - [Inquiry Signals](https://docs.withpersona.com/inquiry-signals.md): Expose Inquiry fraud scores and behavioral indicators through the API and webhooks. - [Browser & Device Support](https://docs.withpersona.com/browser-device-support.md): Review the browsers, devices, and in-app environments supported by Inquiry flows. - [Internationalization](https://docs.withpersona.com/languages.md): Configure the language used by Persona Inquiry flows. - [Accessibility](https://docs.withpersona.com/accessibility.md): Review accessibility support and configuration guidance for Inquiry flows. - [Inquiries Best Practices](https://docs.withpersona.com/inquiries-best-practices.md): Follow recommended patterns for Inquiry status, reference IDs, and secure data handling. - [Ensuring user access to Inquiries](https://docs.withpersona.com/ensuring-user-access-to-inquiries.md): Prevent access problems by choosing the right Inquiry type and session strategy. - [Prevent users from creating multiple Inquiries](https://docs.withpersona.com/prevent-users-from-creating-multiple-inquiries.md): Prevent a user from creating duplicate Inquiries for a single-use flow. - [Integration Testing](https://docs.withpersona.com/integration-testing.md): Testing integrations using Sandbox Inquiries - [Hosted Flow Overview](https://docs.withpersona.com/hosted-flow.md): Launch a Persona-hosted, customizable identity verification flow with minimal development. - [Tutorial: Unique Hosted Flow links via API](https://docs.withpersona.com/tutorial-hosted-flow-unique-api.md): Create unique Hosted Flow links through the API for individual users. - [Parameters](https://docs.withpersona.com/hosted-flow-parameters.md): Configure Hosted Flow behavior with query string parameters. - [Prefilling Fields](https://docs.withpersona.com/hosted-flow-fields.md): Prefill Inquiry fields through Hosted Flow query parameters. - [Redirecting After Inquiry](https://docs.withpersona.com/hosted-flow-redirecting-on-complete.md): Redirect users to an allowed URL after they complete a Hosted Flow Inquiry. - [Security](https://docs.withpersona.com/hosted-flow-security.md): Restrict Hosted Flow redirect destinations with a domain allowlist. - [Subdomains](https://docs.withpersona.com/hosted-flow-subdomains.md): Serve Hosted Flow links from a custom withpersona.com subdomain. - [WebView Considerations](https://docs.withpersona.com/hosted-flow-webview-considerations.md): Configure Hosted Flow for a WebView and understand when to use a native SDK instead. - [Embedded Flow Overview](https://docs.withpersona.com/embedded-flow.md): Embed Persona's identity verification flow directly in a web page. - [Tutorial: Embedded Flow with Inquiry Template](https://docs.withpersona.com/tutorial-embedded-flow-inquiry-template.md): Launch Embedded Flow from an Inquiry template with minimal client-side code. - [Tutorial: Pre-create inquiries for Embedded Flow](https://docs.withpersona.com/tutorial-embedded-flow-precreate.md): Pre-create an Inquiry through the API before launching Embedded Flow. - [Sample Implementation](https://docs.withpersona.com/embedded-flow-sample-implementation.md): Explore a working JavaScript implementation of Persona Embedded Flow. - [Parameters](https://docs.withpersona.com/embedded-flow-parameters.md): Configure the Persona JavaScript client with Embedded Flow parameters. - [Prefilling Fields](https://docs.withpersona.com/embedded-flow-fields.md): Prefill Inquiry fields when initializing Embedded Flow. - [Client Callbacks](https://docs.withpersona.com/embedded-flow-client-callbacks.md): Handle Embedded Flow UI events without relying on callbacks for critical business logic. - [Client Methods](https://docs.withpersona.com/embedded-flow-client-methods.md): Control an Embedded Flow client with methods for opening, canceling, destroying, and preloading. - [Inlined](https://docs.withpersona.com/inlined-flow.md): Load the Persona Inquiry flow directly in a page with the JavaScript SDK. - [Inlined React](https://docs.withpersona.com/inlined-react-flow.md): Load the Persona Inquiry flow directly in a React page. - [Inlined Vue](https://docs.withpersona.com/inlined-vue-flow.md): Load the Persona Inquiry flow directly in a Vue page. - [JavaScript SDK Changelog](https://docs.withpersona.com/embedded-flow-changelog.md): Review fixes, features, and updates for the Persona JavaScript SDK. - [Inlined React Changelog](https://docs.withpersona.com/inlined-react-changelog.md): Review fixes, features, and updates for the Persona Inlined React SDK. - [Inlined Vue Changelog](https://docs.withpersona.com/inlined-vue-changelog.md): Review fixes, features, and updates for the Persona Inlined Vue SDK. - [Migration instructions](https://docs.withpersona.com/embedded-flow-migration-instructions.md): Migrate JavaScript and Inlined React integrations from persona version 4 to version 5. - [Security](https://docs.withpersona.com/embedded-flow-security.md): Restrict where Embedded Flow can run with domain allowlists and referrer policies. - [Troubleshooting common issues](https://docs.withpersona.com/embedded-flow-troubleshooting-common-issues.md): Resolve common Embedded Flow loading, performance, and integration problems. - [WebView Considerations](https://docs.withpersona.com/embedded-flow-webview-considerations.md): Configure Embedded Flow for a WebView and understand when to use a native SDK instead. - [Mobile Integration](https://docs.withpersona.com/mobile-sdks.md): Integrate Persona Inquiry flows into native iOS, Android, or React Native applications. - [Android Integration Guide](https://docs.withpersona.com/android-sdk-v2-integration-guide.md): Android Inquiry SDK Integration Guide and Technical Documentation - [Android Inline Inquiries Guide](https://docs.withpersona.com/android-inline-inquiries.md): A guide on how to launch Inquiries inline. - [Android Changelog](https://docs.withpersona.com/android-sdk-v2-changelog.md): Changes, Fixes, and Features for our Android SDK. - [Migrate Android Theming from Client to Server](https://docs.withpersona.com/migrating-android-theming-from-client-to-server.md): Move Android Inquiry themes from client-side code to the Persona Dashboard. - [Migrate from Android SDK v1 to v2](https://docs.withpersona.com/migrate-from-android-sdk-v1-to-v2.md): Migrate an Android integration from the deprecated v1 SDK to the v2 SDK. - [Google Play Privacy](https://docs.withpersona.com/google-play-data-privacy.md): Detailed information on completing the Google Play Store questions when submitting your app for release or update. - [Android Licenses](https://docs.withpersona.com/android-sdk-v2-licenses.md): Review open source licenses for dependencies used by the Persona Android SDK. - [iOS Integration Guide](https://docs.withpersona.com/ios-sdk-v2-integration-guide.md): Integrate Persona identity verification into an iOS application with UIKit or SwiftUI. - [iOS Inline Inquiries Guide](https://docs.withpersona.com/ios-inline-inquiries.md): A guide on how to launch Inquiries inline. - [iOS Changelog](https://docs.withpersona.com/ios-sdk-v2-changelog.md): Changes, Fixes, and Features for our iOS SDK. - [iOS Privacy Manifest](https://docs.withpersona.com/ios-privacy-manifest.md): Declare to Apple the data collected by your app or by third-party SDKs. - [Migrate iOS Theming from Client to Server](https://docs.withpersona.com/migrating-ios-theming-from-client-to-server.md): Move iOS Inquiry themes from client-side code to the Persona Dashboard. - [Migrate from iOS SDK v2 to v3](https://docs.withpersona.com/migrate-from-ios-sdk-v2-to-v3.md): Migrate an iOS integration from SDK v2 to v3 and adopt its updated APIs. - [Migrate from iOS SDK v1 to v2](https://docs.withpersona.com/migrate-from-ios-sdk-v1-to-v2.md): Migrate an iOS integration from the deprecated v1 SDK to the v2 SDK. - [Tutorial: Pre-create inquiries for iOS](https://docs.withpersona.com/tutorial-ios-sdk-precreate.md): Pre-create an Inquiry through the API before launching the Persona iOS SDK. - [iOS Licenses](https://docs.withpersona.com/ios-licenses.md): Review open source licenses for dependencies used by the Persona iOS SDK. - [React Native Integration Guide](https://docs.withpersona.com/react-native-sdk-v2-integration-guide.md): React Native Inquiry SDK v2 Integration Guide and Technical Documentation - [React Native Changelog](https://docs.withpersona.com/react-native-sdk-v2-changelog.md): Changes, Fixes, and Features for our React Native SDK. - [Migrate from React Native SDK v1 to v2](https://docs.withpersona.com/migrate-from-react-native-sdk-v1-to-v2.md): Migrate a React Native integration from SDK v1 to v2. - [React Native Licenses](https://docs.withpersona.com/react-native-licenses.md): Review open source licenses for dependencies used by the Persona React Native SDK. - [React Native Legacy Client Side Theming](https://docs.withpersona.com/react-native-sdk-v2-theming.md): Configure legacy client-side themes for the Persona React Native SDK. - [WebView](https://docs.withpersona.com/webview-integration.md): Integrate a Persona flow in a mobile WebView when a native SDK is not suitable. - [Persona Wallet](https://docs.withpersona.com/miniapp-integration.md): Use Persona Wallet to run customizable verification flows on iOS and Android. - [Getting Started](https://docs.withpersona.com/miniapp-quick-start.md): Launch a Persona Wallet flow from a miniapp.withpersona.com link. - [iOS App Clip](https://docs.withpersona.com/ios-appclip.md): Launch a Persona Wallet verification flow through an iOS App Clip. - [Android Instant App](https://docs.withpersona.com/android-instant-app.md): Understand the legacy Android Instant App launch flow and its December 2025 sunset. - [Troubleshooting Inquiries](https://docs.withpersona.com/troubleshooting-inquiries.md): Collect the diagnostics Persona Support needs to troubleshoot Inquiry integration issues. - [Troubleshooting Common Issues](https://docs.withpersona.com/troubleshooting-common-issues.md): Resolve common session, browser, camera, and loading issues in Persona flows. > **Note:** This page contains both a page directory (above) and the landing page content (below). The page directory is generated for agent use and does not appear on the landing page. > For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.withpersona.com/2020-05-18/inquiries/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.withpersona.com/_mcp/server. # Inquiries Overview > Understand how an Inquiry represents one user's interaction with a Persona verification flow. An inquiry is a single instance of a Persona identity verification flow. Each time an end user goes through your verification flow, the details of that interaction are wrapped in an `inquiry` object. In inquiry-based flows, Persona provides the UI for users to enter their information[^1]. You can customize this UI and other aspects of the inquiry, like which verification types to run. At a high level, you set up an inquiry-based verification flow by following these steps: 1. **Configure an inquiry template**: Configure a verification flow by choosing or editing an inquiry template 2. **Pick an integration method**: Choose and implement a way to integrate Persona into your app 3. **Retrieve data**: Fetch completed verification data from Persona to use in your app [^1]: If you want to provide your own identity verification UI, you need to use a Transactions-based integration. To learn more, [contact the customer support engineering team](https://app.withpersona.com/dashboard/contact-us). ## Inquiry templates An inquiry template defines the configuration for a verification flow. The configuration specifies details including which screens to show, how to style the UI, which [verifications types](https://help.withpersona.com/verifications/features/verification-service-types/) to include, and which [verification checks](https://help.withpersona.com/articles/5Tc5tsWfBX03AHRkr2vqv2/) to require. You create inquiries from inquiry templates. In your Persona integration, you can either create an inquiry using the **inquiry template ID**, which refers to the latest published version of the inquiry template; or an **inquiry template version ID**, which points to an unchanging, specific published version of your template. **Learn more:** * [Inquiry templates](/inquiry-templates): See more technical details * [Designing inquiries](https://help.withpersona.com/inquiries/introduction/designing-inquiries/): Learn how to configure inquiry templates * [Solutions](https://help.withpersona.com/solutions/): Explore solutions that include pre-made inquiry templates for common use cases, like KYC and age verification ## Integration methods Once you've created a template, you're ready to integrate inquiries into your app. There are several ways to integrate: | Method | What it is | Best for | | ----------------- | ---------------------------------------------------- | ---------------------------------------- | | **Hosted Flow** | Redirect users to a Persona-hosted page | Fastest setup, no frontend code required | | **Embedded Flow** | Persona UI embedded in your page via iframe or modal | Seamless UX on your site | | **Mobile SDKs** | Native iOS, Android, and React Native libraries | Mobile apps, optimal device signals | See [Choosing your integration method](/choosing-an-integration-method) for details. ### Link inquiries to accounts Regardless of which integration method you choose, you'll want to understand accounts and reference IDs when you integrate Persona. An [account](https://help.withpersona.com/articles/2gE7mjjLCIGJPnK6mTyjU9/) lets you group together all data from a single person or business. For example, if you require your users to verify during your onboarding (inquiry 1), and re-verify a year later (inquiry 2), you can link the two inquiries from the same user to the same account. Accounts help you spot patterns or inconsistencies across inquiries, and prevent users from completing extra, unneeded inquiries. To link multiple inquiries to the same account, use the same **reference ID** for each inquiry. > **Info** > > Persona recommends you provide a reference ID for an inquiry whenever possible. Without a reference ID, every inquiry creates a new, unlinked account. Learn more about [reference IDs](/reference-ids). ### Handle expired inquiries For security reasons, each inquiry (and [session](/inquiry-sessions) of an inquiry) will [expire](/inquiry-expiration) if it has not been completed in a given amount of time. You can [resume](/resuming-inquiries) an expired inquiry for an end user, which lets them try to complete it again. ## Retrieve data After an end user completes an inquiry, you can retrieve the result to use in your app. For example, you might approve or block a user based on the result. ### Inquiry lifecycle An inquiry moves through a series of statuses from creation to conclusion, and emits an event at each transition. Understanding these statuses helps you know when an inquiry contains a result you can use, and which events to listen for. ![inquiry-lifecycle](https://assets.withpersona.com/f_auto,q_auto/developer-docs/images/inquiry-lifecycle.png) Typically, inquiries in the `approved`, `declined`, and `needs_review` statuses contain results for you to use. See [Inquiry Model Lifecycle](/model-lifecycle) for the full status and event reference. ### Dashboard, API, and webhooks There are several ways to get data out of Persona. To pull data from Persona: * You can read inquiry details [in the Persona Dashboard](https://help.withpersona.com/articles/nqBDRxxIjiIvnOwsCpri6/). * You can fetch inquiry details from the [Retrieve an Inquiry](/api-reference/inquiries/retrieve-an-inquiry) API endpoint. To get data pushed to you, use **webhooks**. Persona will send an HTTP request to your webhook endpoint when inquiry events occur, such as `inquiry.declined` or `inquiry.approved`. See [Webhooks](/webhooks) for details. ## Try out an inquiry If you haven't yet experienced a Persona inquiry as an end user, we recommend you to complete a test inquiry to help you understand the product. A quick way to do this is to [add a Persona solution](https://help.withpersona.com/articles/67J7FurQtIgwxkWWvUropu/) (e.g. the [KYC Solution](https://help.withpersona.com/articles/2OOWdhAoEeVrMRKRFENneW/)) to your Persona sandbox, then [create a Hosted Flow link](/quickstart-hosted-flow) using one of the no-code methods.