---
title: ComplyCube API Integration on Truto
slug: complycube
category: Compliance
canonical: "https://truto.one/integrations/detail/complycube/"
---

# ComplyCube API Integration on Truto



**Category:** Compliance  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 63 tools for ComplyCube that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's ComplyCube 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 ComplyCube.** The Proxy API is a 1-to-1 mapping of the ComplyCube 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 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

- **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.

## FAQs

### 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.

## Related reading

- [Connect ComplyCube to ChatGPT: Automate KYC and AML Risk Screening](https://truto.one/blog/connect-complycube-to-chatgpt-automate-kyc-and-aml-risk-screening/) — Learn how to connect ComplyCube to ChatGPT using a managed MCP server. Automate KYC workflows, analyze AML risk profiles, and execute compliance checks.
- [Connect ComplyCube to Claude: Manage Identity and Document Verification](https://truto.one/blog/connect-complycube-to-claude-manage-identity-and-document-verification/) — Learn how to connect ComplyCube to Claude using a managed MCP server. Automate KYC, AML risk profiling, and document verification via natural language.
- [Connect ComplyCube to AI Agents: Power Global KYC and AML Workflows](https://truto.one/blog/connect-complycube-to-ai-agents-power-global-kyc-and-aml-workflows/) — Learn how to connect ComplyCube to AI agents using Truto's dynamic tool layer. Build autonomous KYC, AML, and identity verification workflows safely.
