---
title: Truuth API Integration on Truto
slug: truuth
category: Background Verification
canonical: "https://truto.one/integrations/detail/truuth/"
---

# Truuth API Integration on Truto



**Category:** Background Verification  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 59 tools for Truuth that AI agents can call directly.

- **create_a_truuth_verification** — Create a verification invite in truuth, initiating the KYC identity verification journey for a customer. Returns: verificationId, inviteUrl, inviteQRCode.
- **get_single_truuth_verification_by_id** — Get full verification details from truuth by id. Returns: verificationId, status, tenantAlias, externalRefId, batchRefId, batchRefDescription, shortDeepLink, faceImage, createdAt, updatedAt, completedAt, metadata, identityOwner, inviteeDetails, agentDetails, results. Required: id.
- **create_a_truuth_verification_invite** — Send a verification invite in truuth by dispatching an invitation email containing a KYC URL to a customer to start their identity verification process. Returns: verificationId. No required body fields — all properties are optional.
- **list_all_truuth_verification_business_report** — Get the business report for a truuth verification by returning a pre-signed URL to download the report in base64 format. Returns: content. Required: verification_id.
- **list_all_truuth_verification_document_image** — Download a truuth verification document image in base64 format. Returns: image. Required: verification_id, document_id.
- **list_all_truuth_verification_face_image** — Download the face image for a truuth verification in base64 format. The face image URL is provided as part of the callback result. Returns: image. Required: verification_id.
- **list_all_truuth_verification_fraud_check_report** — Get the fraud check report pre-signed URL for a truuth verification. Returns: content. Required: verification_id.
- **list_all_truuth_verification_sanctions_pep_report** — Get the Sanctions and PEP report pre-signed URL for a truuth verification. Returns the pre-signed URL (content) that can be used to download the report in base64 format; the URL is valid for 15 minutes. Required: verification_id.
- **list_all_truuth_verification_report** — Get the pre-signed URL for a truuth identity verification report. Use the returned URL to download the Verification Report PDF in base64 format. Returns: content. Required: verification_id.
- **list_all_truuth_verification_event** — List all events for a truuth verification without a cursor. Returns: cursor, nextAction, verificationEvents. Required: tenant_alias, verification_id.
- **create_a_truuth_document_classify** — Classify a submitted ID document in truuth by providing one or more page images (base64-encoded or via URL). Returns: confidence, countryCode, documentType, timestamp, traceId. Required: images. Maximum 2 images per request.
- **create_a_truuth_document_textract** — Extract OCR data from a submitted ID document in truuth by providing one or more document images. Returns: confidence, countryCode, documentType, pageCount, textract, timestamp, traceId. Required: images. Maximum 2 images per request; document will be auto-classified if countryCode and documentType are omitted.
- **create_a_truuth_document_authenticity** — Verify the authenticity of a submitted ID document in truuth. Returns: authenticityChecks, authenticityScore, countryCode, documentType, timestamp, traceId. Required: images (array of up to 2 document-page images, each supplied as a base64-encoded image + mimeType pair or a URL).
- **create_a_truuth_email_analyze** — Analyze an email address for fraud risk in truuth. Returns emailValidation (status, domainType, statusCode), emailActivity (dateFirstSeen, popularity, velocity), domainActivity (dateFirstSeen, popularity, velocity), and risk (score, queryId, tumblingRisk, domain risk score, and ip details including proxyType, routingType, and hostingFacility).
- **create_a_truuth_face_match** — Verify in truuth whether the face on a photo ID document matches the face on a selfie image. Returns: liveness, similarity, status, timestamp, transactionId. Required: photoId, face.
- **create_a_truuth_face_liveness** — Perform a face match in truuth by verifying whether the face on a photo ID document matches the face in a selfie, with optional liveness detection. Returns: liveness, similarity, status, timestamp, transactionId. Required: photoId, face.
- **create_a_truuth_internet_image_search** — Search the internet in truuth for images matching one or more submitted images. Returns: matches. Required: images (at least one image must be provided; maximum 2 images allowed per request).
- **create_a_truuth_document_fraud_check** — Submit a document to the truuth Document Fraud Checks Service for fraud analysis. Returns: documentVerifyId, batchRefId, status. Required: tenant_alias, document.
- **get_single_truuth_document_fraud_check_by_id** — Get the result of a fraud check for a previously submitted document in truuth. Returns: documentVerifyId, batchRefId, status, checkResults, outcomes. Required: tenant_alias, id.
- **create_a_truuth_image_overlay** — Generate image overlays comparing two submitted documents in Truuth's Document Fraud Checks Service. Returns: negative, delta. Supply original and matched documents using either a base64 content string with mimeType, or a publicly accessible url; set options.returnUrl to receive image URLs in the response instead of base64.
- **create_a_truuth_image_overlay_upload** — Get a presigned upload URL for oversized documents or images in truuth. Returns: fileIdentifier, uploadUrl, documentId. Optionally supply documentId to associate the upload with a known document identifier.
- **delete_a_truuth_image_overlay_file_by_id** — Delete an uploaded image file in truuth's Image Overlay Service by its file identifier. Returns an empty 204 response on success. Required:id.
- **create_a_truuth_repeat_image_instance** — Provision a new Repeat Images instance in Truuth. Returns the provisioned instance object including instanceId, tenantAlias, name, description, instanceType, and settings.
- **list_all_truuth_repeat_image_instance** — List Repeat Images instances in Truuth. Returns instance records including instanceId, tenantAlias, name, instanceType, and settings.
- **delete_a_truuth_repeat_image_instance_by_id** — Delete a Repeat Images instance by id in Truuth. Returns: message. Required: id.
- **create_a_truuth_repeat_image_index** — Index an image into a truuth Repeat Image Service instance, adding it to the instance's historic database. Returns: imageId, instanceId, embedding, externalAttributes, timestamp, traceId. Required: instance_id.
- **create_a_truuth_repeat_image_match** — Submit a repeat image matching request in truuth to check a submitted image against the indexed historical dataset for a given instance. Returns: status, transactionId. Required: instance_id.
- **get_single_truuth_repeat_image_match_by_id** — Get the repeat image matching results for a transaction in truuth. Returns: status, count, limit, page, pageCount, matchedImages, matchData, indexedData. Required: id.
- **list_all_truuth_repeat_image_transaction** — List repeat image transactions in truuth. Returns: transactions, count, limit, page, pageCount, transactionId, status, result, matchCount, topMatchScore, updatedAt, agentDetails, externalAttributes. Supports optional filtering by status, result, agentId, batchrefid, date ranges, similarity score ranges, and a free-text search term.
- **list_all_truuth_repeat_image_match_delta_image** — Get the delta image generated between a submitted and matched image for a repeat-image transaction in truuth. Returns: image, mimeType, url. Required: transaction_id.
- **list_all_truuth_repeat_image_match_image** — List matched images for a repeat image transaction in truuth. Returns image records including image (base64-encoded photo data), mimeType, and url for each matched image associated with the given transaction. Required: transaction_id.
- **list_all_truuth_repeat_image_match_negative_image** — Get the negative image generated between a submitted and matched image for a repeat-image transaction in truuth. Returns: image, mimeType, url. Required: transaction_id.
- **list_all_truuth_repeat_image_submitted_image** — Get the submitted image for a repeat image match transaction in truuth. Returns: image, mimeType, url. Required: transaction_id.
- **delete_a_truuth_repeat_image_data_id_by_id** — Delete a specific image by ID from a truuth Repeat Images instance. Returns the deletion result including deleteCount, instanceId, externalReferenceId, and deletedImage (with its imageId). Required: instance_id, id.
- **delete_a_truuth_repeat_image_datum_by_id** — Delete images from a truuth Repeat Image Service instance, optionally filtered by external reference ID. Returns: deletedCount, deletedImages, externalReferenceId, instanceId. Required: instance_id.
- **create_a_truuth_repeat_text_instance** — Provision a new Repeat Text Instance in truuth. Returns: instanceId, tenantAlias, name, description, settings, instanceType. Required: settings (including maxSimilarityThreshold and minSimilarityThreshold).
- **list_all_truuth_repeat_text_instance** — List Repeat Text Instances in truuth. Returns: instanceId, tenantAlias, name, description, settings, instanceType.
- **delete_a_truuth_repeat_text_instance_by_id** — Delete a Repeat Text Instance in truuth by id. Returns: message. Required: id.
- **create_a_truuth_repeat_text_index** — Index documents (add data) to a Repeat Text instance in truuth. Returns the indexed record including instanceId, documentId, textId, segmentNumber, tenantAlias, createdAt, traceId, and timestamp. Required: instance_id.
- **create_a_truuth_repeat_text_match** — Submit a repeat text matching request in truuth for a specified instance. Returns: status, transactionId. Required: instance_id, image.
- **get_single_truuth_repeat_text_match_by_id** — Get the repeat text matching result for a transaction in truuth by id. Returns: status, transactionId, matchedDocuments, indexedData, count, limit, page, pageCount. Required: id.
- **list_all_truuth_repeat_text_transaction** — List Repeat Text Match transactions in truuth. Returns: transactionId, status, result, matchCount, topMatchScore, updatedAt, externalAttributes, agentDetails. Supports filtering by status, result, batchrefid, agentId, date ranges, and similarity scores.
- **list_all_truuth_repeat_text_match_delta_image** — Get the delta image generated between a submitted and matched repeat text image in truuth. Returns: url. Required: transaction_id.
- **list_all_truuth_repeat_text_match_image** — List matched images for a repeat text transaction in truuth. Returns the matched image reference including the url field, which is an external URL (e.g. a presigned URL) supporting GET operations to retrieve the image. Required: transaction_id.
- **list_all_truuth_repeat_text_match_negative_image** — Get the negative overlay image comparing a submitted text document against its matched record for a repeat text transaction in truuth. Returns a presigned or externally accessible URL (url) pointing to the negative image, which can be fetched via a standard HTTP GET. Required: transaction_id.
- **list_all_truuth_repeat_text_submitted_image** — Get the submitted image for a repeat text match in truuth. Returns a presigned or permissioned external URL that supports a GET operation to retrieve the image. Required: transaction_id.
- **delete_a_truuth_repeat_text_data_id_by_id** — Delete a repeat text document by id from a truuth instance. Returns: instanceId, externalReferenceId, deleteCount, deletedDocument. Required: instance_id, id.
- **delete_a_truuth_repeat_text_datum_by_id** — Delete documents from a truuth repeat text instance, optionally filtered by external reference ID. Returns: instanceId, externalReferenceId, deletedCount, deletedDocuments. Required: instance_id.
- **create_a_truuth_repeat_user_instance** — Provision a new Repeat User instance in truuth. Returns the provisioned instance object including instanceId, instanceType, name, description, tenantAlias, idDocument match rules, and identityOwner match rules.
- **list_all_truuth_repeat_user_instance** — List Repeat User instances in truuth. Returns instance records including instanceId, instanceType, name, description, tenantAlias, idDocument match rules, and identityOwner match rules.
- **delete_a_truuth_repeat_user_instance_by_id** — Delete a Repeat User instance in truuth by id. Returns a confirmation message. Required: id.
- **create_a_truuth_repeat_user_index** — Index records into a truuth Repeat Users instance by submitting identity owner and/or ID document data. Returns: recordId, instanceId, externalAttributes, idDocument, identityOwner, timestamp, traceId. Required: instance_id.
- **create_a_truuth_repeat_user_match** — Submit a Repeat User Matching request in truuth against a specific instance to check whether a user already exists in the system. Returns: status, transactionId. Required: instance_id.
- **get_single_truuth_repeat_user_match_by_id** — Get the Repeat User Matching result for a previously submitted transaction in truuth. Returns: status, count, page, pageCount, limit, matchedRecords, indexedData, matchData. Required: id.
- **delete_a_truuth_repeat_user_data_id_by_id** — Delete a repeat user data record by id in truuth. Returns: deleteCount, deletedRecord, externalReferenceId, instanceId. Required: instance_id, id.
- **delete_a_truuth_repeat_user_datum_by_id** — Delete repeat user data records from a truuth instance, optionally filtered by external reference ID. Returns: deleteCount, deletedRecords, externalReferenceId, instanceId. Required: instance_id.
- **create_a_truuth_repeat_user_fraud_check** — Submit a fraud check request in truuth by providing identity document and owner data for analysis. Returns: status, transactionId.
- **get_single_truuth_repeat_user_fraud_check_by_id** — Get the result of a previously submitted fraud check in truuth by transaction id. Returns: outcome, message, count, page, limit, pageCount, anomalousRecords, indexedData, matchData. Required: id.
- **list_all_truuth_verification_events_using_cursor** — Get the latest truuth verification events after a specific cursor position. Returns: cursor, nextAction, verificationEvents. Required: tenant_alias, verification_id, cursor.

## How it works

1. **Link your customer's Truuth account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Truuth.** The Proxy API is a 1-to-1 mapping of the Truuth API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed KYC/AML verification into onboarding flows** — SaaS platforms in FinTech, lending, or global HR can offer their customers a native identity verification step during user or contractor onboarding, without building KYC infrastructure from scratch. Truto handles auth and API quirks so you can dispatch verification invites and pull back Sanctions/PEP reports directly into your product.
- **Ship a headless, white-labeled identity check** — Product teams that want to keep users inside their own UI can capture documents and selfies natively, then run them through Truuth's document authenticity, textract, and face liveness APIs. This lets your customers offer a branded verification experience without redirecting users to a third-party page.
- **Detect repeat fraudsters across your customer base** — Marketplaces, gig platforms, and Trust & Safety tools can offer their customers a fraud syndicate detection module powered by Truuth's Repeat Instances. Every onboarding image, text field, or user record gets indexed so banned or duplicate identities are flagged the moment they try to sign up again.
- **Surface document tampering evidence to risk teams** — Compliance and fraud tooling vendors can embed Truuth's image overlay and delta imaging directly in their dashboards, giving investigators visual proof of where a document was altered. This turns your product into an evidence-backed decisioning system rather than a black-box score.
- **Add email and internet-based fraud signals to risk scoring** — Lending, crypto, and neobank platforms can enrich their internal risk models with Truuth's email analysis (tumbling risk, domain velocity, IP routing) and internet image search to detect ID templates pulled from the web. This gives your customers pre-decision fraud signals without building their own data pipelines.

## What you can build

- **Hosted verification invites with event polling** — Trigger a Truuth verification invite from your app and stream progress into your UI by polling the verification events endpoint with cursor pagination until completion.
- **Auto-fill forms from ID documents** — Run uploaded driver's licenses or passports through document textract to instantly populate application fields like name, DOB, and document number in your onboarding flow.
- **Face liveness + face match selfie check** — Combine face liveness and face match calls to confirm the user is a real, live person and matches the photo on their submitted ID, all inside your native mobile or web experience.
- **Repeat fraudster detection database** — Provision per-customer Repeat Image, Text, and User instances, index every new signup, and run match calls to flag serial fraudsters and previously banned users at account creation.
- **Document tampering evidence viewer** — Use image overlay uploads to compare submitted IDs against authentic templates and render the returned delta and negative images inside your fraud investigation UI.
- **Downloadable compliance report vault** — Pull Sanctions/PEP, fraud check, and full verification reports for each user and store the pre-signed PDF URLs against their profile for audit-ready evidence.

## FAQs

### What integration patterns does Truuth support through Truto?

Three main patterns: a hosted flow using verification invites plus event polling, a headless flow that calls document, face, and email endpoints directly from your app, and a fraud-syndicate pattern built on Repeat Image, Text, and User instances for indexing and matching.

### How do we track the status of an in-progress verification?

After creating a verification or invite, poll the verification events endpoint. Truto exposes a cursor-based listing so you can efficiently stream new events until the verification is marked complete, then fetch the associated reports and images.

### How are compliance reports like Sanctions/PEP delivered?

Report endpoints return pre-signed URLs (short-lived, typically 15 minutes) pointing to the underlying PDF or image artifact. Your integration should either proxy or re-download and store these against the user record if you need long-term audit retention.

### Can we run individual checks without triggering a full verification?

Yes. Truuth exposes standalone endpoints for document classification, textract, authenticity, face match, face liveness, email analysis, internet image search, and document fraud checks, so you can compose only the checks you need for a given workflow.

### How does the Repeat Instances feature work for catching duplicate users?

You first create a Repeat Image, Text, or User instance (a scoped database), then call the corresponding index endpoint for every new signup. On subsequent onboardings you call the match endpoint, which returns any historical hits along with delta, negative, and submitted images for investigation.

### Can end users disconnect or delete their indexed data?

Yes. Truuth exposes delete endpoints for repeat image, text, and user data IDs, as well as for entire repeat instances and uploaded overlay files, so you can honor deletion requests and support data retention policies for your customers.
