---
title: "Create Onboarding"
method: POST
path: "/gcc/v2/partner/merchant/onboard"
tags: ["Merchant Onboarding"]
---

# Create Onboarding

`POST /gcc/v2/partner/merchant/onboard`

Creates a new merchant onboarding record. This is always the first API call in the
onboarding sequence. The `onboardingId` returned is required for all subsequent calls.

## Request body

- object
  - `externalOnboardingId` string, required — Partner's unique identifier for this merchant. Must be unique per merchant.
  - `panNumber` string, required — PAN of the business entity. Valid types — P (Individual), C (Company), T (Trust), F (Firm).

## Response `201`

Merchant onboarding record created successfully.

- CommonSuccessResponse
  - `gid` string — PayGlocal global transaction ID.
  - `timestamp` string — Response timestamp (DD/MM/YYYY HH:MM:SS).
  - `reasonCode` string — Empty string on success.
  - `data` object
    - `merchantInfo` MerchantInfo
      - `onboardingId` string — PayGlocal-generated onboarding ID.
      - `partnerOnboardingId` string — Partner's external onboarding ID.
      - `onboardingStatus` 'INITIATED' | 'IN_PROGRESS' | 'PENDING_VERIFICATION' | 'PENDING_REVIEW' | 'APPROVED' | 'REJECTED' | 'RFI' — Current onboarding lifecycle status.
      - `businessDetails` object
        - `entityType` string
        - `gstNumber` string
        - `natureOfBusiness` string
        - `registeredName` string
        - `tradeName` string
        - `iec` string
        - `businessMonthlySize` string
        - `websiteUrl` string
        - `purposeCode` string
        - `businessRegisteredAddress` Address
          - `streetAddress1` string — Primary street line.
          - `streetAddress2` string — Secondary street line (suite, floor, etc.).
          - `zipcode` string — PIN code.
          - `stateCode` string — Two-letter state code (e.g., MH, KA, DL).
          - `city` string — City name.
          - `state` string — Full state name.
        - `businessOperatingAddress` Address
          - `streetAddress1` string — Primary street line.
          - `streetAddress2` string — Secondary street line (suite, floor, etc.).
          - `zipcode` string — PIN code.
          - `stateCode` string — Two-letter state code (e.g., MH, KA, DL).
          - `city` string — City name.
          - `state` string — Full state name.
      - `directorDetails` object[]
        - `designation` string
        - `name` string
        - `pan` string
      - `beneficialOwnerDetails` object[]
        - `designation` string
        - `name` string
        - `pan` string
        - `percentageOwnership` number
      - `authorisedSignatoryDetails` object
        - `authSignatoryName` string
        - `authSignatoryPan` string
        - `contact` object
          - `phone` string
          - `email` string
      - `settlementDetails` object
        - `bankAccountNumber` string
        - `bankIfscCode` string
        - `accountHolderName` string
        - `accountType` 'CURRENT' | 'SAVINGS'
    - `merchantOnboardingCheckListStatus` ChecklistStatus
      - `businessDetails` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `beneficialOwners` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `bankDetails` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `authorisedSignatory` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `vkyc` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `digiLocker` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `tncAcknowledged` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `documents` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `products` 'COMPLETE' | 'INCOMPLETE' | 'NOT_APPLICABLE' — Per-step completion state for an onboarding checklist field.
      - `documentsToBeUploaded` string[]

## Other responses

- `400` — Validation error — missing or invalid fields.
- `401` — Authentication failed — invalid API key or digest.

---

[API](https://skmtc.net/payglocal/apis/payglocal-api.md) · [All operations](https://skmtc.net/payglocal/apis/payglocal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/payglocal/payglocal-api/revisions/498446abc56d/schema)
