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

# व्यवसाय बनाने का API: विक्रेता KYB इकाई

> Didit में KYB सत्र शुरू होने से पहले व्यवसाय इकाइयाँ पहले से बनाएँ। बाहरी डेटाबेस से थोक ऑनबोर्डिंग करें या लेन-देन निगरानी के लिए पंजीकरण करें।



व्यवसाय बनाने का प्रॉम्प्ट
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\`Goal: Pre-create a Didit Business (KYB) entity by vendor_data before any KYB session runs.

Endpoint: POST https://verification.didit.me/v3/businesses/create/
Auth header: x-api-key: <DIDIT_API_KEY>
Content-Type: application/json

Request body fields:
\- vendor_data (string, REQUIRED) — your unique identifier. Free-form string, NOT a UUID. Must be unique among non-deleted businesses for the app. Normalised lowercase + whitespace trim ("COMPANY-1" and "company-1" collide).
\- display_name (string, nullable) — friendly display name shown in Console (takes precedence over legal_name).
\- legal_name (string, nullable)
\- registration_number (string, nullable)
\- country_code (string, nullable) — country of incorporation, ISO 3166-1 alpha-2 (e.g. "GB", "US").
\- region (string, nullable) — ISO 3166-2 subdivision code.
\- status (enum) — "ACTIVE" | "FLAGGED" | "BLOCKED" (VendorBusinessStatusChoices). Defaults to "ACTIVE".
\- metadata (object, nullable) — arbitrary JSON.

curl:
curl -X POST 'https://verification.didit.me/v3/businesses/create/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data": "company-456", "legal_name": "New Corp Ltd", "country_code": "US"}'

Response 201: full BusinessDetailItem (same shape as GET /v3/businesses/{vendor_data}/). Includes didit_internal_id (UUID), session_count=0, metadata, comments=[], created_at, updated_at. See /reference/data-models.

Failure modes (envelope {"detail": "..."} for auth):
\- 400 — validation errors keyed by field. Common cases:
\{ "vendor_data": ["A business with this vendor_data already exists."] }  // NOT idempotent — use PATCH /v3/businesses/{vendor_data}/ to update.
\{ "vendor_data": ["This field is required."] }
\{ "metadata": ["Metadata must be a JSON object."] }
\- 401 — missing/invalid x-api-key.
\- 403 — lacks create:businesses.
\- 429 — rate-limited.

Upsert pattern (NOT idempotent on vendor_data):
GET /v3/businesses/{vendor_data}/  → on 404, POST /v3/businesses/create/; on 200, PATCH /v3/businesses/{vendor_data}/.

Notes:
\- Registry-derived fields (legal_name, registration_number, country_code) can be seeded here but will be OVERWRITTEN by the first approved Business Verification (KYB) session's registry data.
\- last_activity_at is set at the moment of creation.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

यहाँ पेस्ट करें

## अवलोकनकिसी भी व्यवसाय सत्यापन (KYB) सत्र के चलने से पहले स्पष्ट रूप से एक [व्यवसाय इकाई](https://docs.didit.me/hi/entities/businesses/overview.md) बनाता है।## इसे कब उपयोग करें- पहले व्यवसाय सत्यापन (KYB) सत्र से पहले **मेटाडेटा पहले से भरने** (पार्टनर, स्तर, आंतरिक पहचानकर्ता) के लिए।
- मौजूदा व्यवसाय सूची के साथ किसी अन्य KYB विक्रेता से **माइग्रेट करें**।
- **केवल-लेन-देन पंजीकरण**: उस व्यवसाय के लिए लेन-देन सबमिट करें जिसे आपने ऑफ़लाइन प्रक्रिया से सत्यापित किया है।## नोट्स- `vendor_data` आवश्यक है और प्रत्येक एप्लिकेशन के लिए अद्वितीय होता है। डुप्लिकेट वैल्यू भेजने पर कॉन्फ़्लिक्ट त्रुटि लौटती है। अपडेट करने के लिए [`PATCH /v3/businesses/{vendor_data}/`](https://docs.didit.me/hi/management-api/businesses/update) का उपयोग करें।
- रजिस्ट्री से प्राप्त फ़ील्ड (`legal_name`, `registration_number`, `country_code`) पहले से भरे जा सकते हैं, लेकिन पहले स्वीकृत व्यवसाय सत्यापन (KYB) सत्र के रजिस्ट्री डेटा से **ओवरराइट** हो जाएँगे।
- यदि `country_code` आपके एप्लिकेशन की [खतरनाक देशों](https://docs.didit.me/hi/entities/businesses/blocklist.md#खतरनाक-देश) सूची से मेल खाता है, तो व्यवसाय `BLOCKED` स्थिति में बनाया जाता है।
- `business.data.updated` इवेंट भेजता है।## अनुमतियाँभूमिका में `create:businesses` की अनुमति होनी चाहिए।## संबंधित- [व्यवसाय डेटा मॉडल](https://docs.didit.me/hi/entities/businesses/data-model.md)
- [विक्रेता डेटा लिंकिंग](https://docs.didit.me/hi/entities/vendor-data-linking.md)
- [व्यवसाय संचालन](https://docs.didit.me/hi/entities/businesses/operations.md)


## OpenAPI

````yaml hi/openapi-25.json POST /v3/businesses/create/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: पहचान सत्यापन API। x-api-key हेडर के साथ प्रमाणीकृत करें।
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/businesses/create/:
    post:
      tags:
        - Businesses
      summary: व्यवसाय बनाएं
      description: >-
        बिना KYB सत्र के पहले से एक [व्यवसाय](/entities/businesses) बनाएं। सभी
        फ़ील्ड वैकल्पिक हैं, लेकिन आपको हमेशा `vendor_data` भेजना चाहिए — इसके
        बिना रिकॉर्ड को सत्रों या लेन-देन से लिंक नहीं किया जा सकता है। प्रदान
        किए जाने पर, गैर-हटाए गए व्यवसायों के बीच `vendor_data` अद्वितीय होना
        चाहिए (सटीक मिलान; टकराव होने पर 400 वापस आता है)। आइडेम्पोटेंट नहीं है।
      operationId: create_business
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                vendor_data:
                  type: string
                  nullable: true
                  description: >-
                    इस व्यवसाय के लिए आपका विशिष्ट पहचानकर्ता (मुक्त-रूप
                    स्ट्रिंग, UUID नहीं)। वैकल्पिक लेकिन दृढ़ता से अनुशंसित।
                    प्रदान किए जाने पर, एप्लिकेशन के लिए गैर-हटाए गए व्यवसायों
                    के बीच विशिष्ट होना चाहिए; ठीक वैसे ही मिलान किया जाता है
                    जैसा भेजा गया था।
                display_name:
                  type: string
                  nullable: true
                  maxLength: 255
                  description: >-
                    कंसोल में दिखाया जाने वाला मैत्रीपूर्ण डिस्प्ले नाम (UI
                    डिस्प्ले के लिए `legal_name` पर वरीयता लेता है)।
                legal_name:
                  type: string
                  nullable: true
                  maxLength: 255
                  description: कंपनी का आधिकारिक कानूनी नाम।
                registration_number:
                  type: string
                  nullable: true
                  maxLength: 100
                  description: कंपनी पंजीकरण या निगमन संख्या।
                country_code:
                  type: string
                  nullable: true
                  maxLength: 10
                  description: निगमन का देश (ISO 3166-1 alpha-2, उदा. `GB`, `US`)।
                status:
                  type: string
                  enum:
                    - ACTIVE
                    - FLAGGED
                    - BLOCKED
                  default: ACTIVE
                  description: प्रारंभिक जीवनचक्र स्थिति। डिफ़ॉल्ट रूप से `ACTIVE` है।
                metadata:
                  type: object
                  nullable: true
                  description: >-
                    व्यवसाय से जुड़ा आपका मनमाना JSON ऑब्जेक्ट। डिफ़ॉल्ट रूप से
                    `{}` होता है।
            examples:
              Basic:
                summary: अनुशंसित न्यूनतम
                value:
                  vendor_data: company-456
                  legal_name: New Corp Ltd
                  country_code: US
              Full:
                summary: सभी फ़ील्ड
                value:
                  vendor_data: company-789
                  display_name: New Corp
                  legal_name: New Corp International Ltd
                  registration_number: '98765432'
                  country_code: DE
                  status: ACTIVE
                  metadata:
                    industry: fintech
                    tier: enterprise
      responses:
        '201':
          description: >-
            व्यवसाय बनाया गया। पूरा व्यवसाय रिकॉर्ड लौटाया गया (Get Business के
            समान प्रारूप)।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessDetailItem'
              examples:
                Created:
                  value:
                    didit_internal_id: a1b2c3d4-e5f6-4890-abcd-ef1234567890
                    vendor_data: company-456
                    display_name: null
                    legal_name: New Corp Ltd
                    registration_number: null
                    country_code: US
                    effective_name: New Corp Ltd
                    status: ACTIVE
                    session_count: 0
                    approved_count: 0
                    declined_count: 0
                    in_review_count: 0
                    features: {}
                    features_list: []
                    last_session_at: null
                    last_activity_at: '2026-03-15T10:30:00Z'
                    first_session_at: null
                    tags: []
                    created_at: '2026-03-15T10:30:00Z'
                    metadata: {}
                    updated_at: '2026-03-15T10:30:00Z'
        '400':
          description: >-
            अमान्य body — आमतौर पर एक डुप्लिकेट `vendor_data`, एक अज्ञात
            `status`, या विकृत `metadata`।
          content:
            application/json:
              examples:
                Duplicate:
                  value:
                    vendor_data:
                      - A business with this vendor_data already exists.
                Bad status:
                  value:
                    status:
                      - >-
                        Invalid status. Valid options are: ACTIVE, FLAGGED,
                        BLOCKED
                Bad metadata:
                  value:
                    metadata:
                      - Metadata must be a JSON object.
        '403':
          description: >-
            अनुपलब्ध, अमान्य, या निरस्त API कुंजी, या कुंजी इस एप्लिकेशन के लिए
            व्यवसाय नहीं बना सकती। अनुपलब्ध कुंजी `403` लौटाती है; गलत, निरस्त
            या समय-सीमा समाप्त कुंजी `401` लौटाती है।
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: >-
            रेट लिमिट पार हो गई; थोड़ा रुकें और `Retry-After` में बताए गए अंतराल
            के बाद पुनः प्रयास करें।
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST 'https://verification.didit.me/v3/businesses/create/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"vendor_data": "company-456", "legal_name": "New Corp Ltd", "country_code": "US"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.businesses.create(
                vendor_data="company-456",
                legal_name="New Corp Ltd",
                country_code="US",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.businesses.create({
              vendor_data: "company-456",
              legal_name: "New Corp Ltd",
              country_code: "US",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Businesses.Create(ctx, didit.BusinessesCreateParams{\n\tVendorData:  didit.String(\"company-456\"),\n\tLegalName:   didit.String(\"New Corp Ltd\"),\n\tCountryCode: didit.String(\"US\"),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.BusinessesCreateParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.businesses().create(BusinessesCreateParams.builder()
                    .vendorData("company-456")
                    .legalName("New Corp Ltd")
                    .countryCode("US")
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->businesses->create([
                'vendor_data' => 'company-456',
                'legal_name' => 'New Corp Ltd',
                'country_code' => 'US',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.businesses.create(
              vendor_data: "company-456",
              legal_name: "New Corp Ltd",
              country_code: "US"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Businesses.CreateAsync(new
            BusinessesCreateParams

            {
                VendorData = "company-456",
                LegalName = "New Corp Ltd",
                CountryCode = "US",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    BusinessDetailItem:
      type: object
      description: >-
        पूर्ण व्यवसाय विवरण। मेटाडेटा और updated_at के साथ BusinessListItem का
        विस्तार करता है।
      allOf:
        - $ref: '#/components/schemas/BusinessListItem'
        - type: object
          properties:
            metadata:
              type: object
              description: >-
                कस्टम मेटाडेटा JSON जिसे आपने इस व्यवसाय से जोड़ा है। डिफ़ॉल्ट
                `{}` है।
            updated_at:
              type: string
              format: date-time
    BusinessListItem:
      type: object
      description: एक सत्यापित व्यवसाय।
      properties:
        didit_internal_id:
          type: string
          format: uuid
          description: इस व्यवसाय के लिए Didit का स्थायी आंतरिक UUID।
        vendor_data:
          type: string
          nullable: true
          description: >-
            इस व्यवसाय के लिए आपका विशिष्ट पहचानकर्ता (सत्र बनाते समय पास किया
            गया)। जब कोई वेंडर पहचानकर्ता प्रदान नहीं किया गया था, तो यह null हो
            सकता है।
        display_name:
          type: string
          nullable: true
          description: आपके द्वारा सेट किया गया कस्टम प्रदर्शन नाम
        legal_name:
          type: string
          nullable: true
          description: रजिस्ट्री या मैन्युअल प्रविष्टि से आधिकारिक कानूनी नाम
        registration_number:
          type: string
          nullable: true
          description: कंपनी पंजीकरण या निगमन संख्या
        country_code:
          type: string
          nullable: true
          description: निगमन का देश (ISO 3166-1 alpha-2, उदा. `GB`, `US`)।
        effective_name:
          type: string
          nullable: true
          description: 'सर्वोत्तम उपलब्ध नाम: यदि सेट है तो display_name, अन्यथा legal_name'
        status:
          type: string
          enum:
            - ACTIVE
            - FLAGGED
            - BLOCKED
          description: >-
            व्यवसाय रिकॉर्ड की लाइफ़साइकिल स्थिति (सत्र स्थिति नहीं)। `ACTIVE`
            डिफ़ॉल्ट है, `FLAGGED` इसे मैन्युअल ध्यान के लिए चिह्नित करता है,
            `BLOCKED` इस `vendor_data` के लिए नए सत्रों को रोकता है।
        session_count:
          type: integer
          description: इस व्यवसाय के लिए सत्यापन सत्रों की कुल संख्या
        approved_count:
          type: integer
          description: स्वीकृत सत्रों की संख्या
        declined_count:
          type: integer
          description: अस्वीकृत सत्रों की संख्या
        in_review_count:
          type: integer
          description: समीक्षाधीन सत्रों की संख्या
        features:
          type: object
          description: >-
            इस व्यवसाय के सभी KYB सत्रों में प्रति-सुविधा एकत्रित स्थिति।
            वर्तमान में एकमात्र कुंजी `KYB` (रजिस्ट्री कंपनी जाँच स्थिति) है।
            संभावित मान: `Approved`, `Declined`, `In Review`, `Not Finished`,
            `Resub Requested`।
        features_list:
          type: array
          items:
            type: object
            properties:
              feature:
                type: string
              status:
                type: string
          description: >-
            `features` जैसा ही डेटा, `{feature, status}` ऑब्जेक्ट्स के एक
            क्रमबद्ध ऐरे के रूप में।
        last_session_at:
          type: string
          format: date-time
          nullable: true
          description: सबसे हाल के सत्र का टाइमस्टैम्प
        first_session_at:
          type: string
          format: date-time
          nullable: true
          description: पहले सत्र का टाइमस्टैम्प
        last_activity_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            सबसे हाल की गतिविधि का टाइमस्टैम्प (स्थिति परिवर्तन, सत्र अपडेट,
            आदि)
        tags:
          type: array
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              name:
                type: string
              color:
                type: string
          description: इस व्यवसाय को असाइन किए गए टैग
        created_at:
          type: string
          format: date-time
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.