> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hifi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate a KYC link

> Generate a KYC link to create a user, unlock rails for a user, or submit KYC for a user.

This endpoint allows you to generate a HIFI-hosted KYC link that can be shared with users to collect their KYC information. The collected data can be used for User Creation, KYC Submission, or unlocking KYC rails for the user.




## OpenAPI

````yaml https://production.hifi.com/api/v2/openapi.json post /v2/kyc-link
openapi: 3.0.0
info:
  title: Hifi API
  version: 2.0.0
  description: API documentation for Hifi
servers:
  - url: https://production.hifibridge.com
    description: Production server
  - url: https://sandbox.hifibridge.com
    description: Sandbox server
security:
  - bearerAuth: []
tags:
  - name: Common
    description: Common endpoints
  - name: User
    description: User endpoints
  - name: Kyc
    description: Kyc endpoints
  - name: Wallet
    description: Wallet endpoints
  - name: Account
    description: Account endpoints
  - name: External Account
    description: External Account endpoints for managing beneficiary bank accounts
  - name: Fiat Account
    description: Fiat Account endpoints
  - name: Virtual Account
    description: Virtual Account endpoints
  - name: Onramp
    description: Onramp endpoints
  - name: Offramp
    description: Offramp endpoints
  - name: Orchestration Address
    description: >-
      Orchestration Address endpoints — persistent on-chain wallets that
      automatically off-ramp incoming stablecoin deposits to a USD bank account
  - name: Crypto Transfer
    description: Crypto Transfer endpoints
  - name: Cross-Chain Bridge
    description: Cross-Chain Bridge endpoints
  - name: Token Swap
    description: Token Swap endpoints
  - name: Canton Offers
    description: Canton Offers endpoints
  - name: Transfer Rules
    description: Transfer approval rules and configuration
  - name: Transfer Approvals
    description: Transfer approval workflow and admin actions
  - name: File
    description: File endpoints
  - name: Reporting
    description: Reporting and metrics endpoints
paths:
  /v2/kyc-link:
    post:
      tags:
        - Kyc
      summary: Generate a KYC link
      description: >
        Generate a KYC link to create a user, unlock rails for a user, or submit
        KYC for a user.


        This endpoint allows you to generate a HIFI-hosted KYC link that can be
        shared with users to collect their KYC information. The collected data
        can be used for User Creation, KYC Submission, or unlocking KYC rails
        for the user.
      requestBody:
        $ref: '#/components/requestBodies/KycLinkBody'
      responses:
        '200':
          $ref: '#/components/responses/KycLinkResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
components:
  requestBodies:
    KycLinkBody:
      required: true
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/KycLinkForUserCreation'
              - $ref: '#/components/schemas/KycLinkForUnlockingRails'
  responses:
    KycLinkResponse:
      description: Success
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/KycLinkObject'
          examples:
            KycLinkObjectExample:
              $ref: '#/components/examples/KycLinkObjectExample'
    UnauthorizedResponse:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    NotFoundResponse:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - error
              error:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
    InternalServerErrorResponse:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  schemas:
    KycLinkForUserCreation:
      type: object
      title: KYC Link for User Creation
      required:
        - userType
      properties:
        userType:
          type: string
          enum:
            - INDIVIDUAL
            - BUSINESS
        rails:
          type: array
          items:
            type: string
            enum:
              - USD
              - SOUTH_AMERICA_STANDARD
              - AFRICA_GENERAL
              - AFRICA_NIGERIA
          description: >-
            KYC rails to unlock for the user, if not provided, only wallet will
            be created
        redirectUrl:
          type: string
          description: >-
            URL to redirect to after KYC information is submitted, userId will
            be appended to the URL as a query parameter
        recipientEmail:
          type: string
          description: >-
            Email address to send the KYC link to if provided (only in
            production)
        templateId:
          type: string
          description: >-
            Template ID to use for the KYC link, please contact HIFI for more
            information
    KycLinkForUnlockingRails:
      type: object
      title: KYC Link for Unlocking Rails
      required:
        - userId
        - rails
      properties:
        userId:
          type: string
        rails:
          type: array
          items:
            type: string
            enum:
              - USD
              - SOUTH_AMERICA_STANDARD
              - AFRICA_GENERAL
              - AFRICA_NIGERIA
          description: KYC rails to unlock for the user
        redirectUrl:
          type: string
          description: >-
            URL to redirect to after KYC information is submitted, userId will
            be appended to the URL as a query parameter
        recipientEmail:
          type: string
          description: >-
            Email address to send the KYC link to if provided (only in
            production)
        templateId:
          type: string
          description: >-
            Template ID to use for the KYC link, please contact HIFI for more
            information
    KycLinkObject:
      type: object
      properties:
        kycLinkUrl:
          type: string
          description: KYC link to be shared with the user
    Unauthorized:
      type: object
      properties:
        code:
          type: integer
          description: Error code
        error:
          type: string
          description: Error type
        errorDetails:
          type: string
          description: Detailed error message
    InternalServerError:
      type: object
      properties:
        code:
          type: integer
          description: Error code
        error:
          type: string
          description: Error type
        errorDetails:
          type: string
          description: Detailed error message
  examples:
    KycLinkObjectExample:
      summary: KYC Link Object
      value:
        kycLinkUrl: >-
          http://dashboard.hifibridge.com/production/kyc-link?sessionToken=768fb84ad65284cb5fffda212f5e779829318acwdab5a36efbf83c4f44369c73
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````