Services and Workflows Reference
A Jumio workflow is a business process definition that orchestrates calls to one or more Jumio service(s) or risk signal(s). Each service or risk signal is a step in the workflow. Each step is a sub-flow that orchestrates one or more Jumio capabilities. A capability is a modular service that handles a specific task.
Each workflow specifies the credentials that will be evaluated by the steps.
Jumio provides workflows that meet the requirements of many customers. For example, the Standard Services are each available as standalone workflows. You can also work with your Jumio Soulutions Engineer (SE) to define a custom workflow that integrates any of the Risk Signals to meet your requirements.
Jumio provides workflows that meet the requirements of many customers. For example, the Standard Services are each available as standalone workflows. You can also work with your Jumio Soulutions Engineer (SE) to define a custom workflow that integrates any of the Risk Signals to meet your requirements.
See also:
- Integrating Jumio Services for introductory information on how workflows are used in Jumio transactions.
- Identification Document and Identity Verification (IDIV) Workflow for a detailed description of one of Jumio's standard workflows.
- Creating or Updating Accounts for information on how to specify the workflow to use for a transaction associated with an end-user account.
Standard Services
The following table lists some standard Jumio services that can be used as standalone workflows or as steps in other workflows.
| Service | Standalone Workflow Key | Description | Credentials | Capabilities |
|---|---|---|---|---|
| ID & Identity Verification | 10163 | Includes both ID Verification and Identity Verification. Takes a government-issued ID (e.g., passport, driver’s license, or national ID card) and a selfie as credentials. It also requires Uploading Supporting Data. Verifies that the government-issued ID is authentic and valid, the selfie is of a real person, and the person in the selfie is the same person that is pictured on the ID. | ID Selfie Facemap | Usability Extraction Image Checks Data Checks Liveness Similarity |
| ID Verification | 10165 | Verifies that a government-issued photo ID (e.g., passport, driver’s license, or national ID card) is authentic and valid. It also requires Uploading Supporting Data. | ID | Usability Extraction Image Checks Data Checks |
| ID & Identity Verification, plus Watchlist Screening* | 10167 | All the same functionality as ID & Identity Verification (10163) plus watchlist screening. ID & Identity Verification are performed first. If no fraud is detected then the Watchlist Screening capability is called to screen the user against global and regional sanctions and watchlists, to identify PEPs. | ID Selfie Facemap | Usability Extraction Image Checks Data Checks Liveness Similarity Watchlist Screening |
| Authentication | 10014 | Compares a new selfie to an existing face map. For additional information see Authentication Workflow. | Selfie Facemap | Authentication |
| Document Proof* | 10169 | Jumio Document Verification enables your customers to quickly scan and upload documents such as utility bills, credit card statements, bank statements, or Social Security cards, even if the documents are crumpled or creased. It also requires Uploading Supporting Data. Relevant data is extracted from the document and may be used with other services or risk signals. | Document | Usability Extraction Image Checks |
| ID Capture and Storage | 10171 | Extracts and stores data from a government-issued ID. It also requires Uploading Supporting Data. | ID | Usability Extraction |
* Please work with your Jumio Account Manager to ensure you have proper access to this service for this workflow to function as intended.
Identification Document and Identity Verification (IDIV) Workflow
IDIV is a multi-step workflow that:
- Evaluates a government-issued identification document (ID) to verify that it is valid.
- Evaluates a “selfie” to verify that it is of an actual live person.
- Compares the selfie to the picture on the ID to verify that they are the same person.
It is often used for onboarding new users when you are entering into sensitive relationships. By verifying the ID you can determine that the new user is a real, known identity, and that the user is actually the person that the identity describes.
See the following sections for information on:
- Account Creation or Update
All Jumio Platform transactions are initiated by an API call to create a new or update an existing account. The response provides the data required to launch the “customer journey” in your selected integration channels. - IDIV Customer Journey
The Jumio web client and mobile SDKs provide the user interfaces that guide your users through the process of taking the required pictures of their ID and the selfie (the credentials required for the IDIV workflow), which are then uploaded to the account. Jumio refers to this process as the “customer journey.” Once the credentials are uploaded the user is redirected back to your app, and the transaction is executed. - IDIV Steps and Capabilities
The workflow execution is a sequence of executedcalls to Jumio services known as capabilities. The workflow key identifies the workflow that comprises the capabilities that best implement your use case. For IDIV, workflow 10011 calls the capabilities required to evaluate the credentials and compare the selfie to the ID picture. - Handling the IDIV Response
IDIV is an asynchronous transaction that usually takes a few minutes to complete. When it is finished you can view the results in the Jumio Portal or retrieve them with an API call.
Account Creation or Update
All Jumio Platform transactions are associated with an account. The account is nothing more than a unique identifier that is used to associate the transactions and credentials for a unique identity. If you are onboarding a new user and this is the first Jumio transaction executed for the user, then you would create a new account.
Note: While IDIV transactions are often executed as the first transaction associated with an account, there are valid scenarios where you would run IDIV on an existing account. An example of that would be if you performed an email verification and/or address verification on the user prior to the IDIV. Simple verifications are often faster and less expensive than a full IDIV transaction, so it may be worthwhile to perform an initial verification to eliminate known bad actors prior to incurring the expense of the IDIV transaction. In this case you would create the account for the initial verification, and then update the account to run the IDIV transaction if the user appears to be legitimate.
Creating or updating an account is always done with a call to the Accounts REST API. For technical details on calling the API see: Creating or Updating Accounts in the Jumio Integration Guide.
Account Response
The response to the request to create or update an account contains the information you need to proceed with the workflow, including:
- The URL and authorization token for the Jumio Web Client.
- You use this when your end-user is working in a web browser.
- The authorization token (JWT) for initializing the Jumio SDK implementation in the mobile apps you have implemented. Your organization implements the SDKs when your end-users use a mobile app.
- A list of the credentials that will be uploaded during the customer journey. These include:
- The government-issued ID document
- The selfie
- The Facemap (a facemap is created and uploaded as part of the customer journey when your Jumio integration uses either the Web Client or the mobile SDKs. If your integration uses the raw REST APIs, you cannot upload a facemap).
Sample Account Creation Request and Response
Following are sample request and response bodies, in JSON format, for the account creation API call.
Sample Account Creation Request Body
{
"customerInternalReference":"myCompany",
"callbackUrl":"https://portal.mycompany.com/callback",
"workflowDefinition":{
"key": 10011
}
Sample Account Creation Response Body
{
"timestamp": "2022-11-28T23:45:02.536Z",
"account": {
"id": "572ac7b5-9f83-409d-ba8e-f0014e411c7e"
},
"web": {
"href": "https://greenunion.web.amer-1.jumio.ai/web/v4/app?authorizationToken=eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ&locale=en-US"
},
"sdk": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ"
},
"workflowExecution": {
"id": "41f71912-1c6b-4e2f-b340-d6dc10cd69b8",
"credentials": [
{
"id": "fdb1bc31-99a0-4671-8f2a-2bf7ca2faace",
"category": "ID",
"allowedChannels": [
"WEB",
"API",
"SDK"
],
"api": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ",
"parts": {
"front": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/fdb1bc31-99a0-4671-8f2a-2bf7ca2faace/parts/FRONT",
"back": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/fdb1bc31-99a0-4671-8f2a-2bf7ca2faace/parts/BACK"
},
"workflowExecution": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8"
}
},
{
"id": "e25c0737-5753-4812-ab5c-94813e067ec9",
"category": "FACEMAP",
"allowedChannels": [
"WEB",
"SDK"
]
},
{
"id": "bce8a24b-16ba-46a8-994e-fa76e4c4845b",
"category": "SELFIE",
"allowedChannels": [
"WEB",
"API",
"SDK"
],
"api": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ",
"parts": {
"face": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/bce8a24b-16ba-46a8-994e-fa76e4c4845b/parts/FACE"
},
"workflowExecution": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8"
}
}
]
}
}
IDIV Customer Journey
The customer journey is usually managed by the Jumio Web Client and/or mobile SDKs. When you integrate Jumio with your web or mobile applications you redirect your end-users to the UI screens Jumio provides for guiding them through the process of taking pictures of the ID and taking the selfie. The images are automatically uploaded to Jumio and associated with the account.
Optionally you can upload supporting data you have already collected from the end user, such as a phone number, address, or email address. Providing this information enhances fraud detection increases the probability of correctly matching the end user with other data sources.
| ℹ️ If you already have a Jumio customer account and would like to experience the IDIV customer journey, you can use the Jumio Showcase app from your personal device. Log in to the Jumio Portal and go to Settings > Identity Verification > App Showcase for details. See also: App Showcase. |
|---|
Uploading Supporting Data
If you are using a version of the IDIV workflow that supports uploading supporting data you upload it as Prepared Data.
Launching the Web Client
If you are implementing the Jumio Web Client, the URL including the authorization token is available from the Account response body:
Web Client URL from Account Response
"web": {
"href": "https://greenunion.web.amer-1.jumio.ai/web/v4/app?authorizationToken=eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ&locale=en-US"
},
Initializing the SDKs
If you are using a Jumio SDK, the authorization token for initializing the SDK is also available from the Account response body:
"sdk": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ"
},
Uploading ID and Selfie Credentials
It is possible to develop your own implementation of the customer journey. In that case you are responsible for guiding the end user to provide the required ID and Selfie, and then using the URLs and token provided in the Account response body to upload the credentials to Jumio.
Important: If you implement your own customer journey, you cannot upload a Facemap. The reliability of the Liveness capability will be reduced, since it has only the single Selfie credential to work with. In the example below, notice that the JSON object for the FACEMAP credential only supports the WEB and SDK channels, and does not provide an api object.
Credential Upload URLs from the Account Response
"workflowExecution": {
"id": "41f71912-1c6b-4e2f-b340-d6dc10cd69b8",
"credentials": [
{
"id": "fdb1bc31-99a0-4671-8f2a-2bf7ca2faace",
"category": "ID",
"allowedChannels": [
"WEB",
"API",
"SDK"
],
"api": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ",
"parts": {
"front": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/fdb1bc31-99a0-4671-8f2a-2bf7ca2faace/parts/FRONT",
"back": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/fdb1bc31-99a0-4671-8f2a-2bf7ca2faace/parts/BACK"
},
"workflowExecution": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8"
}
},
{
"id": "e25c0737-5753-4812-ab5c-94813e067ec9",
"category": "FACEMAP",
"allowedChannels": [
"WEB",
"SDK"
]
},
{
"id": "bce8a24b-16ba-46a8-994e-fa76e4c4845b",
"category": "SELFIE",
"allowedChannels": [
"WEB",
"API",
"SDK"
],
"api": {
"token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_5XOMQ7CMAwF0LtkxpKdOk7MxsjKDRInYWkBiUogIe5O2huw_v_09T-uvU-rOzoSUYka0XNSd3DZ7FxHHqLPFksA7WkCRq1QcmrQEYkbE1lsG98xU4-k5IFMCnDzHcrECFWqEVoVLWngV2__cLu0PvTj_lyXfIP1vlzB8jz7rduHvHRGDAmIMQB7GSeFK0zGOan2ZiG57w9fvJLI7AAAAA.0NpDK192_6kMSYfxFuqHPFkhdsKQBqieRvSqt3XAGLWRe7Y8u0aJalMa8TLEY8eA0XEw4TqRapVLDraRHUz4kQ",
"parts": {
"face": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8/credentials/bce8a24b-16ba-46a8-994e-fa76e4c4845b/parts/FACE"
},
"workflowExecution": "https://api.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/workflow-executions/41f71912-1c6b-4e2f-b340-d6dc10cd69b8"
}
}
]
}
IDIV Steps and Capabilities
When the customer journey has been completed successfully the workflow is executed on the Jumio servers.
Each capability renders an independent decision about the credentials it evaluates. The overall decision returned by the workflow is based on an evaluation of the capability decisions.
Usability
The usability capability is the first service called by the workflow. It provides a number of checks on each of the images that were uploaded during the customer journey. The checks verify that the images are suitable for further evaluation. A decision is rendered for each image. If the decision is something other than PASSED then a label is provided with a reason for why it did not pass.
For additional information, including descriptions of the decision labels, see: Usability.
Extraction
The extraction capability extracts the relevant data values from the government-issued ID. These values are then used by the data checks capability. Exactly what values are extracted depends on the country and type of ID.
For additional information, including descriptions of the decision labels, see: Extraction.
Image Checks
The image checks capability evaluates the government-issued ID to ensure that it is valid and authentic.
For additional information, including descriptions of the decision labels, see: Image Checks.
Data Checks
The data checks capability runs a number of fraud checks against the extracted data, selfie, and facemap.
For additional information, including descriptions of the decision labels, see: Data Checks.
Similarity
The similarity capability compares the image in the selfie to the picture on the government-issued ID.
For additional information, including descriptions of the decision labels, see: Similarity.
Liveness
If a Facemap is uploaded during the customer journey (Web Client and mobile SDK integrations only) the Facemap is evaluated to ensure that the subject is a live person.
For additional information, including descriptions of the decision labels, see: Liveness.
Handling the IDIV Response
The workflow transaction generates data that you can access and use to determine subsequent actions to take regarding the account. The data can be viewed manually in the Jumio Portal, or obtained by Calling Retrieval APIs. The data includes:
- Metadata about the transaction, including:
- Transaction ID
The unique identifier for the transaction. - Account ID
The unique identifier for the end user account. - Initiated
The UTC timestamp when the end user started the customer journey. - Started
The UTC timestamp when the workflow execution started, following the call to finalize after all credentials were uploaded. - Completed
The UTC timestamp when the transaction was completed, the decision was available, and the documents saved. - Token Expiry
The UTC timestamp when the authorization token for uploading credentials expired.
- Transaction ID
- The overall workflow decision and risk score.
- Results from each capability, including the capability decision, labels describing why the decision was made, and the credentials that were evaluated.
- URLs for downloading the credentials that were evaluated.
The information is also available from the retrieval API response, as shown in the following example:
Retrieval API Response
{
"workflow": {
"id": "41f71912-1c6b-4e2f-b340-d6dc10cd69b8",
"status": "PROCESSED",
"definitionKey": "10164",
"userReference": "MyUser",
"customerInternalReference": "MyCompany"
},
"account": {
"id": "572ac7b5-9f83-409d-ba8e-f0014e411c7e"
},
"createdAt": "2022-11-28T23:45:02.528Z",
"startedAt": "2022-11-28T23:50:37.221Z",
"completedAt": "2022-11-28T23:50:55.232Z",
"credentials": [
{
"id": "bce8a24b-16ba-46a8-994e-fa76e4c4845b",
"category": "SELFIE",
"parts": [
{
"classifier": "FACE",
"href": "https://retrieval.amer-1.jumio.ai/api/v1/accounts/572ac7b5-9f83-409d-ba8e-f0014e411c7e/credentials/bce8a24b-16ba-46a8-994e-fa76e4c4845b/parts/FACE"
}
]
},
{
"id": "e25c0737-5753-4812-ab5c-94813e067ec9",
"category": "FACEMAP",
"parts": [
{