---
title: Trigger KYC flow
slug: detected-apis/trigger-kyc-flow
docTags: 
createdAt: 2025-05-27T08:57:35.540Z
---

# Overview

This pattern is for a backend system triggering a KYC journey for individuals.

# General Flow

- Existing system has core information about the individual to be verified
- Push the customers information to Detected over API
- Trigger an email link to be sent to the individual from detected OR retrieve the link from detected and send to the customer
- Webhook fires to notify existing systems that submission is complete and ready for review

# Data Flow

```mermaid
---
config:
  theme: redux-dark
  look: classic
  layout: dagre
---
flowchart TD
    C1((("Customer"))) -- Completes information --> CS1["Client Systems"]
    CS1 -- "1.Push details &amp; trigger KYC journey" --> API["Detected APIs"]
    API -- "2.Return KYC journey link" --> CS2["Client Systems"]
    CS2 -- "3.Email link to customer" --> C2((("Customer")))
    C2 -- "4.Customer opens link and completes KYC" --> Portal["Detected Verify (KYC) Portal"]
    Portal -- "5.Webhook: profile updated" --> CS3["Client Systems"]
    classDef detected fill:#d3370c,stroke:#8f2408,color:#ffffff
    class API,Portal detected
```

# Integration View

```mermaid
---
config:
  theme: redux-dark
  look: classic
---
sequenceDiagram
  autonumber
  actor Customer
  participant ClientBackend as Clients Backend App
  box Detected
    participant DetectedApis as Detected APIs
    participant VerifyPortal as Detected Verify (KYC) Portal
  end

  ClientBackend ->> DetectedApis: POST /profiles (type: individual)
  DetectedApis -->> ClientBackend: Profile references

  ClientBackend ->> DetectedApis: POST /representatives (individual)
  DetectedApis -->> ClientBackend: Representative references

  ClientBackend ->> DetectedApis: POST /representatives/{uuid}/login-links
  DetectedApis -->> ClientBackend: Pre-authed link for this person

  ClientBackend ->> Customer: Deliver pre-authed <br/>link (email, iframe or redirect)
  Customer ->> VerifyPortal: Opens link
  Customer ->> VerifyPortal: Completes verification tasks
  Note over VerifyPortal: Profile status = Needs Review

  VerifyPortal --) ClientBackend: Profile webhook
  ClientBackend ->> DetectedApis: GET /representatives/{uuid}/verifications
  DetectedApis -->> ClientBackend: Verification result
```

# Platform Setup Checklist

- [ ] Setup screenings settings for 'Person (individual entity)' (if required)
- [ ] Setup the required verification flows for the 'individual' role
- [ ] Check that the "Automatically set the profile status to ‘Needs Review’ for individual profile types on verify submission" setting is set to yes
- [ ] Setup a dedicated risk profile for individuals and assign that using actions
- [ ] Setup any actions to auto approve profiles based on risk
- [ ] Create your branding for the portals
- [ ] Configure the [Profile Webhook](docId:6qlwfWddkxPsSCj192LH-)&#x20;



# Common Questions

| **Question**                                                                                               | **Answer**                                                                                                                                        |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Can the profile be automatically approved after the KYC flow is complete?                                  | Yes using actions and the "Profile verify portal submission" trigger to automatically set the profile status to Approved based on the risk score. |
| What are the mandatory fields when creating a representative                                               | For this flow first name, last name and email are mandatory.                                                                                      |
| Can the customer provide more information on themselves such as address, nationality etc in the KYC portal | Yes, you can define what attributes you want the customer to provide in the portal if required to enrich their details.                           |







