Media resources

To view all submitted user information related to a session, you will need to use the resources container to find the media id's linked to the user information.

Document resources

The ID documents container includes all the ID document resources which includes ID document images and extracted document data. The documents fields media ID contains the data extracted from the document, and the page media id's will contain the image of the ID document.

idvClient
.getSession(sessionId)
.then((session) => {
// Returns all resources in the session
const resources = session.getResources();

// Returns a collection of ID Documents
const idDocuments = resources.getIdDocuments();

idDocuments.map((idDocument) => {
// Gets the UUID of the document resource
const id = idDocument.getId();

// Returns the ID Document Type
const documentType = idDocument.getDocumentType();

// Returns the ID Document country
const issuingCountry = idDocument.getIssuingCountry();

// Returns pages of an ID Document
const pages = idDocument.getPages();
// Get pages media ids
const pageMediaIds = pages.map((page) => {
GetSessionResult sessionResult = docScanClient.getSession(sessionId);

// Returns all resources in the session
ResourceContainer resources = sessionResult.getResources();

// Returns a collection of ID Documents
List<? extends IdDocumentResourceResponse> idDocuments = resources.getIdDocuments();

for (IdDocumentResourceResponse idDocument: idDocuments) {

// Gets the UUID of the document resource
String id = idDocument.getId();

// Returns the ID Document Type
String documentType = idDocument.getDocumentType();

// Returns the ID Document country
String issuingCountry = idDocument.getIssuingCountry();

// Returns the pages of an ID Document
List<? extends PageResponse> pages = idDocument.getPages();
// Get the page media ids
<?php
$sessionResult = $docScanClient->getSession($sessionId);

// Returns all resources in the session
$resources = $sessionResult->getResources();

// Returns a collection of ID Documents
$idDocuments = $resources->getIdDocuments();

foreach ($idDocuments as $idDocument) {
// Gets the UUID of the document resource
$id = $idDocument->getId();

// Returns the ID Document Type
$documentType = $idDocument->getDocumentType();

// Returns the ID Document country
$issuingCountry = $idDocument->getIssuingCountry();

// Returns the pages of an ID Document
$pages = $idDocument->getPages();
// Get pages media ids
$pageMediaIds = [];
foreach ($pages as $page) {
if ($page->getMedia() && $page->getMedia()->getId()) {
session_result = doc_scan_client.get_session(session_id)

# Returns all resources in the session
resources = session_result.resources

# Returns a collection of ID Documents
id_documents = resources.id_documents

for id_document in id_documents:
# Gets the UUID of the document resource
id = id_document.id

# Returns the ID Document Type
document_type = id_document.document_type

# Returns the ID Document country
issuing_country = id_document.issuing_country

# Returns the pages of an ID Document
pages = id_document.pages
# Get pages media ids
page_media_ids = []
for page in pages:
if page.media and page.media.id:
page_media_ids.append(page.media.id)
GetSessionResult sessionResult = docScanClient.GetSession(sessionId);

// Returns all resources in the session
ResourceContainer resources = sessionResult.Resources;

// Returns a collection of ID Documents
List<IdDocumentResourceResponse> idDocuments = resources.IdDocuments;

foreach (IdDocumentResourceResponse idDocument in idDocuments)
{
// Gets the UUID of the document resource
string id = idDocument.Id;

// Returns the ID Document Type
string documentType = idDocument.DocumentType;

// Returns the ID Document country
string issuingCountry = idDocument.IssuingCountry;

// Returns the pages of an ID Document
List<PageResponse> pages = idDocument.Pages;
// Get the page media ids
ArrayList pageMediaIds = new ArrayList();
// COMING SOON
{…}

Liveness resources

The liveness container also includes all the liveness and face capture resources.

Passive Liveness

const livenessCapture = resources.getLivenessCapture();

// Returns Passive (Static) liveness resources
const staticLivenessResources = resources.getStaticLivenessResources();

staticLivenessResources.forEach((liveness) => {
// Get the liveness id
const livenessId = liveness.getId();
// Get the liveness image media
const livenessMedia = liveness.getImage();

// Get the liveness media id
const livenessMediaId = livenessMedia.getId();
});
// Returns Passive (Static) liveness resources
List<? extends StaticLivenessResourceResponse> staticLivenessResources = resources.getLivenessCapture();

for (StaticLivenessResourceResponse liveness : staticLivenessResources) {
// Get the liveness id
String livenessId = liveness.getId();
// Get the liveness image media
MediaResponse livenessMedia = liveness.getImage().getMedia();

// Get the liveness media id
const livenessMediaId = livenessMedia.getId();
}
// Returns Passive (Static) liveness resources
$staticLivenessResources = $resources->getStaticLivenessResources();

foreach ($staticLivenessResources as $liveness) {
// Get the liveness id
$livenessId = $liveness->getId();
// Get the liveness image media
$livenessMedia = $liveness.getImage();

// Get the liveness media id
$livenessMediaId = $livenessMedia.getId();
});
// Coming Soon
// Returns Passive (Static) liveness resources
List<StaticLivenessResourceResponse> staticLivenessResources = resources.StaticLivenessResourceResponse;

foreach (StaticLivenessResourceResponse liveness in staticLivenessResources)
{
// Get the liveness id
String livenessId = liveness.Id;

// Get the liveness image media
MediaResponse livenessMedia = liveness.image.Media;

// Get the liveness media id
String livenessMediaId = livenessMedia.Id;
}
// Returns Passive (Static) liveness resources
staticLivenessResources = resources.staticLivenessResources

for _, liveness := range staticLivenessResources {
// Get the liveness id
livenessId := liveness.ID

// Get the liveness image media
livenessMedia := livenessImage.Image.Media

// Get the liveness media id
livenessMediaId := livenessMedia.ID
}
{
"liveness_capture": [
{
"id": "6509ef13-fedd-47c7-b4f1-8b6748f95745",
"tasks": [],
"source": {
"type": "END_USER"
},
"created_at": "2026-08-04T15:37:35Z",
"last_updated": "2026-08-04T15:37:46Z",
"image": {
"media": {
"id": "a34ced38-6dc7-4728-b0aa-4f1c3aab2e85",
"type": "IMAGE",
"created": "2026-08-04T15:37:46Z",
"last_updated": "2026-08-04T15:37:46Z"
}
},
"capture_type": "MULTI_FRAME",
"liveness_type": "STATIC"
}
]
}

Active Liveness

const livenessCapture = resources.getLivenessCapture();

// Returns Active (Zoom) liveness resources
const zoomLivenessResources = resources.getZoomLivenessResources();

zoomLivenessResources.forEach((liveness) => {
// Get the liveness id
const livenessId = liveness.getId();
// Get the liveness facemap
const facemap = liveness.getFaceMap();

// Get the liveness frames
const frames = liveness.getFrames();
frames.forEach((frame) => {
// Get the frame media
const frameMedia = frame.getMedia();

// Get the frame media id
const frameMediaId = frameMedia.getId();
});
});
// Returns Active (Zoom) liveness resources
List<? extends ZoomLivenessResourceResponse> zoomLivenessResources = resources.getZoomLivenessResources();

for (ZoomLivenessResourceResponse liveness : zoomLivenessResources) {
// Get the liveness id
String livenessId = liveness.getId();
// Get the liveness facemap
FaceMapResponse facemap = liveness.getFaceMap();
// Get the liveness frames
List<? extends FrameResponse> frames = liveness.getFrames();
for (FrameResponse frame : frames) {
// Get the frame media
MediaResponse frameMedia = frame.getMedia();

// Get the frame media id
String frameMediaId = frameMedia.getId();
}
}
// Returns Active (Zoom) liveness resources
$zoomLivenessResources = $resources->getZoomLivenessResources();

foreach ($zoomLivenessResources as $liveness) {
// Get the liveness id
$livenessId = $liveness->getId();
// Get the liveness facemap
$facemap = liveness.getFaceMap();

// Get the liveness frames
$frames = liveness.getFrames();
foreach ($frames as $frame) {
// Get the frame media
$frameMedia = $frame->getMedia();

// Get the frame media id
$frameMediaId = $frameMedia->getId();
});
});
# Returns Active (Zoom) liveness resources
zoom_liveness_resources = resources.zoom_liveness_resources

for liveness in zoom_liveness_resources:
# Get the liveness id
liveness_id = liveness.id

# Get the liveness facemap
facemap = liveness.facemap
# Get the liveness frames
frames = liveness.frames
for frame in frames:
# Get the frame media
frame_media = frame.media

# Get the frame media id
frame_media_id = frame_media.id
// Returns Active (Zoom) liveness resources
List<ZoomLivenessResourceResponse> zoomLivenessResources = resources.ZoomLivenessResources;

foreach (ZoomLivenessResourceResponse liveness in zoomLivenessResources)
{
// Get the liveness id
string livenessId = liveness.Id;

// Get the liveness facemap
FaceMapResponse facemap = liveness.FaceMap;
// Get the liveness frames
List<FrameResponse> frames = liveness.Frames;
foreach (ZoomLivenessResourceResponse liveness in zoomLivenessResources)
{
// Get the frame media
MediaResponse frameMedia = frame.Media;

// Get the frame media id
String frameMediaId = frameMedia.Id;
}
}
// Returns Active (Zoom) liveness resources
zoomLivenessResources = resources.zoomLivenessResources

for _, liveness := range zoomLivenessResources {
// Get the liveness id
livenessId := liveness.ID

// Get the liveness facemap
facemap := liveness.FaceMap

// Get the liveness frames
frames := liveness.Frames

for _, frame := range frames {
// Get the frame media
frameMedia := frame.Media

// Get the frame media id
frameMediaId := frameMedia.ID
}
}
{
"liveness_capture": [
{
"id": "035528b5-4a17-419d-813b-6c5747a49246",
"tasks": [],
"source": {
"type": "END_USER"
},
"created_at": "2026-08-04T15:34:34Z",
"last_updated": "2026-08-04T15:34:53Z",
"frames": [
{
"media": {
"id": "4ba2bc32-23bd-4fa0-aa5a-d56da9050fcb",
"type": "IMAGE",
"created": "2026-08-04T15:34:53Z",
"last_updated": "2026-08-04T15:34:53Z"
}
},
{
"media": {
"id": "45689603-2480-4739-9a94-595fb0461e6a",

Supplementary document resources

The supplementary documents container includes all the supplementary document resources which includes the supplementary document image/file and the extracted data.

idvClient
.getSession(sessionId)
.then((session) => {
// Returns all resources in the session
const resources = session.getResources();

// Returns a collection of Supplementary Documents
const supplementaryDocuments = resources.getSupplementaryDocuments();

supplementaryDocuments.map((supplementaryDocument) => {
// Gets the UUID of the document resource
const supplementaryID = supplementaryDocument.getId();

// Returns the supplementary Document Type
const suppDocumentType = supplementaryDocument.getDocumentType();

// Returns the supplementary Document country
const suppIssuingCountry = supplementaryDocument.getIssuingCountry();

// If a file was uploaded
// Click to edit code
// Click to edit code
// Click to edit code
// Click to edit code
// COMING SOON
{
"supplementary_documents": [
{
"id": "7fa05ac7-a96e-473c-aca8-f03d611f4b0e",
"tasks": [
{
"type": "SUPPLEMENTARY_DOCUMENT_TEXT_DATA_EXTRACTION",
"id": "e663a7be-a078-4cbd-bb2c-709f985d69df",
"state": "DONE",
"created": "2026-07-31T09:05:15Z",
"last_updated": "2026-07-31T09:05:54Z",
"generated_media": [
{
"id": "d00db177-89e1-46d4-8424-b8bde28241e7",
"type": "JSON"
}
],
"recommendation": {
"value": "PROGRESS"
},
"generated_checks": []
}
],
"source": {
"type": "END_USER"

Fetching media

Once the media IDs have been successfully retrieved, they can be utilised to fetch the corresponding data. There are two primary data types available for retrieval, an image or JSON data.

Images

idvClient.getMediaContent(sessionId, pageMediaId).then(media => {
const buffer = media.getContent();
const base64Content = media.getBase64Content();
const mimeType = media.getMimeType();
// handle base64content or buffer
}).catch(error => {
console.log(error)
// handle error
})
Media media = docScanClient.getMediaContent(sessionId, pageMediaId);
<?php
$media = $docScanClient->getMediaContent($sessionId, $pageMediaId);
$base64Content = $media->getBase64Content();
$contentType = $media->getMimeType();
media = doc_scan_client.get_media_content(session_id, pageMediaId)
base64_content = media.base64_content
content_type = media.mime_type
MediaValue media = docScanClient.GetMediaContent(sessionId, pageMediaId);
media, err := client.GetMediaContent(sessionId, pageMediaId)
if err != nil {
panic(err)
}

mimeType := media.MIME()
content := media.Data()
base64URL := media.Base64URL()

JSON

idvClient.getMediaContent(sessionId, documentFieldsMediaId).then(media => {
const buffer = media.getContent();
const jsonData = JSON.parse(buffer);
// handle jsonData here
}).catch(error => {
// handle error
})
Media media = docScanClient.getMediaContent(sessionId, documentFieldsMediaId);
<?php
$media = $docScanClient->getMediaContent($sessionId, $documentFieldsMediaId);
$data = json_decode($media->getContent());
media = doc_scan_client.get_media_content(session_id, documentFieldsMediaId)
data = json.loads(media.content)
MediaValue media = docScanClient.GetMediaContent(sessionId, documentFieldsMediaId);
media, err := client.GetMediaContent(sessionId, pageMediaId)
if err != nil {
panic(err)
}