> ## 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: Partial-update a Didit Business (KYB) entity by vendor_data.

Endpoint: PATCH https://verification.didit.me/v3/businesses/{vendor_data}/
Auth header: x-api-key: <DIDIT_API_KEY>
Content-Type: application/json

Path param:
\- vendor_data (string, REQUIRED) — free-form string, NOT a UUID. URL-encode.

Request body (PARTIAL — only included fields are touched; counters and session history are left alone):
\- display_name (string, nullable)
\- legal_name (string, nullable)
\- registration_number (string, nullable)
\- country_code (string, nullable) — ISO 3166-1 alpha-2.
\- region (string, nullable) — ISO 3166-2.
\- status (enum) — "ACTIVE" | "FLAGGED" | "BLOCKED" (VendorBusinessStatusChoices). Setting "BLOCKED" auto-adds vendor_data to the system blocklist.
\- metadata (object, nullable) — REPLACES existing metadata wholesale; merge client-side if you only want to add keys.
\- reason (string, optional, max 1000): why the status changed. Recorded on the status-change entry in the company's Activity in the Business Console, only when this update actually changes status. Webhooks do not carry it.

curl:
curl -X PATCH 'https://verification.didit.me/v3/businesses/company-123/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"display_name": "Acme", "metadata": {"tier": "enterprise"}}'

Response 200: full updated BusinessDetailItem (same shape as GET). See /reference/data-models.

Side effects:
\- Every edit is recorded in the company's activity (actor derived from the API key): a status change with reason, and a profile update when display_name, legal_name, registration_number, country_code or metadata change.
\- last_activity_at bumped to now().
\- Re-sending an unchanged body is safe.

Failure modes:
\- 400 — validation. Common: { "status": ["Invalid status. Valid options are: ACTIVE, FLAGGED, BLOCKED"] }, { "metadata": ["Metadata must be a JSON object."] }
\{ "reason": ["Ensure this field has no more than 1000 characters."] }
\- 401 — missing/invalid x-api-key.
\- 403: a scoped API key without businesses write. { "detail": "This API key has no write access to companies." }
\- 404 — vendor_data not found.
\- 429 — rate-limited.

Notes:
\- vendor_data in the URL cannot be changed via this endpoint.
\- For status-only flips, prefer the dedicated PATCH /v3/businesses/{vendor_data}/update-status/.
\- Overriding registry-derived fields is allowed but flagged in the audit log.

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) के बदले जा सकने वाले फ़ील्ड अपडेट करता है। रजिस्ट्री लुकअप से भरे गए फ़ील्ड (`legal_name`, `registration_number`, `country_code`) पहले स्वीकृत व्यवसाय सत्यापन (KYB) सत्र के बाद केवल-पठन हो जाते हैं।## इसका उपयोग कब करें- **नाम बदलें**: आंतरिक व्यू के लिए बेहतर `display_name` सेट करें।
- **मेटाडेटा अपडेट करें**: किसी व्यवसाय को आंतरिक स्तरों के बीच ले जाएं, आंतरिक नोट दर्ज करें, या टैग बदलें।
- **रजिस्ट्री डेटा ओवरराइड करें** (सावधानी के साथ): ओवरराइड स्वीकार किए जाते हैं, लेकिन [ऑडिट लॉग](https://docs.didit.me/hi/console/audit-logs.md) में चिह्नित किए जाते हैं।## नोट्स- URL में `vendor_data` को इस endpoint से नहीं बदला जा सकता।
- `changed_fields` ऐरे के साथ `business.data.updated` webhook भेजा जाता है।
- हर संपादन Business Console में कंपनी की **गतिविधि** में दर्ज होता है।
  `status` बदलने पर वैकल्पिक `reason` (अधिकतम 1000 वर्ण) के साथ दर्ज होता है, और `display_name`, `legal_name`, `registration_number`, `country_code` या `metadata` में बदलाव प्रोफ़ाइल अपडेट के रूप में दर्ज होता है।
  `business.status.updated` webhook में `reason` शामिल नहीं होता।## अनुमतियांमुख्य सीक्रेट और पूर्ण-पहुंच वाली [API कुंजियां](https://docs.didit.me/hi/console/api-keys.md) इस endpoint को हमेशा कॉल कर सकती हैं।
कस्टम पहुंच वाली कुंजी को **कंपनियों** (`businesses`) के लिए लिखने की अनुमति चाहिए।
जो कुंजी केवल कुछ वर्कफ़्लो या स्वीकृत सत्रों तक सीमित है, वह इस endpoint तक नहीं पहुंच सकती।Console की [भूमिकाएं और अनुमतियां](https://docs.didit.me/hi/console/roles-permissions.md) तय करती हैं कि कोई टीम सदस्य Console में क्या कर सकता है।
API कुंजी के अनुरोधों के लिए इनका मूल्यांकन नहीं किया जाता।## संबंधित- [व्यवसाय संचालन](https://docs.didit.me/hi/entities/businesses/operations.md)
- [डेटा मॉडल](https://docs.didit.me/hi/entities/businesses/data-model.md)
- [स्थिति अपडेट करें](https://docs.didit.me/hi/management-api/businesses/update-status.md)


## OpenAPI

````yaml hi/openapi-25.json PATCH /v3/businesses/{vendor_data}/
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/{vendor_data}/:
    patch:
      tags:
        - Businesses
      summary: व्यवसाय अपडेट करें
      description: >-
        व्यवसाय का आंशिक अपडेट: `display_name`, `legal_name`,
        `registration_number`, `country_code`, `status`, `metadata`। `metadata`
        पूरी तरह से बदल जाता है। `status` को `BLOCKED` पर सेट करने से
        `vendor_data` सिस्टम ब्लॉकलिस्ट में जुड़ जाता है; `BLOCKED` से हटाने पर
        वह प्रविष्टि हट जाती है। प्रत्येक संपादन कंपनी की गतिविधि में रिकॉर्ड
        किया जाता है: वैकल्पिक `reason` के साथ स्टेटस परिवर्तन, और प्रोफ़ाइल
        अपडेट के रूप में `display_name`, `legal_name`, `registration_number`,
        `country_code` या `metadata` में परिवर्तन।
      operationId: update_business
      parameters:
        - name: vendor_data
          in: path
          required: true
          schema:
            type: string
          description: >-
            व्यवसाय के लिए आपका विशिष्ट पहचानकर्ता (मुक्त-रूप स्ट्रिंग, UUID
            नहीं)।
          example: company-123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                आंशिक-अपडेट बॉडी। केवल वे फ़ील्ड प्रदान करें जिन्हें आप बदलना
                चाहते हैं।
              properties:
                display_name:
                  type: string
                  nullable: true
                  description: >-
                    कंसोल में दिखाया जाने वाला मैत्रीपूर्ण डिस्प्ले नाम (UI
                    डिस्प्ले के लिए `legal_name` पर वरीयता लेता है)।
                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`)।
                status:
                  type: string
                  enum:
                    - ACTIVE
                    - FLAGGED
                    - BLOCKED
                  description: >-
                    व्यवसाय जीवनचक्र स्थिति। `BLOCKED` सेट करने पर सिस्टम
                    ब्लॉकलिस्ट में `vendor_data` स्वचालित रूप से जुड़ जाता है;
                    `BLOCKED` से हटाने पर वह ब्लॉकलिस्ट प्रविष्टि हट जाती है।
                metadata:
                  type: object
                  nullable: true
                  description: >-
                    व्यवसाय से जुड़ा आपका मनमाना JSON ऑब्जेक्ट। अपडेट करने पर
                    मौजूदा मेटाडेटा को **पूरी तरह से बदल देता है** — यदि आप केवल
                    कुंजियाँ जोड़ना चाहते हैं तो क्लाइंट-साइड मर्ज करें।
                reason:
                  type: string
                  nullable: true
                  maxLength: 1000
                  description: >-
                    स्थिति क्यों बदली। Business Console में कंपनी की
                    **Activity** की स्थिति-परिवर्तन प्रविष्टि पर रिकॉर्ड किया
                    जाता है, केवल तभी जब स्थिति वास्तव में बदलती है। Webhooks
                    इसे शामिल नहीं करते हैं।
            examples:
              Update name:
                summary: प्रदर्शित नाम अपडेट करें
                value:
                  display_name: Acme Corp
              Flag for review:
                summary: स्थिति बदलें
                value:
                  status: FLAGGED
              Add metadata:
                summary: मेटाडेटा JSON बदलें
                value:
                  metadata:
                    industry: fintech
                    risk_level: low
              Fix registry data:
                summary: निकाले गए फ़ील्ड सही करें
                value:
                  legal_name: Acme Trading International Ltd
                  registration_number: '12345678'
                  country_code: GB
              Flag with reason:
                summary: व्यवसाय को फ़्लैग करें और कारण रिकॉर्ड करें
                value:
                  status: FLAGGED
                  reason: Ownership structure under review
      responses:
        '200':
          description: >-
            व्यवसाय अपडेट किया गया। पूरा अपडेट किया गया व्यवसाय रिकॉर्ड लौटाया
            जाता है।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessDetailItem'
              examples:
                Updated:
                  value:
                    didit_internal_id: a1b2c3d4-e5f6-4890-abcd-ef1234567890
                    vendor_data: company-123
                    display_name: Acme Corp
                    legal_name: Acme Trading Ltd
                    registration_number: '12345678'
                    country_code: GB
                    effective_name: Acme Corp
                    status: FLAGGED
                    session_count: 2
                    approved_count: 1
                    declined_count: 0
                    in_review_count: 1
                    features:
                      KYB: Approved
                    features_list:
                      - feature: KYB
                        status: Approved
                    last_session_at: '2026-03-15T10:30:00Z'
                    last_activity_at: '2026-03-15T10:30:00Z'
                    first_session_at: '2026-01-10T08:00:00Z'
                    tags:
                      - uuid: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
                        name: VIP
                        color: '#2567FF'
                    created_at: '2026-01-10T08:00:00Z'
                    metadata:
                      industry: fintech
                      risk_level: low
                    updated_at: '2026-03-15T10:30:00Z'
        '400':
          description: >-
            अमान्य body: आमतौर पर एक अज्ञात `status`, विकृत `metadata` या 1000
            वर्णों से अधिक का `reason`।
          content:
            application/json:
              examples:
                Bad status:
                  value:
                    status:
                      - >-
                        Invalid status. Valid options are: ACTIVE, FLAGGED,
                        BLOCKED
                Bad metadata:
                  value:
                    metadata:
                      - Metadata must be a JSON object.
                Reason too long:
                  value:
                    reason:
                      - Ensure this field has no more than 1000 characters.
        '403':
          description: >-
            अनुपलब्ध, अमान्य या निरस्त API कुंजी, या यह कुंजी इस एप्लिकेशन के
            लिए व्यवसायों को अपडेट नहीं कर सकती है। अनुपलब्ध कुंजी पर `403`
            मिलता है; गलत, निरस्त या समय-सीमा समाप्त कुंजी पर `401` मिलता है।
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            इस एप्लिकेशन के लिए दिए गए `vendor_data` वाला कोई (हटाया न गया)
            व्यवसाय मौजूद नहीं है।
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Not found.
        '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 PATCH
            'https://verification.didit.me/v3/businesses/company-123/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"display_name": "Acme Corp", "status": "FLAGGED"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.businesses.update(
                "company-123",
                display_name="Acme Corp",
            )
            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.update("company-123", {
              display_name: "Acme Corp",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Businesses.Update(ctx, \"company-123\", didit.BusinessesUpdateParams{\n\tDisplayName: didit.String(\"Acme Corp\"),\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.BusinessesUpdateParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result = client.businesses().update("company-123",
            BusinessesUpdateParams.builder()
                    .displayName("Acme Corp")
                    .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->update('company-123', [
                'display_name' => 'Acme Corp',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.businesses.update(
              "company-123",
              display_name: "Acme Corp"
            )
            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.UpdateAsync("company-123", new
            BusinessesUpdateParams

            {
                DisplayName = "Acme Corp",
            });

            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.