---
title: "Retrieve Verification Images"
slug: "retrieve-verification-images"
updated: 2025-06-27T20:04:41Z
published: 2025-06-27T20:04:41Z
canonical: "docs.onespan.com/retrieve-verification-images"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onespan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve Verification Images

With the API endpoints described in this article, you can retrieve the identity document images and the selfie images that were captured for a given completed transaction that has passed verification.

Retrieving the verification images involves the following steps:

1. [Get verification ID](/v1/docs/retrieve-verification-images#get-verification-id)
2. [Get URL of verification images](/v1/docs/retrieve-verification-images#get-url-of-verification-images)
3. [Download image binary data](/v1/docs/retrieve-verification-images#download-image-binary-data)

## Get verification ID

Get the verification ID of a transaction based on the transaction ID. The verification ID is then used to obtain the image URLs.

For information about syntax, status codes, and for an example request, see [Get transaction status and metadata](/v1/docs/get-transaction-status-and-metadata).

In the response, the vhub-verification_id property in the verifications array with status="SUCCESS" is the required verification ID. Only images of this verification can be retrieved.

```json
{
  "id": "84f29725-7b57-4baa-a290-3be937f95ce6",
  ...
  "verifications": [
    {
      "id": "document_id_authentication",
      "revision_id": "3dc47509-a2c3-41ff-aa5b-2f1cfa95b321",
      "name": "doc_id",
      ...
      "status": "SUCCESS",
      "timestamp": 1657216749097,
      "vhub_workflow_id": "3e16826f-fb30-4cfb-bc7d-ac96545e0e93",
      "vhub_transaction_id": "4254041b-1228-44c0-8455-627553987636",
      "vhub_verification_id": "3e16826f-fb30-4cfb-bc7d-ac96545e0111",
      "vhub_transaction_status": "COMPLETED",
      ...
  }]
}
```

## Get URL of verification images

Get the URL of the verification images based on the transaction ID and the verification ID.

### Syntax

```http
GET /api/transactions/transaction_id/verifications/verification_id/verification-images
```

- transaction_id is the orchestrator transaction ID.
- verification_id is the vhub_verification_id that was obtained in the previous step (see [Get verification ID](/v1/docs/retrieve-verification-images#get-verification-id)).

### Example response

The SFS URLs in verified_images will be used to download the verification images (see [Download image binary data](/v1/docs/retrieve-verification-images#download-image-binary-data)).

```json
{
  "transaction_id": "EdafBFdc-7cCB-D7b0-8591-c9e6a73Da1a8",
  "verification_id": "4fddd4cD-D547-914C-6EFd-f7f5dcc73D83",
  "verified_images": [
  {
    "image_submitted_document_front": "sfs://my_db/default/onespanidv/transaction/0fcde1ce-7649-
48f1-948c-000324280bar/session/0eb54e2b-67gc-4161-ba08-
630d425201b0/verifications/doc_id/driver-license-front/3.png"
  },
  {
    "image_submitted_document_back": "sfs://my_db/default/onespanidv/transaction/0fcde1ce-7649-
48f1-948c-000324280bar/session/0eb54e2b-67gc-4161-ba08-
630d425201b0/verifications/doc_id/driver-license-back/3.png"
  },
  {
    "image_submitted_selfie1": "sfs://my_db/default/onespanidv/transaction/0fcde1ce-7649-
48f1-948c-000324280bar/session/0eb54e2b-67gc-4161-ba08-
630d425201b0/verifications/doc_id/face_capture/1.png"
  },
  {
"image_submitted_selfie2": "sfs://my_db/default/onespanidv/transaction/0fcde1ce-7649-
48f1-948c-000324280bar/session/0eb54e2b-67gc-4161-ba08-
630d425201b0/verifications/doc_id/face_capture/2.png"
  }
  ]
}
```

### Status codes

<editor360-custom-block data-preprocessing="true" data-sanitizationtags="a"><div data-type="table-content"> <table width="100%" class=" fr-alternate-rows editor360-table" borderstyle="Solid"> <colgroup style="display:none;"> <col style="width:156px;"> <col style="width:166px;"> <col style="width:250px;"> <col style="width:250px;"> </colgroup> <tbody> <tr> <td colspan="4" rowspan="1" colwidth="156,166" style="vertical-align:middle;text-align:left;"> <p data-block-id="768988c4-98b8-430a-b640-9fb246c85b19"><a name="Tab_Status_codes" display="false"></a><strong>Status codes</strong></p> </td> </tr> <tr> <th colspan="1" rowspan="1" colwidth="156" class="TableStyle-Global-HeadE-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="fe24b572-aa33-4fdf-8c98-d590325d11c4">Status code</p> </th> <th colspan="1" rowspan="1" colwidth="166" class="TableStyle-Global-HeadE-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="27825cb4-d113-4f66-b771-19b240c2ea04">Name</p> </th> <th colspan="1" rowspan="1" class="TableStyle-Global-HeadE-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="d3cfbd49-19ef-4f91-b804-922895919fe1">Description</p> </th> <th colspan="1" rowspan="1" class="TableStyle-Global-HeadD-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="10b11d31-8533-4b24-a882-31812c0a7830">Comment</p> </th> </tr> <tr> <td colspan="1" rowspan="1" colwidth="156" style="vertical-align:middle;text-align:left;"> <p data-block-id="615b03c8-5cab-4e42-a08c-740e246c34e9"><span class="vdsCodeBasic" type="spanMark">200</span></p> </td> <td colspan="1" rowspan="1" colwidth="166" style="vertical-align:middle;text-align:left;"> <p data-block-id="faf1ab6e-f8e2-4d69-a055-a7b07fd481c1"><span class="vdsCodeBasic" type="spanMark">OK</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="751bdbc7-ed22-4e1c-93f0-d56a7de64a65">No error.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="bcb307d7-c09a-4e2c-8854-1fd7dfae61fd"> </p> </td> </tr> <tr> <td colspan="1" rowspan="1" colwidth="156" style="vertical-align:middle;text-align:left;"> <p data-block-id="e2cdec68-10e3-4a97-8ede-42953a234981"><span class="vdsCodeBasic" type="spanMark">400</span></p> </td> <td colspan="1" rowspan="1" colwidth="166" style="vertical-align:middle;text-align:left;"> <p data-block-id="c7814e8f-6ab2-4b7d-8728-ac4cea89a159"><span class="vdsCodeBasic" type="spanMark">Bad Request</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="1a398b29-d273-4b80-88f1-cf2d3ef89fa9">The transaction data is invalid.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="a8ca9326-9809-4c87-95df-acd9d3ef185f">Can occur if one of the following applies:</p> <ul data-block-id="c3f00d56-bbac-478f-898b-ed23dafee8ae"> <li data-block-id="5f90a77a-24ef-4017-835b-14d9afb5435c"> <p data-block-id="ee182ad0-3879-4f08-99ec-3e3c941c93b8">The transaction ID is invalid.</p> </li> <li data-block-id="8e4f4f4e-a764-4f12-b090-083fe18e231a"> <p data-block-id="746aa5a6-5b54-4990-a67c-fc32e429c131">The verification ID is invalid.</p> </li> <li data-block-id="796cfbcf-ba2f-4ab1-bd2e-d0378ef4745a"> <p data-block-id="efcf0b94-7566-40a2-b660-4c598061c621">The verification type is not supported.</p> </li> <li data-block-id="6c223195-0dd6-44a4-87ed-9ae07ddee634"> <p data-block-id="f7ac4999-24fb-43ac-947d-ba7600ef58ba">Verification results are ambiguous.</p> </li> </ul> </td> </tr> <tr> <td colspan="1" rowspan="1" colwidth="156" style="vertical-align:middle;text-align:left;"> <p data-block-id="1238d1bd-cbed-42a1-bd3f-1544c50f61da"><span class="vdsCodeBasic" type="spanMark">404</span></p> </td> <td colspan="1" rowspan="1" colwidth="166" style="vertical-align:middle;text-align:left;"> <p data-block-id="10eadbdd-953b-4bfc-b8a5-e4b539155ffb"><span class="vdsCodeBasic" type="spanMark">Not Found</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="7c15ad9d-64aa-49dd-a4f7-cde5090ccf33">The requested resource was not found.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="ecfc9118-5f1e-4724-96d8-da3f0170a455">Can occur if one of the following applies:</p> <ul data-block-id="5db6cde0-54ea-4a74-9f6c-1c94d2a96daa"> <li data-block-id="45556203-b4dd-438a-b4eb-5923d05c132d"> <p data-block-id="53048703-9932-439d-8d18-1ed244607494">The resource was not found, or your token may not grant you sufficient visibility to get that resource.</p> </li> <li data-block-id="bc8422ce-d9fe-45b6-bada-eb25c8e2facd"> <p data-block-id="6f524fe5-e109-4665-853d-babeabcdde6b">The verification process for requested verification has failed. The end point retrieves only images that are associated with a transaction that has passed verification.</p> </li> </ul> </td> </tr> <tr> <td colspan="1" rowspan="1" colwidth="156" style="vertical-align:middle;text-align:left;"> <p data-block-id="263ae129-892d-47c0-942b-7b015a4a9c6e"><span class="vdsCodeBasic" type="spanMark">500</span></p> </td> <td colspan="1" rowspan="1" colwidth="166" style="vertical-align:middle;text-align:left;"> <p data-block-id="9baa96e1-fbc7-4bde-878e-286cdfe20f16"><span class="vdsCodeBasic" type="spanMark">Internal Server Error</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="ffbaa2ed-fc2c-423b-8ddc-dc31a8d2429e">The server encountered an unexpected condition which prevented it from completing the request.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="7aa0e44a-2bc1-4feb-bb0f-5d5d3821c358">Can occur if one of the following applies:</p> <ul data-block-id="2c6c2e4c-5547-4e55-823f-a9eae511c094"> <li data-block-id="3f0f5476-c475-4699-86dc-41892805950f"> <p data-block-id="5eb1ac72-a1fb-4673-b2a1-28f38748025f">An unknown internal server error occurred.</p> </li> <li data-block-id="f71adb21-7c77-4f27-af10-d3856303a048"> <p data-block-id="4c7af773-5fc8-4b7f-9c34-fe31a83b9b26">Verification results are duplicated.</p> </li> </ul> </td> </tr> </tbody> </table></div></editor360-custom-block>

## Download image binary data

Use the URL(s) that you obtained in the previous step (see [Get URL of verification images](/v1/docs/retrieve-verification-images#get-url-of-verification-images)) to download the verification images.

### Syntax

```http
GET /api/transactions/transaction_id/data?url=sfs_url
```

- transaction_id is the orchestrator transaction ID.
- sfs_url is the image URL.

### Example request

```http
/api/transactions/transaction_id/data?url=sfs://my_db/default/onespanidv/transaction/0fcde1ce-7649-48f1-948c-000324280bar/session/0eb54e2b-67gc-4161-ba08-630d425201b0/verifications/doc_id/driver-license-front/3.png
```

### Status codes

<editor360-custom-block data-preprocessing="true" data-sanitizationtags="a"><div data-type="table-content"> <table width="100%" class=" fr-alternate-rows editor360-table" borderstyle="Solid"> <colgroup style="display:none;"> <col style="width:153px;"> <col style="width:250px;"> <col style="width:250px;"> <col style="width:250px;"> </colgroup> <tbody> <tr> <td colspan="4" rowspan="1" colwidth="153" style="vertical-align:middle;text-align:left;"> <p data-block-id="6d011e5d-530a-4f63-a3c1-02e4641ab5ed"><a name="Tab_Status_codes" display="false"></a><strong>Status codes</strong></p> </td> </tr> <tr> <th colspan="1" rowspan="1" colwidth="153" class="TableStyle-Global-HeadE-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="9bc32a6c-2c3b-4f23-bff9-cf12b1bba727">Status code</p> </th> <th colspan="1" rowspan="1" class="TableStyle-Global-HeadE-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="ccb78110-291b-44e3-b40a-5e32c56dbcfd">Name</p> </th> <th colspan="1" rowspan="1" class="TableStyle-Global-HeadE-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="7b719584-5f62-432f-8292-8efbcb88da84">Description</p> </th> <th colspan="1" rowspan="1" class="TableStyle-Global-HeadD-Column-MainHeader" style="vertical-align:middle;text-align:left;"> <p data-block-id="035e454a-88e9-4ef8-b5bc-6651ee7e202a">Comment</p> </th> </tr> <tr> <td colspan="1" rowspan="1" colwidth="153" style="vertical-align:middle;text-align:left;"> <p data-block-id="6b919212-d3c4-4428-b040-3cf8d00fe941"><span class="vdsCodeBasic" type="spanMark">200</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="4d41ba34-99dc-446d-834d-67e6521baa90"><span class="vdsCodeBasic" type="spanMark">OK</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="f6762a1b-970d-4eec-898c-0f9dc87e4bdc">No error.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="3946ecdb-afc3-49a7-a919-c1bed376001b">The expected file is returned.</p> </td> </tr> <tr> <td colspan="1" rowspan="1" colwidth="153" style="vertical-align:middle;text-align:left;"> <p data-block-id="27e14b55-84d1-4cba-9c24-14b47d968a06"><span class="vdsCodeBasic" type="spanMark">400</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="6c8e3765-fa08-4fc8-bbfe-a7a274ee527b"><span class="vdsCodeBasic" type="spanMark">Bad Request</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="75e3f3ee-c08f-4971-8eff-d785d0af19dd">The transaction data is invalid.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="f5f3e5b9-29ed-43a7-80c5-24a9e7603f60">Validation error. Invalid SFS URLs may be caused by backward path traversal characters.</p> </td> </tr> <tr> <td colspan="1" rowspan="1" colwidth="153" style="vertical-align:middle;text-align:left;"> <p data-block-id="a6fbfd0f-e19f-4aba-8f19-0e9855e5e0b2"><span class="vdsCodeBasic" type="spanMark">401</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="90db139f-db14-4bb5-9c51-c6c155dc9977"><span class="vdsCodeBasic" type="spanMark">Unauthorized</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="7cac90d5-f3eb-4d77-a050-4ac751a03e82">Invalid token.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="9a08d441-73db-4ef5-a938-548301b42178"> </p> </td> </tr> <tr> <td colspan="1" rowspan="1" colwidth="153" style="vertical-align:middle;text-align:left;"> <p data-block-id="b04dca6b-7ebf-484c-bc2a-8b88d267e17d"><span class="vdsCodeBasic" type="spanMark">404</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="505febca-a482-486b-a6be-87c949e488d6"><span class="vdsCodeBasic" type="spanMark">Not Found</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="a27f51c0-fbc9-4bb8-b646-d3d51ddd020e">The requested resource was not found.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="0719e66f-1000-4e7f-a33b-f51e7c84d6b6">The file does not exist in the system.</p> </td> </tr> <tr> <td colspan="1" rowspan="1" colwidth="153" style="vertical-align:middle;text-align:left;"> <p data-block-id="7080cdd6-b238-40b1-90bf-58e03c5f397a"><span class="vdsCodeBasic" type="spanMark">500</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="f6334cd6-f8e5-400b-b195-3ca78b17a3c4"><span class="vdsCodeBasic" type="spanMark">Internal Server Error</span></p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="844c32b6-b137-41b2-9f20-9a1cc2511ae0">Server or application error.</p> </td> <td colspan="1" rowspan="1" style="vertical-align:middle;text-align:left;"> <p data-block-id="8e1bbccc-3e23-416e-a855-9d51af94cdd4"> </p> </td> </tr> </tbody> </table></div></editor360-custom-block>
