---
title: "Create KYC Link"
method: POST
path: "/kyc"
tags: ["kyc"]
---

# Create KYC Link

`POST /kyc`

Generate a KYC/TOS verification link via Bridge.xyz for a customer to complete identity verification

## Headers

- `Authorization-Signature` string, required

## Request body

- KYCLinkRequest
  - `email` string, required
  - `type` 'individual' | 'business', required — Whether the KYC link is for an individual or a business
  - `full_name` string
  - `endorsements` EndorsementName[]
  - `redirect_uri` string

## Response `201`

KYC link created successfully

- KYCLinkResponse
  - `id` string, required
  - `type` 'individual' | 'business', required — Whether the KYC link is for an individual or a business
  - `customer_id` string, nullable
  - `full_name` string, nullable
  - `email` string, required
  - `kyc_link` string, required
  - `kyc_status` 'not_started' | 'incomplete' | 'awaiting_questionnaire' | 'awaiting_ubo' | 'under_review' | 'approved' | 'rejected' | 'paused' | 'offboarded', required — Current verification status of the KYC link
  - `rejection_reasons` KYCRejectionReason[]
    - `developer_reason` string, required
    - `reason` string, required
    - `created_at` string, required
  - `tos_link` string, required
  - `tos_status` 'pending' | 'approved', required — Whether the customer has accepted the Terms of Service
  - `created_at` string, nullable

## Other responses

- `401` — Unauthorized - Authentication required
- `422` — Unprocessable Entity - Invalid request body format
- `500` — Internal Server Error

---

[API](https://skmtc.net/coinvoyage/apis/coinvoyage-api.md) · [All operations](https://skmtc.net/coinvoyage/apis/coinvoyage-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coinvoyage/coinvoyage-api/revisions/29e628200554/schema)
