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

# Create Standard Onboarding Link (with login required by merchant)

> Use this API to create a pre-built onboarding link for the sub-merchant account. Share this link with the sub-merchant so they can complete their KYC process. The merchant needs to log in using their Cashfree password or OTP received on their registered email.



## OpenAPI

````yaml post /merchants/{merchant_id}/onboarding_link/standard
openapi: 3.0.0
info:
  version: '2023-01-01'
  title: Merchant Onboarding APIs
servers:
  - url: https://api-sandbox.cashfree.com/partners
    description: Sandbox server
  - url: https://api.cashfree.com/partners
    description: Production server
security: []
paths:
  /merchants/{merchant_id}/onboarding_link/standard:
    post:
      tags:
        - Merchant Onboarding
      summary: Create Standard Onboarding Link (with login required by merchant)
      description: >-
        Use this API to create a pre-built onboarding link for the sub-merchant
        account. Share this link with the sub-merchant so they can complete
        their KYC process. The merchant needs to log in using their Cashfree
        password or OTP received on their registered email.
      parameters:
        - $ref: '#/components/parameters/apiKeyHeader'
        - $ref: '#/components/parameters/apiVersionHeader'
        - in: path
          name: merchant_id
          required: true
          schema:
            type: string
            description: Unique identifier for the merchant
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                type: account_onboarding
                return_url: https://b8af79f41056.eu.ngrok.io?key1=value1
              properties:
                type:
                  type: string
                  description: >-
                    The type of onboarding link. Value should be
                    "account_onboarding".
                return_url:
                  type: string
                  description: >-
                    The URL to which the user will be redirected after KYC
                    submission
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                example:
                  created_at: 2023-07-24T12:24:44+0530
                  onboarding_link: >-
                    https://merchant.cashfree.com/onboarding/login/?token=..token..
                properties:
                  created_at:
                    type: string
                    description: Timestamp when onboarding link was created
                  onboarding_link:
                    type: string
                    description: URL for onboarding link. Share this with your merchant.
        '401':
          description: Invalid Partner API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '404':
          description: Invalid Merchant ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidMerchantError'
        '409':
          description: Product is already active for the merchant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlreadyActiveError'
        default:
          description: Any bad or invalid request will lead to following error object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    apiKeyHeader:
      in: header
      name: x-partner-apikey
      required: true
      schema:
        description: Your partner API key for authentication
        type: string
    apiVersionHeader:
      in: header
      name: x-api-version
      schema:
        type: string
        description: API version to be used for the request
        default: '2023-01-01'
  schemas:
    AuthenticationError:
      title: AuthenticationError
      example:
        message: Invalid authentication credentials
        code: failed_authentication
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error
    InvalidMerchantError:
      title: InvalidMerchantError
      example:
        message: Merchant not found or linked to partner.
        code: partner_connect_not_found
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error
    AlreadyActiveError:
      title: AlreadyActiveError
      example:
        message: Product is already active for the merchant.
        code: merchant_product_is_active
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: invalid_request_error
    ErrorResponse:
      title: ErrorResponse
      example:
        message: bad URL, please check API documentation
        code: request_failed
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message
        code:
          type: string
          description: Error code for programmatic handling
        type:
          type: string
          description: Type of error, typically 'invalid_request_error'

````