> ## 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) इकाइयों को vendor_data या didit_internal_id के आधार पर थोक में हटाएँ। यह प्रक्रिया GDPR और CCPA-अनुपालन है।



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



      
      

\<pre>

\`Goal: Permanently delete one or many Didit Business (KYB) entities. The matching business records, their tag links, and their comment history are removed permanently. Verification sessions and their records (KYB session data, document submissions, AML hits, beneficial-owner verifications) are NOT removed by this endpoint; delete those separately with DELETE /v3/session/{sessionId}/delete/.

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

Request body — provide EXACTLY ONE selector (mutually exclusive):
\- vendor_data_list: string[] — your own identifiers (case-insensitive after normalisation).
\- didit_internal_id_list: string[] (UUIDs) — Didit's internal IDs.
\- delete_all: true — wipe every business in this application. No confirmation, no undo.

curl:
curl -X POST 'https://verification.didit.me/v3/businesses/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["company-123", "company-456"]}'

Response 200:
\{
"deleted": <int — number of businesses actually deleted; excludes vendor_data values that didn't match>
}

Idempotency: re-sending the same list returns deleted: 0 after the first run (unmatched IDs are silently skipped). There is no undo.

Failure modes:
\- 400 — no selector supplied. { "detail": "Provide vendor_data_list, didit_internal_id_list, or set delete_all=true." }
\- 401 — missing/invalid x-api-key.
\- 403 — lacks delete:businesses. { "detail": "You do not have permission to perform this action." }
\- 409 — the selection includes a company in a finalized regulatory report. Nothing is deleted. The body has code: in_filed_report and reports[] with uuid, report_number, report_type and case_uuid. Delete the reports, then repeat the request.
\- 409 — code: subject_deletion_in_progress: another request is still deleting one of the selected companies. This request deleted nothing; repeat it once that deletion has finished.
\- 429 — rate-limited.

WARNING — delete_all: true: there is no confirmation step and no undo. Restrict to API keys you intentionally provision for batch maintenance.

When to prefer status change instead:
\- For day-to-day blocking, use PATCH /v3/businesses/{vendor_data}/update-status/ with {"status": "BLOCKED"} — it keeps the audit trail intact while rejecting future sessions for the same identifier.

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

\</pre>



      
      

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

## अवलोकनएक या अधिक [व्यवसाय इकाइयों](https://docs.didit.me/hi/entities/businesses/overview.md) को हटाता है। व्यवसाय रिकॉर्ड स्थायी रूप से हटा दिए जाते हैं। व्यवसाय सत्यापन (KYB) सत्र इस endpoint से कवर नहीं होते और व्यवसाय से उनका लिंक हटाए जाने के बाद भी बने रहते हैं; उन्हें [सत्र हटाएँ](https://docs.didit.me/hi/sessions-api/delete-session.md) से हटाएँ। लेन-देन भी इसमें कवर नहीं होते; उन्हें [बैच में लेन-देन हटाएँ](https://docs.didit.me/hi/management-api/transactions/delete.md) से हटाएँ।## कब उपयोग करें- **भूल जाने का अधिकार** संबंधी अनुरोध।
- QA के दौरान परीक्षण व्यवसायों की **साफ़-सफ़ाई**।
- आपके अपने प्लेटफ़ॉर्म से हटाए गए व्यवसायों का **डीप्रोविज़निंग**।## नोट्स- `vendor_data` मानों या `didit_internal_id` मानों की सूची स्वीकार करता है।
- आइडेम्पोटेंसी है: पहले से हटाए जा चुके व्यवसाय को हटाने से कोई बदलाव नहीं होता।
- केवल हटाई गई चीज़ों की संख्या लौटाता है, प्रति-आइटम रिपोर्ट नहीं। जिन मानों से कोई मिलान नहीं हुआ, उन्हें बिना सूचना के छोड़ दिया जाता है।
- `deleted_at` सेट के साथ `business.data.updated` इवेंट जारी करता है।
- व्यवसाय इकाई के अपने रिकॉर्ड उसके साथ ही हटा दिए जाते हैं: उसके टैग लिंक, उसका टिप्पणी इतिहास, और उसके अपने डिवाइस और नेटवर्क रिकॉर्ड।
- व्यवसाय सत्यापन (KYB) सत्र द्वारा बनाए गए रिकॉर्ड इसमें **बिल्कुल नहीं** हटते: कंपनी रजिस्ट्री डेटा, अपलोड किए गए दस्तावेज़, AML हिट, वास्तविक स्वामी और प्रमुख व्यक्तियों की जाँच, ये सभी सत्र से जुड़े हैं और जब तक आप सत्र को स्वयं नहीं हटाते, तब तक बने रहते हैं।## अंतिम विनियामक रिपोर्ट वाला डेटायदि चुनी गई कोई भी कंपनी ऐसे केस का हिस्सा है जिसमें अंतिम विनियामक रिपोर्ट है, तो पूरा अनुरोध `409` लौटाता है और कुछ भी नहीं हटाया जाता। प्रतिक्रिया `code: in_filed_report` का उपयोग करती है और हर रिपोर्ट का नाम बताती है:```json theme={null}
{
  "detail": "A case about this person or company has a filed regulatory report, so it cannot be deleted.",
  "code": "in_filed_report",
  "reports": [
    {
      "uuid": "5ec00000-0000-4000-8000-000000000007",
      "report_number": "SAR-0001",
      "report_type": "SAR",
      "case_uuid": "c1a5e000-0000-4000-8000-000000000001"
    }
  ]
}
```[रिपोर्ट हटाएँ](https://docs.didit.me/hi/management-api/regulatory-reports/delete.md) से हर रिपोर्ट हटाएँ, फिर वही अनुरोध दोहराएँ।## पहले से चल रही हटाने की प्रक्रियाकिसी कंपनी को एक समय में एक ही अनुरोध से हटाया जाता है। यदि कोई दूसरा अनुरोध अभी भी चुनी गई किसी कंपनी को हटा रहा है, तो यह अनुरोध अधिकतम कुछ सेकंड प्रतीक्षा करता है, फिर `code: subject_deletion_in_progress` के साथ `409` लौटाता है और कुछ भी नहीं हटाता:```json theme={null}
{
  "detail": "This person or company is being deleted. Retry after deletion completes.",
  "code": "subject_deletion_in_progress"
}
```दूसरी हटाने की प्रक्रिया पूरी होने के बाद वही अनुरोध दोहराएँ। जिस कंपनी को यह अनुरोध पहले ही हटा चुका है, वह अब मेल नहीं खाती, इसलिए दोहराया गया अनुरोध केवल बची हुई कंपनियों को हटाता है।## अनुमतियाँभूमिका में `delete:businesses` की अनुमति होनी चाहिए। आम तौर पर यह `OWNER` और `ADMIN` भूमिकाओं के लिए आरक्षित होती है।## संबंधित- [डेटा प्रतिधारण](https://docs.didit.me/hi/console/data-retention.md)
- [ऑडिट लॉग](https://docs.didit.me/hi/console/audit-logs.md)
- [व्यवसाय संचालन](https://docs.didit.me/hi/entities/businesses/operations.md)


## OpenAPI

````yaml hi/openapi-25.json POST /v3/businesses/delete/
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/delete/:
    post:
      tags:
        - Businesses
      summary: व्यवसायों को बैच में हटाएं
      description: >-
        व्यवसायों को **स्थायी रूप से हटाएं** — इसे पहले जैसा नहीं किया जा सकता।
        ब्लॉक करने के लिए `BLOCKED` के साथ [व्यवसाय स्थिति अपडेट
        करें](#patch-/v3/businesses/-vendor_data-/update-status/) को प्राथमिकता
        दें।


        **दाखिल नियामक रिपोर्टें:** यदि चयनित डेटा किसी अंतिम रूप दी गई नियामक
        रिपोर्ट में है, तो पूरा अनुरोध `409` के साथ अस्वीकार कर दिया जाता है और
        कुछ भी हटाया नहीं जाता है। बॉडी `code: in_filed_report` का उपयोग करती है
        और प्रत्येक रिपोर्ट का नाम `uuid`, `report_number`, `report_type` और
        `case_uuid` के साथ निर्दिष्ट करती है। रिपोर्टों को हटाएं, फिर अनुरोध
        दोहराएं।
      operationId: batch_delete_businesses
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                `vendor_data_list`, `didit_internal_id_list`, या `delete_all:
                true` प्रदान करें। जब कई भेजे जाते हैं तो प्राथमिकता:
                `delete_all` > `vendor_data_list` > `didit_internal_id_list`
                (केवल उच्चतम-प्राथमिकता वाले चयनकर्ता का उपयोग किया जाता है)।
              properties:
                vendor_data_list:
                  type: array
                  items:
                    type: string
                  description: >-
                    हटाने के लिए आपके अपने पहचानकर्ता, ठीक वैसे ही मिलान किए
                    जाते हैं जैसे भेजे गए थे।
                didit_internal_id_list:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: हटाने के लिए Didit के आंतरिक UUIDs (`didit_internal_id`)।
                delete_all:
                  type: boolean
                  default: false
                  description: >-
                    यदि `true` है, तो एप्लिकेशन में प्रत्येक व्यवसाय को हटा देता
                    है। सूची चयनकर्ताओं के साथ संयोजित नहीं किया जा सकता है।
            examples:
              Specific businesses:
                summary: vendor_data द्वारा हटाएं
                value:
                  vendor_data_list:
                    - company-123
                    - company-456
              Specific internal IDs:
                summary: didit_internal_id द्वारा हटाएं
                value:
                  didit_internal_id_list:
                    - a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    - b2c3d4e5-f6a7-8901-bcde-f12345678901
              All businesses:
                summary: इस एप्लिकेशन में प्रत्येक व्यवसाय को मिटा दें
                value:
                  delete_all: true
      responses:
        '200':
          description: >-
            व्यवसाय हटा दिए गए। वास्तव में हटाई गई पंक्तियों की संख्या लौटाता
            है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  deleted:
                    type: integer
                    description: >-
                      हटाए गए व्यवसायों की संख्या (उन vendor_data मानों को
                      छोड़ता है जो किसी चीज़ से मेल नहीं खाते थे)।
              examples:
                Deleted some:
                  value:
                    deleted: 2
                Nothing matched:
                  value:
                    deleted: 0
        '400':
          description: >-
            कोई चयनकर्ता प्रदान नहीं किया गया (`vendor_data_list`,
            `didit_internal_id_list`, और `delete_all` सभी अनुपस्थित या खाली
            हैं)। एरर बॉडी एक JSON ऐरे है।
          content:
            application/json:
              examples:
                Missing selector:
                  value:
                    - >-
                      Provide vendor_data_list, didit_internal_id_list, or set
                      delete_all=true.
        '403':
          description: >-
            अनुपलब्ध, अमान्य या निरस्त API कुंजी, या यह कुंजी इस एप्लिकेशन के
            लिए व्यवसायों को हटा नहीं सकती है। अनुपलब्ध कुंजी पर `403` मिलता है;
            गलत, निरस्त या समय-सीमा समाप्त कुंजी पर `401` मिलता है।
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '409':
          description: >-
            कुछ भी हटाया नहीं गया है। `code` इसका कारण बताता है:
            `in_filed_report` तब जब चयन में किसी अंतिम विनियामक रिपोर्ट में
            शामिल कंपनी हो, `subject_deletion_in_progress` तब जब कोई अन्य अनुरोध
            अभी भी चयनित कंपनियों में से किसी एक को हटा रहा हो। उस निष्कासन के
            समाप्त होने के बाद अनुरोध को दोहराएं।
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/InFiledReportError'
                  - $ref: '#/components/schemas/SubjectDeletionInProgressError'
        '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/delete/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"vendor_data_list": ["company-123", "company-456"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.businesses.batch_delete(
                vendor_data_list=["company-123", "company-456"],
            )
            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.batchDelete({
              vendor_data_list: ["company-123", "company-456"],
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Businesses.BatchDelete(ctx, didit.BusinessesBatchDeleteParams{\n\tVendorDataList: didit.Some([]string{\"company-123\", \"company-456\"}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.BusinessesBatchDeleteParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.businesses().batchDelete(BusinessesBatchDeleteParams.builder()
                    .vendorDataList(List.of("company-123", "company-456"))
                    .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->batchDelete([
                'vendor_data_list' => ['company-123', 'company-456'],
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result = didit.businesses.batch_delete(vendor_data_list:
            ["company-123", "company-456"])

            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.BatchDeleteAsync(new
            BusinessesBatchDeleteParams

            {
                VendorDataList = new string[] { "company-123", "company-456" },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    InFiledReportError:
      type: object
      description: >-
        हटाने से इनकार कर दिया गया है क्योंकि चयनित डेटा एक अंतिम विनियामक
        रिपोर्ट में है। कुछ भी हटाया नहीं गया है। रिपोर्ट हटाएं, फिर अनुरोध
        दोहराएं।
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - in_filed_report
          description: >-
            अंतिम रूप दी गई नियामक रिपोर्ट द्वारा अवरुद्ध विलोपन के लिए स्थिर
            त्रुटि कोड।
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: >-
            ऐसी रिपोर्ट जो किसी व्यक्ति, कंपनी, केस या सत्र के विलोपन को ब्लॉक
            करती हैं।
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FiledReportTransaction'
          description: >-
            लेन-देन जो किसी लेन-देन विलोपन को ब्लॉक करते हैं, प्रत्येक उन
            रिपोर्टों के साथ जो इसे सूचीबद्ध करती हैं।
    SubjectDeletionInProgressError:
      type: object
      description: >-
        एक अन्य अनुरोध अभी भी इस व्यक्ति या कंपनी को हटा रहा है। इस अनुरोध ने
        कुछ भी नहीं हटाया और उस विलोपन के समाप्त होने के बाद इसे दोहराया जा सकता
        है; फिर से दोहराने पर वह सब कुछ हट जाता है जो अभी भी चयनित है।
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - subject_deletion_in_progress
          description: >-
            किसी ऐसे व्यक्ति या कंपनी के लिए स्थिर त्रुटि कोड जिसे कोई अन्य
            अनुरोध अभी भी हटा रहा है।
    FiledRegulatoryReport:
      type: object
      description: एक फ़ाइनलाइज़ की गई नियामक रिपोर्ट जो अनुरोधित विलोपन को रोकती है।
      required:
        - uuid
        - report_number
        - report_type
        - case_uuid
      properties:
        uuid:
          type: string
          format: uuid
          description: रिपोर्ट UUID।
        report_number:
          type: string
          description: कंसोल में दिखाई गई रिपोर्ट संख्या (उदाहरण के लिए, SAR-0001)।
        report_type:
          type: string
          enum:
            - SAR
            - STR
            - CTR
            - TTR
            - UTR
            - IFT
            - CBR
            - TFR
          description: नियामक रिपोर्ट प्रकार।
        case_uuid:
          type: string
          format: uuid
          description: वह केस जिससे यह रिपोर्ट संबंधित है।
    FiledReportTransaction:
      type: object
      description: >-
        एक लेन-देन जिसे हटाया नहीं जा सकता क्योंकि एक अंतिम रूप दी गई नियामक
        रिपोर्ट में इसे सूचीबद्ध किया गया है।
      required:
        - uuid
        - transaction_id
        - reports
      properties:
        uuid:
          type: string
          format: uuid
          description: Didit लेन-देन UUID।
        transaction_id:
          type: string
          description: लेन-देन बनाते समय प्रदान किया गया लेन-देन पहचानकर्ता।
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: अंतिम रूप दी गई रिपोर्टें जो इस लेन-देन को सूचीबद्ध करती हैं।
  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.