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 usUse Cases
Why integrate with ComplyCube
Common scenarios for SaaS companies building ComplyCube integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.