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

# Issue a verification link

> Issue a new verification link for a HOSTED session. The create response already carries the first link, so call this endpoint only to replace a link that expired or leaked. Read link_expires_at for the new deadline. The previous link may stop working as soon as Blaaiz issues a new one. The link is a live credential for one session: send it over a private channel and keep it out of your logs. The request takes no body. Blaaiz refuses the call when the session is terminal, and when the session is HEADLESS. Every HOSTED session can take a verification link, including a session with no selfie step. Merchant KYC must be enabled for your business. Required scope: `compliance-kyc:create`.



## OpenAPI

````yaml /api-reference/compliance-kyc/issue-verification-link-openapi.json post /api/external/compliance/kyc/sessions/{sessionId}/verification-link
openapi: 3.1.0
info:
  title: Blaaiz Platform API - Issue Verification Link
  version: 1.0.0
  description: >-
    Issue a new verification link for a HOSTED verification session. Merchant
    KYC must be enabled for your business. Requires the compliance-kyc:create
    scope.
servers:
  - url: https://api-prod.blaaiz.com
  - url: https://api-dev.blaaiz.com
security: []
tags:
  - name: Merchant KYC
paths:
  /api/external/compliance/kyc/sessions/{sessionId}/verification-link:
    post:
      tags:
        - Merchant KYC
      summary: Issue a verification link
      description: >-
        Issue a new verification link for a HOSTED session. The create response
        already carries the first link, so call this endpoint only to replace a
        link that expired or leaked. Read link_expires_at for the new deadline.
        The previous link may stop working as soon as Blaaiz issues a new one.
        The link is a live credential for one session: send it over a private
        channel and keep it out of your logs. The request takes no body. Blaaiz
        refuses the call when the session is terminal, and when the session is
        HEADLESS. Every HOSTED session can take a verification link, including a
        session with no selfie step. Merchant KYC must be enabled for your
        business. Required scope: `compliance-kyc:create`.
      parameters:
        - name: sessionId
          in: path
          required: true
          description: The verification session id returned by the create endpoint.
          schema:
            type: string
            format: uuid
          example: 9f2c7b41-6d3e-4c8a-9a20-1e6f0b5d7c33
      responses:
        '200':
          description: Verification link issued successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueVerificationLinkResponse'
              example:
                message: Verification link issued successfully.
                data:
                  verification_link: >-
                    https://verify.blaaiz.com/c/8Kq2rV5wZs1tYb7NfPjX0aLmC4hD6gEuR9oT3nQiWxs
                  link_expires_at: '2026-08-29T09:44:22.000Z'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Invalid or missing access token
        '403':
          description: >-
            Forbidden. The scope is missing, or Merchant KYC is not enabled for
            your business.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: The Merchant KYC feature is not enabled for this business.
                status: 403
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Verification session not found.
        '422':
          description: The session is finished, or it is a HEADLESS session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: >-
                  This session is completed by your server. Upload the documents
                  the set asks for, then submit the session.
      security:
        - oauth2ClientCredentials:
            - compliance-kyc:create
components:
  schemas:
    IssueVerificationLinkResponse:
      type: object
      properties:
        message:
          type: string
        data:
          type: object
          properties:
            verification_link:
              type: string
              description: >-
                The link the person opens. Use it exactly as returned; the host
                differs between environments.
            link_expires_at:
              type: string
              format: date-time
              description: When the link stops working.
          required:
            - verification_link
            - link_expires_at
      required:
        - message
        - data
    Error:
      type: object
      properties:
        message:
          type: string
          description: The reason the request failed.
        request_id:
          type: string
          description: The Blaaiz request id. Quote it in a support ticket.
        errors:
          type: object
          description: >-
            Field-level validation messages. Present on a 422 caused by request
            validation.
          additionalProperties:
            type: array
            items:
              type: string
      required:
        - message
  securitySchemes:
    oauth2ClientCredentials:
      type: oauth2
      description: >-
        Use your OAuth client credentials to obtain a short-lived Bearer token
        from POST /oauth/token.
      flows:
        clientCredentials:
          tokenUrl: /oauth/token
          scopes:
            compliance-kyc:create: Create, upload to, and submit merchant KYC verification sessions.

````