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

# Get Sub-Account KYC URL

> Generate a temporary KYC verification link for a sub-account via the V4 API.

<Note>
  A KYC URL can only be generated when all of the following conditions are met:

  * The sub-account is activated (has an associated user).
  * The sub-account is active (not locked or blocked).
  * The sub-account does not have shared KYC enabled. When shared KYC is enabled, the sub-account inherits identity verification from the main account, and a separate KYC link is not applicable.
</Note>


## OpenAPI

````yaml /openapi/private/main_api_v4.yaml POST /api/v4/sub-account/kyc-url
openapi: 3.0.3
info:
  title: WhiteBIT Private HTTP API V4
  description: |
    WhiteBIT Private HTTP API V4 for Main balance changes.

    Base URL: https://whitebit.com

    All endpoints return time in Unix-time format.
    All endpoints return either a JSON object or array.
    For receiving responses from API calls please use http method POST.
  version: 4.0.0
  contact:
    name: WhiteBIT Support
    email: support@whitebit.com
    url: https://whitebit.com
servers:
  - url: https://whitebit.com
    description: WhiteBIT Global Server
  - url: https://whitebit.eu
    description: WhiteBIT EU Server
security:
  - ApiKeyAuth: []
    PayloadAuth: []
    SignatureAuth: []
tags:
  - name: Main Account
    description: Main account balance and operations
  - name: Deposit
    description: Cryptocurrency and fiat deposit operations
  - name: Withdraw
    description: Cryptocurrency and fiat withdrawal operations
  - name: Transfer
    description: Balance transfer operations
  - name: Codes
    description: WhiteBIT codes operations
  - name: Crypto Lending - Fixed
    description: Fixed crypto lending plans
  - name: Crypto Lending - Flex
    description: Flexible crypto lending plans
  - name: Fees
    description: Fee information
  - name: Sub-Account
    description: Sub-account management
  - name: Sub-Account API Keys
    description: Sub-account API key management
  - name: Mining Pool
    description: Mining pool operations
  - name: Credit Line
    description: Credit line information
  - name: JWT
    description: JWT token management
paths:
  /api/v4/sub-account/kyc-url:
    post:
      tags:
        - Sub-Account
      summary: Get Sub-Account KYC URL
      description: >
        The endpoint generates a temporary KYC verification link for a
        [sub-account](/glossary#sub-account).


        <Note>

        The sub-account must meet all of the following conditions before a KYC
        URL can be generated:

        - The sub-account must be activated (have an associated user).

        - The sub-account must be active (not locked or blocked).

        - The sub-account must not have shared KYC enabled.

        </Note>


        <Warning>

        Rate limit: 1000 requests/10 sec.

        </Warning>


        <Note>

        The API does not cache the response.

        </Note>
      operationId: getSubAccountKycUrl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - id
              properties:
                id:
                  type: string
                  description: >-
                    Sub-account external ID. Must belong to the authenticated
                    main account.
                  example: 8e667b4a-0b71-4988-8af5-9474dbfaeb51
            example:
              id: 8e667b4a-0b71-4988-8af5-9474dbfaeb51
      responses:
        '200':
          description: KYC URL generated successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - url
                  - expiresIn
                properties:
                  url:
                    type: string
                    description: Temporary KYC verification URL
                    example: https://kyc-provider.example.com/verify/abc123
                  expiresIn:
                    type: integer
                    description: Time in seconds until the link expires
                    example: 3600
              example:
                url: https://kyc-provider.example.com/verify/abc123
                expiresIn: 3600
        '400':
          description: Request validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                idNotBelongsToUser:
                  summary: Sub-account does not belong to the authenticated user
                  value:
                    code: 0
                    message: Validation failed
                    errors:
                      id:
                        - validation.exists
                subAccountNotActivated:
                  summary: Sub-account is not activated
                  value:
                    code: 400
                    message: Account is not confirmed
                subAccountNotActive:
                  summary: Sub-account is locked or blocked
                  value:
                    code: 400
                    message: Sub-account is not active
                sharedKycEnabled:
                  summary: Sub-account has shared KYC enabled
                  value:
                    code: 400
                    message: Sub-account has shared KYC
        '401':
          description: Invalid API key, signature, or nonce
          content:
            application/json:
              schema:
                type: object
              example:
                code: 0
                message: Invalid API key, signature, or nonce
        '404':
          description: >-
            Not found — the authenticated user does not have sub-account crypto
            service permission
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-TXC-APIKEY
      description: The public WhiteBIT API key.
    PayloadAuth:
      type: apiKey
      in: header
      name: X-TXC-PAYLOAD
      description: Base64-encoded JSON request body.
    SignatureAuth:
      type: apiKey
      in: header
      name: X-TXC-SIGNATURE
      description: >-
        HMAC-SHA512 signature of the payload, hex-encoded. Computed as
        hex(HMAC-SHA512(payload, api_secret)).

````