Skip to content

Compliance

ComplyCube
API integration

Ship Compliance features without building the integration. Full ComplyCube API access via Proxy and 60+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
ComplyCube

Use Cases

Why integrate with ComplyCube

Common scenarios for SaaS companies building ComplyCube integrations for their customers.

01

Embed KYC into contractor onboarding

Global HR and payroll platforms can verify international contractors before enabling payouts, triggering ComplyCube flow sessions from within their own onboarding UI and auto-updating contractor status via webhooks.

02

Automate KYB for B2B marketplaces

Vendor management and procurement platforms can look up company registry data, extract officers and owners, and run AML checks on directors without manual document collection.

03

Power white-labeled identity verification for BaaS

Banking-as-a-Service providers can offer native KYC to their fintech customers by generating short-lived SDK tokens per client and orchestrating checks server-side before provisioning cards or accounts.

04

Continuous AML monitoring for fintech users

Crypto exchanges and neobanks can enable ongoing screening on existing users so they're proactively alerted when a previously-clean customer appears on a sanctions or PEP list.

05

GDPR-compliant PII redaction workflows

SaaS platforms operating in the EU can programmatically purge document images, live photos, and check artifacts after verification to limit data liability and meet retention policies.

What You Can Build

Ship these features with Truto + ComplyCube

Concrete product features your team can ship faster by leveraging Truto’s ComplyCube integration instead of building from scratch.

01

Hosted KYC flow launcher

Create ComplyCube flow sessions from your app with pre-configured workflow templates and redirect URLs, so end users complete verification on a hosted domain and return with a signed status.

02

Native SDK token issuance

Create ComplyCube clients and mint short-lived tokens on demand so your frontend can embed the ComplyCube Web/Mobile SDK inside your own UI without exposing API keys.

03

Risk profile dashboard

Pull aggregated risk profiles per client — including overall, country, political exposure, and watchlist risk — and surface them in your admin console for compliance reviewers.

04

KYB company lookup and officer screening

Resolve a company from a name or registration number, then automatically create person clients for each officer and run AML checks against them.

05

Document autofill for onboarding forms

Send an ID document image to the autofill endpoint to extract MRZ and text data, then pre-populate your signup or KYC forms before the user submits a full check.

06

Webhook-driven case management

Register ComplyCube webhooks per tenant to stream check completion, workflow session events, and monitoring alerts into your internal case queue in real time.

SuperAI

ComplyCube AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

create_a_comply_cube_client

Create a new client in ComplyCube. Returns the created client including id, type, email, createdAt, and updatedAt. Required: type and email. personDetails is required when type is person.

get_single_comply_cube_client_by_id

Get a single ComplyCube client by id. Returns the client including id, type, email, createdAt, and updatedAt. Required: id.

update_a_comply_cube_client_by_id

Update a ComplyCube client by id. Returns the updated client including id, type, email, createdAt, and updatedAt. Required: id. The client type cannot be changed after creation.

delete_a_comply_cube_client_by_id

Delete a ComplyCube client by id. Returns an empty 204 response on success. Required: id.

list_all_comply_cube_clients

List all ComplyCube clients sorted by creation date, with the most recent first. Returns each client including id, entityName, type, email, createdAt, and updatedAt.

comply_cube_clients_get_risk_profile

Get the risk profile for a ComplyCube client. Returns the risk profile including overall risk, countryRisk, politicalExposureRisk, watchlistRisk, and updatedAt. Required: client_id.

create_a_comply_cube_address

Create a new address for a client in ComplyCube. Returns the created address with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: clientId, line, city, and country.

get_single_comply_cube_address_by_id

Get a single ComplyCube address by id. Returns the address with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: id.

update_a_comply_cube_address_by_id

Update an existing ComplyCube address by id. Returns the updated address with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: id.

delete_a_comply_cube_address_by_id

Delete a ComplyCube address by id. Returns an empty 204 response on success. Required: id.

list_all_comply_cube_addresses

List all addresses for a ComplyCube client. Returns address records with id, clientId, type, line, city, country, fromDate, createdAt, and updatedAt. Required: clientId.

create_a_comply_cube_document

Create a new document in ComplyCube. Returns the document including id, clientId, type, classification, issuingCountry, and createdAt. Required: clientId, type.

get_single_comply_cube_document_by_id

Get a single ComplyCube document by id. Returns the document including id, clientId, type, classification, issuingCountry, and createdAt. Required: id.

update_a_comply_cube_document_by_id

Update a ComplyCube document by id. Returns the updated document including id, clientId, type, classification, issuingCountry, and updatedAt. Required: id.

comply_cube_documents_upload_image

Upload an image attachment to a ComplyCube document. Returns the image record including id, fileName, documentSide, downloadLink, contentType, and size. Required: document_id, side, fileName, data. Images must be JPG, PNG, or PDF and between 34 KB and 4 MB.

comply_cube_documents_delete_image

Delete an image attachment from a ComplyCube document. Returns an empty 204 response on success. Required: document_id, side.

comply_cube_documents_download_image

Download a document image attachment from ComplyCube. Returns: fileName, contentType, data. Required: document_id, side.

comply_cube_documents_redact

Redact all document image attachments for a ComplyCube document. Returns an empty JSON object on success. Required: document_id, attributes.

delete_a_comply_cube_document_by_id

Delete a ComplyCube document and all associated attachments. Returns an empty 204 response on success. Required: id.

list_all_comply_cube_documents

List all ComplyCube documents for a client. Returns: id, clientId, type, classification, issuingCountry, createdAt, updatedAt. Required: clientId.

get_single_comply_cube_live_photo_by_id

Get an existing ComplyCube live photo by id. Returns: id, clientId, downloadLink, contentType, performLivenessCheck, size, createdAt, updatedAt. Required: id.

comply_cube_live_photos_download

Download an existing ComplyCube live photo image. Returns: fileName, contentType, data. Required: livephoto_id.

comply_cube_live_photos_redact

Redact all instances of an existing ComplyCube live photo. Returns an empty 200 response object on success. Required: livephoto_id.

delete_a_comply_cube_live_photo_by_id

Delete an existing ComplyCube live photo by id. Returns an empty 204 response on success. Required: id. Cannot be deleted once used to perform a check.

list_all_comply_cube_live_photos

List all live photos for a ComplyCube client, sorted by creation date with the most recent first. Returns live photo records including id, clientId, downloadLink, contentType, performLivenessCheck, size, createdAt, and updatedAt. Required: clientId.

create_a_comply_cube_live_photo

Upload a new live photo to ComplyCube. Returns the uploaded live photo including id, clientId, downloadLink, contentType, performLivenessCheck, size, createdAt, and updatedAt. Required: clientId, data. Image must be JPG or PNG and between 34 KB and 4 MB.

get_single_comply_cube_live_video_by_id

Get a specific live video from ComplyCube by id. Returns: id, clientId, language, challenges, createdAt, updatedAt, message. Required: id.

comply_cube_live_videos_redact

Redact all instances of an existing live video in ComplyCube. Returns an empty 200 response on success. Required: livevideo_id.

delete_a_comply_cube_live_video_by_id

Delete an existing live video from ComplyCube. Returns an empty 204 response on success. Required: id. Cannot delete a live video once used to perform a check.

list_all_comply_cube_live_videos

List all live videos for a given client in ComplyCube, sorted by creation date with the most recent first. Returns: id, clientId, language, challenges, createdAt, updatedAt. Required: client_id.

create_a_comply_cube_check

Create a new ComplyCube check. Returns the created check including id, clientId, type, status, createdAt, and updatedAt. Requires clientId and type.

get_single_comply_cube_check_by_id

Get a ComplyCube check by id. Returns the check including id, clientId, type, status, result, createdAt, and updatedAt. Required: id.

update_a_comply_cube_check_by_id

Update continuous monitoring on a ComplyCube check. Returns the updated check including id, clientId, type, status, result, createdAt, and updatedAt. Required: id. Only standard_screening_check and extensive_screening_check checks can be updated.

comply_cube_checks_validate

Validate the outcome of a ComplyCube check. Returns the validated outcome. Required: check_id and outcome.

comply_cube_checks_redact

Redact selected attributes and images from a ComplyCube Document Check. Returns an empty JSON object on success. Required: check_id. Only applies to document_check checks.

list_all_comply_cube_checks

List all existing checks in ComplyCube. Returns each check with id, clientId, entityName, type, status, result, createdAt, and updatedAt. Checks are sorted by creation date, newest first.

get_single_comply_cube_workflow_session_by_id

Get a ComplyCube workflow session by id. Returns the full session object including id, clientId, status, workflowTemplateId, workflowId, outcome, createdAt, completedAt, and updatedAt. Required: id.

comply_cube_workflow_sessions_complete

Complete a ComplyCube workflow session to trigger all configured verification checks. Returns: status. Required: workflowsession_id.

comply_cube_workflow_sessions_cancel

Cancel a started ComplyCube workflow session. Returns an empty object on success. Required: workflowsession_id. Only sessions with status 'started' can be cancelled.

list_all_comply_cube_workflow_sessions

List ComplyCube workflow sessions sorted by creation date, most recent first. Returns: id, clientId, entityName, status, workflowTemplateName, workflowTemplateId, workflowId, workflowVersion, outcome, createdAt, updatedAt.

create_a_comply_cube_note

Create a new note in ComplyCube. Returns the created note including id, clientId, type, note, createdAt, and updatedAt. Requires clientId, type, and note.

get_single_comply_cube_note_by_id

Get a single ComplyCube note by id. Returns the note including id, clientId, type, note, createdAt, and updatedAt. Requires id.

update_a_comply_cube_note_by_id

Update a ComplyCube note by id. Returns the updated note including id, clientId, type, note, createdAt, and updatedAt. Requires id.

delete_a_comply_cube_note_by_id

Delete a ComplyCube note by id. Returns an empty 204 response on success. Requires id.

list_all_comply_cube_notes

List ComplyCube notes for a client. Returns notes sorted by creation date, each containing id, clientId, type, note, createdAt, and updatedAt. Requires clientId.

get_single_comply_cube_custom_list_by_id

Get a custom list in ComplyCube by id. Returns: id, name, description, stats, createdAt, updatedAt. Required: id.

comply_cube_custom_lists_add_record

Add an entity to a custom list in ComplyCube. Returns an empty response object on success. Required: customlist_id, entityType, names.

list_all_comply_cube_custom_lists

List custom lists in ComplyCube. Returns: id, name, description, stats, createdAt, updatedAt. Results are sorted by creation date, most recent first.

get_single_comply_cube_company_lookup_by_id

Get a single company's full details from ComplyCube by id. Returns the company record including id, name, registrationNumber, incorporationCountry, incorporationDate, incorporationType, address, active, sourceUrl, owners, officers, filings, industryCodes, createdAt, and updatedAt. Required: id.

list_all_comply_cube_company_lookup

List company summaries in ComplyCube by name and incorporation country. Returns: id, name, registrationNumber, incorporationCountry, incorporationDate, incorporationType, address, active, sourceUrl, createdAt, updatedAt. Required: companyName, incorporationCountry.

list_all_comply_cube_address_lookup

List matching postal addresses in ComplyCube. Returns an array of address objects containing line, city, state, postalCode, and country. Required: line, country, postalCode.

create_a_comply_cube_flow_session

Create a ComplyCube hosted flow session using a workflow template. Returns: redirectUrl. Required: clientId, workflowTemplateId, successUrl, cancelUrl.

create_a_comply_cube_webhook

Create a new webhook endpoint in ComplyCube. Returns the created webhook object including id, description, url, enabled, events, secret, and timestamps. Required: url, enabled, and events. Maximum of 20 webhooks allowed.

get_single_comply_cube_webhook_by_id

Get an existing ComplyCube webhook by id. Returns the webhook object including id, description, url, enabled, events, and timestamps. Required: id.

update_a_comply_cube_webhook_by_id

Update a ComplyCube webhook by id. Returns the updated webhook object including id, description, url, enabled, events, secret, and timestamps. Required: id.

delete_a_comply_cube_webhook_by_id

Delete an existing ComplyCube webhook by id. Returns an empty 204 response on success. Required: id.

list_all_comply_cube_webhooks

List all existing ComplyCube webhooks. Returns webhook objects containing id, url, enabled status, events, and timestamps.

create_a_comply_cube_token

Generate a ComplyCube SDK token for a client. Returns the generated SDK token. Required: clientId. Supply referrer for the Web SDK or appId for Mobile SDKs.

comply_cube_autofill_perform

Extract data and images from an identity document in ComplyCube. Returns extractedData with holderDetails, documentDetails, allExtractedData, and mrz, plus extractedImages. Required: data.

comply_cube_reports_generate_client_report

Generate a client PDF report in ComplyCube. Returns the base64-encoded report as contentType and data. Required: clientId.

comply_cube_reports_generate_check_report

Generate a check PDF report in ComplyCube. Returns the base64-encoded report as contentType and data. Required: check_id.

get_single_comply_cube_team_member_by_id

Get a specific ComplyCube team member by id. Returns: id, firstName, lastName, role, createdAt. Required: id.

list_all_comply_cube_team_members

List ComplyCube team members sorted by creation date, newest first. Returns: id, firstName, lastName, role, createdAt. Supports filtering by firstName, lastName, and role.

Why Truto

Why use Truto’s MCP server for ComplyCube

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with ComplyCube in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s ComplyCube account

Use Truto’s frontend SDK to connect your customer’s ComplyCube account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call ComplyCube

Truto’s Proxy API is a 1-to-1 mapping of the ComplyCube API. You call us, we call ComplyCube, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate ComplyCube’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about ComplyCube on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for connecting a customer's ComplyCube account?

ComplyCube uses API key authentication. Your end users generate an API key from their ComplyCube dashboard and provide it during the connection flow in your product; Truto stores and manages the credential per connected account.

Can I use both the hosted flow and the native SDK through the same integration?

Yes. You can call create_a_comply_cube_flow_session for hosted verification, or create a client and issue a token via create_a_comply_cube_token to power the ComplyCube Web/Mobile SDK inside your own UI. Both patterns share the same underlying clients, checks, and webhooks.

How do we receive verification results — polling or webhooks?

Webhooks are the recommended pattern. You can register webhooks per connected account using create_a_comply_cube_webhook to receive check, workflow session, and monitoring events. You can also poll get_single_comply_cube_check_by_id or list_all_comply_cube_checks if needed.

Does the integration support continuous AML monitoring?

Yes. You can enable ongoing monitoring on standard and extensive screening checks via update_a_comply_cube_check_by_id, and receive webhook alerts if a client's screening status changes after their initial verification.

Can we redact or delete PII after verification is complete?

Yes. Redaction endpoints are available for documents, live photos, live videos, and checks (e.g., comply_cube_documents_redact, comply_cube_checks_redact), plus delete operations on clients, addresses, documents, live photos, and live videos to support GDPR and retention workflows.

How do we handle KYB and company verification?

Use list_all_comply_cube_company_lookup to search company registries and get_single_comply_cube_company_lookup_by_id to retrieve full company details including officers and owners. You can then create client records for directors and run checks or cross-reference against custom lists.

ComplyCube

Get ComplyCube integrated into your app

Our team understands what it takes to make a ComplyCube integration successful. A short, crisp 30 minute call with folks who understand the problem.