> ## 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 Merchant

> Use this API to create a sub-merchant account. You can provide basic merchant details during creation. KYC documents are required to activate the account.



## OpenAPI

````yaml post /merchants
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:
    post:
      tags:
        - Merchant Onboarding
      summary: Create Merchant
      description: >-
        Use this API to create a sub-merchant account. You can provide basic
        merchant details during creation. KYC documents are required to activate
        the account.
      parameters:
        - $ref: '#/components/parameters/apiKeyHeader'
        - $ref: '#/components/parameters/apiVersionHeader'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMerchantRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MerchantResponseEntity'
        '401':
          description: Invalid Partner API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
        '409':
          description: Merchant account with email already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlreadyExistsError'
        default:
          description: Bad request or validation error
          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:
    CreateMerchantRequest:
      title: CreateMerchantRequest
      type: object
      example:
        merchant_id: test_merchantid_1
        merchant_email: john@cashfree.com
        merchant_name: John Doe Business
        poc_phone: '9999999999'
        merchant_site_url: cashfree.com
        business_details:
          business_legal_name: John Doe Company
          business_type: Private Limited
          business_model: Both
          business_category: Ecommerce
          business_subcategory: Books
          business_pan: ABCCD8000T
          business_address: Flat-101, Apartment Name, Street Name
          business_city: Bengaluru
          business_state: Karnataka
          business_postalcode: '560076'
          business_country: India
          business_gstin: 29AAICP2912R1ZR
          business_cin: L65190MH2003PLC143249
        website_details:
          website_contact_us: https://www.cashfree.com/
          website_privacy_policy: https://www.cashfree.com/privacypolicy/
          website_refund_policy: https://www.cashfree.com/policies/refund-policy
          website_shop_delivery: https://www.cashfree.com/policies/shipping-policy
          website_checkout_page: https://www.cashfree.com/
          website_about_us: https://www.cashfree.com/about-us/
          website_pricing_policy: https://www.cashfree.com/payment-gateway-charges/
          website_product_service: https://www.cashfree.com/payment-gateway-india/
          website_address: https://www.cashfree.com/grievance-redressal-policy
          website_tnc: https://www.cashfree.com/tnc/
        bank_account_details:
          bank_account_number: '026291800001191'
          bank_ifsc: YESB0000262
        signatory_details:
          signatory_name: John Doe
          signatory_pan: ABCPV1234D
        additional_details:
          payment_gateway_use_case: >-
            Payment Gateway required for collecting money from customers for
            purchasing books
          payment_gateway_mcc: '5942'
          exporter_type: Service Exporter
          gcl_purpose_code: P0101
          import_export_code: 123456789
          gcl_transaction_value: 1 - 5 Lac
          gcl_transaction_volume: 1 - 5
          gcl_use_case: >-
            Description of the merchant's international payment use case and
            business requirements
      required:
        - merchant_id
        - merchant_email
        - merchant_name
        - poc_phone
        - merchant_site_url
      properties:
        merchant_id:
          type: string
          description: >-
            Unique identifier for the merchant. Max 40 characters, alphanumeric,
            hyphen, underscore allowed.
        merchant_email:
          type: string
          description: Registered email address.
        merchant_name:
          type: string
          description: Business brand name.
        poc_phone:
          type: string
          description: Owner phone number.
        merchant_site_url:
          type: string
          description: Business website.
        business_details:
          type: object
          required:
            - business_legal_name
            - business_type
            - business_model
          properties:
            business_legal_name:
              type: string
              description: Registered name of business.
            business_type:
              type: string
              description: >-
                Refers to the entity type. Possible values are "Individual",
                "Proprietorship", "LLP", "Partnership", "Private Limited",
                "Public Limited", "Trust", "Society", "NGO", "Hindu Undivided
                Family (HUF)", "Association of Persons (AOP)", "Body of
                Individuals (BOI)", "Local Authority", "Artificial Juridical
                Person" and "Government". You need to pass only one of the
                values.
            business_model:
              type: string
              description: >-
                Refers to the business model. Possible values are "B2C", "B2B"
                and "Both".
            business_category:
              type: string
              description: >-
                Business Category. Select one category from the [Master
                sheet](https://bit.ly/ObCategory).
            business_subcategory:
              type: string
              description: >-
                Business Subcategory. Select one subcategory from the [Master
                sheet](https://bit.ly/ObSubcategory).
            business_pan:
              type: string
              description: Business PAN. If Individual, provide Personal PAN.
            business_address:
              type: string
              description: Business address.
            business_city:
              type: string
              description: Business city.
            business_state:
              type: string
              description: Business state.
            business_postalcode:
              type: string
              description: Business pincode.
            business_country:
              type: string
              description: Business country.
            business_gstin:
              type: string
              description: Business GSTIN. Skip this field for unregistered businesses.
            business_non_gst_declaration:
              type: string
              description: >-
                For unregistered or GST exempt businesses. Value can be either
                be "My business category is exempted from GST" or "My annual
                turnover is less than GST prescribed limit".
            business_cin:
              type: string
              description: Business CIN. Provide for private and public limited entities.
            business_llpin:
              type: string
              description: Business LLPIN. Provide for LLP and partnership entities.
        website_details:
          type: object
          properties:
            website_contact_us:
              type: string
              description: >-
                Website url where email, contact number, or contact us form is
                available.
            website_tnc:
              type: string
              description: Website url where terms & conditions are available.
            website_privacy_policy:
              type: string
              description: >-
                Website url where privacy, data storage & security policy is
                available.
            website_refund_policy:
              type: string
              description: >-
                Website url where refund (with request timeline) & cancellation
                policy is available.
            website_shop_delivery:
              type: string
              description: >-
                If applicable, website url where shipping and delivery policy
                with charges and timeline is available.
            website_checkout_page:
              type: string
              description: Website url where product, cart and checkout flow is available.
            website_about_us:
              type: string
              description: >-
                Website url where company legal name and description of business
                is available.
            website_pricing_policy:
              type: string
              description: >-
                Website url where product pricing in INR and other currencies is
                available.
            website_product_service:
              type: string
              description: >-
                Website url mentioning products or services, with their pricing
                and images.
            website_address:
              type: string
              description: >-
                Website url where registered address of the business is
                mentioned.
        bank_account_details:
          type: object
          description: Bank account to receive settlements.
          properties:
            bank_account_number:
              type: string
              description: Bank account number.
            bank_ifsc:
              type: string
              description: Bank IFSC.
        signatory_details:
          type: object
          description: Beneficial owner of the business.
          required:
            - signatory_name
          properties:
            signatory_name:
              type: string
              description: Beneficial owner name.
            signatory_pan:
              type: string
              description: Beneficial owner PAN.
        additional_details:
          type: object
          description: Pass additional details required by specific products.
          properties:
            payment_gateway_use_case:
              type: string
              description: >-
                Purpose of collecting payments. Min 50 characters and Max 200
                characters.
            payment_gateway_mcc:
              type: string
              description: Merchant Category Code (MCC).
            exporter_type:
              type: string
              description: Entity Type. One of ["Service Exporter", "Goods Exporter"].
            gcl_purpose_code:
              type: string
              description: >-
                Refers to the 'Purpose Code' for global collect transactions.
                Refer to [Purpose
                Codes](https://www.cashfree.com/docs/api-reference/payments/latest/international-payments/global-collections/purpose-codes)
                documentation for the list of supported values.
            import_export_code:
              type: string
              description: >-
                Send 10 digit value of Import-Export Code, only applicable for
                Goods.
            gcl_transaction_value:
              type: string
              description: >-
                Entity Type. One of ['Less than 1 Lac', '1 - 5 Lac', '5 - 10
                Lac', '10 - 15 Lac', '15 - 25 Lac', '25 Lac & above'].
            gcl_transaction_volume:
              type: string
              description: >-
                Entity Type. One of ['1 - 50', '50 - 100', '100 - 1000', '1000 -
                3000', '3000 & above'].
            gcl_use_case:
              type: string
              description: >-
                Elaborate on how you will you global collection. Please also
                include customer type.
    MerchantResponseEntity:
      title: MerchantResponseEntity
      type: object
      example:
        merchant_id: test_merchantid_1
        merchant_email: john@cashfree.com
        merchant_name: John Doe Business
        created_at: '2023-07-24T04:45:20.000Z'
        onboarding_status: Email Verified
        product_status:
          - product_name: PG
            product_min_kyc_status: MIN_KYC_PENDING
      properties:
        merchant_id:
          type: string
          description: >-
            Unique identifier for the merchant. Max 40 characters, alphanumeric,
            hyphen, underscore are allowed.
        merchant_email:
          type: string
          description: Registered email address.
        merchant_name:
          type: string
          description: Business brand name.
        created_at:
          type: string
          description: Timestamp when merchant account was created.
        onboarding_status:
          type: string
          description: >-
            Merchant account onboarding status. Possible values are "Created"
            (email not verified) and "Email Verified" (email verified).
        product_status:
          type: array
          description: >-
            List of product KYC status objects containing product name and
            minimum KYC status required.
          items:
            type: object
            properties:
              product_name:
                type: string
                description: Product requested for merchant.
              product_min_kyc_status:
                type: string
                description: >-
                  KYC status for the product. Possible values are
                  "MIN_KYC_PENDING", "MIN_KYC_SUBMITTED", "MIN_KYC_APPROVED" and
                  "MIN_KYC_REJECTED".
    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
    AlreadyExistsError:
      title: AlreadyExistsError
      example:
        message: Merchant with same id or email already exists.
        code: merchant_already_exists
        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'

````