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

# व्यवसायों के लिए AML निगरानी टॉगल API

> एक कॉल में कई व्यवसायों के लिए सतत AML निगरानी चालू या बंद करें। Didit के साथ लागत अनुमान, जॉब स्थिति और प्रति व्यवसाय परिणाम पाएँ।



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



      
      

\<pre>

\`Goal: Enable or disable ongoing AML monitoring for one or many Didit Business (KYB) entities in a single call, with the same semantics as the Business Console. Preview the cost first with estimate_only, then run the change and read the per-business outcome.

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

Request body:
\- is_enabled: boolean (required) - true to enable monitoring, false to disable it.
\- estimate_only: boolean (default false) - when true, returns the cost preview and performs NO writes: no screening, no billing, no job.
\- vendor_data_list: string[] - your own identifiers, matched exactly as sent.
\- didit_internal_id_list: string[] (UUIDs) - the didit_internal_id returned by the create, get and list endpoints.
Provide at least one list; the two are OR'd. At most 1000 identifiers per request across both lists - split larger selections into several calls.

Semantics:
\- One monitored screening per business: a company that verified several times is monitored and billed once. Disabling turns monitoring off across all of the business's screenings.
\- Businesses without any AML screening are screened first (billed as a regular AML screening) using their legal name (or display name) and country; a business with no name is reported as skipped_no_identity_data.
\- Sandbox applications never create screenings (skipped_sandbox).
\- Enabling is refused with 403 when the organization balance does not cover the estimate; the response carries the estimate.

curl (estimate first):
curl -X POST 'https://verification.didit.me/v3/businesses/aml-monitoring/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"is_enabled": true, "estimate_only": true, "vendor_data_list": ["company-123", "company-456"]}'

Response 200 (estimate_only):
\{
"users_total": 2, "already_enabled": 0, "with_existing_aml": 1, "needing_screening": 1,
"skipped_no_identity_data": 0, "skipped_blocked": 0,
"estimated_screening_cost_usd": 0.2, "estimated_annual_monitoring_cost_usd": 0.14,
"balance_sufficient": true, "unmatched": []
}
(users_total counts the selected businesses; the estimate shape is shared with the users endpoint.)

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

Response 200 (20 businesses or fewer - processed inline, already COMPLETED) or 202 (more than 20 - running in the background):
\{
"job_id": "<uuid>", "status": "COMPLETED", "is_enabled": true, "target_type": "business",
"total": 2, "processed": 2,
"outcomes": {"enabled": 1, "screened_and_enabled": 1, "already_enabled": 0, "disabled": 0, "skipped_no_identity_data": 0, "skipped_blocked": 0, "skipped_sandbox": 0, "failed_provider": 0, "failed_insufficient_balance": 0},
"results": [
\{"didit_internal_id": "<uuid>", "vendor_data": "company-123", "outcome": "enabled"},
\{"didit_internal_id": "<uuid>", "vendor_data": "company-456", "outcome": "screened_and_enabled"}
],
"estimate": { ...same shape as above, without unmatched... },
"unmatched": [],
"error": null,                     // generic message when status is FAILED
"created_at": "<datetime>", "completed_at": "<datetime>"
}
On 202, poll GET /v3/aml-monitoring/jobs/{job_id}/ every couple of seconds until status is COMPLETED or FAILED; results fills in as businesses are processed.

Per-business outcome values: enabled, screened_and_enabled, already_enabled, disabled, skipped_no_identity_data, skipped_sandbox, failed_provider, failed_insufficient_balance (skipped_blocked is always 0 for businesses).

Failure modes:
\- 400 - is_enabled missing, no selector, or more than 1000 identifiers across both lists.
A selection that matches nothing is NOT an error: the job completes with total 0 and every identifier is listed under unmatched (same convention as the batch delete endpoints).
\- 401 - missing/invalid x-api-key.
\- 403 - insufficient balance to enable monitoring for this selection (body: error + estimate).

Idempotency: re-sending an enable returns already_enabled for businesses that are already monitored, with no second screening and no second bill. Disabling an unmonitored business returns disabled and changes nothing.

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) के लिए [सतत AML निगरानी](https://docs.didit.me/hi/core-technology/aml-screening/continuous-monitoring-aml-screening.md) सक्षम या अक्षम करता है, ठीक वैसे ही जैसे बिज़नेस कंसोल में **AML Ongoing monitoring** क्रिया करती है। कंसोल और यह endpoint एक ही अंतर्निहित ऑपरेशन चलाते हैं, इसलिए नियम, बिलिंग और परिणाम समान होते हैं।चुने गए व्यवसायों की संख्या, उनमें से कितनों को नई AML स्क्रीनिंग चाहिए, एक बार की स्क्रीनिंग लागत और वार्षिक निगरानी लागत जानने के लिए पहले `estimate_only: true` भेजें। ड्राई-रन से कुछ भी नहीं लिखा जाता। अनुमान में वही फ़ील्ड नाम इस्तेमाल होते हैं जो उपयोगकर्ता endpoint में हैं, इसलिए `users_total` चुने गए व्यवसायों की संख्या है।## चयन कैसे संसाधित होता है- **प्रति व्यवसाय केवल एक स्क्रीनिंग की निगरानी की जाती है।** जो कंपनी कई बार सत्यापित हुई है, उसकी केवल एक स्क्रीनिंग की निगरानी की जाती है और उसकी बिलिंग भी एक बार होती है। निगरानी बंद करने पर उस व्यवसाय की सभी स्क्रीनिंग में निगरानी बंद हो जाती है।
- **बिना AML स्क्रीनिंग वाले व्यवसायों की पहले स्क्रीनिंग होती है।** Didit उनके लिए नई AML स्क्रीनिंग बनाता है (जो व्यवसाय के **Verifications** टैब में दिखती है), उसकी बिलिंग नियमित AML स्क्रीनिंग की तरह होती है, और उस पर निगरानी सक्षम कर दी जाती है। स्क्रीनिंग व्यवसाय के कानूनी नाम (या प्रदर्शित नाम) और देश का उपयोग करती है। जिस व्यवसाय का कोई भी नाम नहीं है, उसे चुपचाप छोड़ा नहीं जाता, बल्कि `skipped_no_identity_data` के रूप में रिपोर्ट किया जाता है।
- **सैंडबॉक्स एप्लिकेशन कभी स्क्रीनिंग नहीं बनाते** (`skipped_sandbox`)।
- **बैलेंस पहले ही जाँचा जाता है।** जब आपका बैलेंस अनुमान को कवर नहीं करता, तो सक्षम करने का अनुरोध `403` के साथ अस्वीकार कर दिया जाता है, और रिस्पॉन्स में अनुमान शामिल होता है ताकि आप जान सकें कि कितना टॉप अप करना है।
- **वार्षिक नवीनीकरण।** जिस व्यवसाय की निगरानी नई शुरू हुई है, उससे उसकी अगली नवीनीकरण तिथि पर वार्षिक निगरानी शुल्क लिया जाता है। यह वही तिथि है जो कंसोल में **Ongoing monitoring** कॉलम में दिखती है। निगरानी बंद करने से नवीनीकरण रुक जाता है, लेकिन जो अवधि पहले ही बिल हो चुकी है उसकी धनवापसी नहीं होती।## चयन और बैच आकारव्यवसायों का चयन `vendor_data_list`, `didit_internal_id_list`, या दोनों से करें। दोनों सूचियों को OR के रूप में जोड़ा जाता है। एक अनुरोध में दोनों सूचियों को मिलाकर अधिकतम **1000 पहचानकर्ता** स्वीकार होते हैं। जो पहचानकर्ता आपके एप्लिकेशन के किसी व्यवसाय से मेल नहीं खाते, उन्हें जैसे भेजे गए थे वैसे ही `unmatched` के अंतर्गत लौटाया जाता है, और इससे अनुरोध कभी विफल नहीं होता। जो चयन किसी भी व्यवसाय से मेल नहीं खाता, वह खाली जॉब (`total: 0`) के रूप में पूरा होता है, जिसमें हर पहचानकर्ता सूचीबद्ध होता है। यह बैच डिलीट endpoint जैसा ही नियम है।## इनलाइन या पृष्ठभूमि में**20 या उससे कम व्यवसायों** के चयन इनलाइन संसाधित होते हैं, और कॉल पूर्ण जॉब के साथ `200` लौटाती है। बड़े चयन `PENDING` जॉब के साथ `202` लौटाते हैं। तब तक [AML Monitoring Job प्राप्त करें](https://docs.didit.me/hi/management-api/aml-monitoring/get-job.md) पर पोल करें जब तक `status` `COMPLETED` या `FAILED` न हो जाए। दोनों ही स्थितियों में जॉब में हर व्यवसाय के लिए उसके `outcome` के साथ एक `results` प्रविष्टि होती है।| `outcome` | अर्थ |
| - | - |
| `enabled` | मौजूदा AML स्क्रीनिंग पर निगरानी सक्षम की गई। |
| `screened_and_enabled` | नई AML स्क्रीनिंग बनाई गई (बिल हुई) और उस पर निगरानी सक्षम की गई। |
| `already_enabled` | निगरानी पहले से सक्रिय थी; कुछ नहीं बदला, कुछ बिल नहीं हुआ। |
| `disabled` | व्यवसाय की हर स्क्रीनिंग में निगरानी बंद की गई। |
| `skipped_no_identity_data` | व्यवसाय के पास स्क्रीन करने के लिए कोई कानूनी या प्रदर्शन नाम नहीं है। |
| `skipped_sandbox` | सैंडबॉक्स एप्लिकेशन; कोई स्क्रीनिंग नहीं बनाई गई। |
| `failed_provider` | स्क्रीनिंग पूरी नहीं हो सकी। बाद में पुनः प्रयास करें। |
| `failed_insufficient_balance` | जॉब चलने के दौरान बैलेंस समाप्त हो गया। |## Webhooksनिगरानी टॉगल करने से कोई अलग webhook नहीं भेजा जाता। निगरानी चालू होने के बाद, पुनः स्क्रीनिंग में वही सामान्य `status.updated` और `data.updated` इवेंट भेजे जाते रहते हैं, जो [सतत AML निगरानी](https://docs.didit.me/hi/core-technology/aml-screening/continuous-monitoring-aml-screening.md) में वर्णित हैं।## अनुमतियाँएप्लिकेशन की कोई भी सक्रिय API कुंजी इस endpoint को कॉल कर सकती है। Didit API कुंजियाँ **एप्लिकेशन-स्तरीय हैं, भूमिका-स्तरीय नहीं**। कंसोल की [भूमिकाएँ और अनुमतियाँ](https://docs.didit.me/hi/console/roles-permissions.md) तय करती हैं कि कोई *व्यक्ति* कंसोल में क्या कर सकता है, और Management API ट्रैफ़िक के लिए इनका मूल्यांकन नहीं होता।## संबंधित- [AML Monitoring Job प्राप्त करें](https://docs.didit.me/hi/management-api/aml-monitoring/get-job.md)
- [उपयोगकर्ताओं के लिए AML मॉनिटरिंग टॉगल करें](https://docs.didit.me/hi/management-api/aml-monitoring/toggle-users.md)
- [सतत AML निगरानी](https://docs.didit.me/hi/core-technology/aml-screening/continuous-monitoring-aml-screening.md)
- [व्यवसाय AML स्क्रीनिंग](https://docs.didit.me/hi/business-verification/aml.md)
- [व्यवसायों की सूची देखें](https://docs.didit.me/hi/management-api/businesses/list.md)


## OpenAPI

````yaml hi/openapi-25.json POST /v3/businesses/aml-monitoring/
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/aml-monitoring/:
    post:
      tags:
        - AML Ongoing Monitoring
      summary: व्यवसायों के लिए सतत AML निगरानी सक्षम या अक्षम करें
      description: >-
        चयनित व्यवसायों के लिए सतत AML निगरानी को चालू या बंद करता है, वही
        सेमांटिक्स के साथ जो Business Console में हैं। प्रति व्यवसाय ठीक एक
        मॉनिटर की गई AML स्क्रीनिंग रखी जाती है, ताकि कई बार सत्यापित होने वाले
        प्रोफ़ाइल की निगरानी और बिलिंग एक ही बार हो; अक्षम करने पर प्रोफ़ाइल की
        सभी स्क्रीनिंग में निगरानी बंद हो जाती है। बिना किसी AML स्क्रीनिंग वाले
        व्यवसायों की स्क्रीनिंग पहले की जाती है (नियमित AML स्क्रीनिंग के रूप
        में बिल की जाती है) जब उनके पास आवश्यक कानूनी या डिस्प्ले नाम होता है;
        अन्यथा उन्हें `skipped_no_identity_data` के रूप में रिपोर्ट किया जाता
        है।


        बिना कुछ लिखे केवल संख्या और लागत का पूर्वावलोकन करने के लिए
        `estimate_only: true` सेट करें। 20 या उससे कम प्रोफ़ाइल के चयन इनलाइन हल
        होते हैं और पूर्ण किए गए कार्य के साथ `200` लौटाते हैं; बड़े चयन `202`
        लौटाते हैं और बैकग्राउंड में चलते हैं - लौटाए गए `job_id` के साथ [Get
        AML monitoring job](#get-/v3/aml-monitoring/jobs/-job_id-/) को पोल करें।
        जब संगठन बैलेंस अनुमान को कवर नहीं करता है, तो सक्षम करने से `403` के
        साथ इनकार कर दिया जाता है। कुछ भी मेल न खाने वाले पहचानकर्ताओं को
        `unmatched` में सूचीबद्ध किया जाता है और वे अनुरोध को कभी विफल नहीं करते
        हैं: कुछ भी मेल न खाने वाला चयन एक खाली कार्य (`total` 0) के रूप में
        पूरा होता है, वही परिपाटी जो बैच डिलीट endpoint की है।
      operationId: toggle_businesses_aml_monitoring
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - is_enabled
              description: >-
                `vendor_data_list`, `didit_internal_id_list`, या दोनों के साथ
                व्यवसायों का चयन करें (दोनों सूचियाँ OR की जाती हैं)। दोनों
                सूचियों को मिलाकर प्रति अनुरोध अधिकतम 1000 पहचानकर्ता।
              properties:
                is_enabled:
                  type: boolean
                  description: निगरानी सक्षम करने के लिए true, इसे अक्षम करने के लिए false।
                estimate_only:
                  type: boolean
                  default: false
                  description: >-
                    true होने पर, लागत अनुमान लौटाता है और कोई राइट ऑपरेशन नहीं
                    करता है - कोई स्क्रीनिंग नहीं, कोई बिलिंग नहीं, कोई जॉब
                    नहीं।
                vendor_data_list:
                  type: array
                  items:
                    type: string
                  description: >-
                    टॉगल करने के लिए व्यवसायों के आपके अपने पहचानकर्ता, ठीक वैसे
                    ही मिलान किए जाते हैं जैसे भेजे गए थे।
                didit_internal_id_list:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    टॉगल करने के लिए व्यवसायों की Didit आंतरिक ids - create, get
                    और list endpoints द्वारा लौटाई गई `didit_internal_id`।
            examples:
              Estimate first:
                summary: बिना लिखे लागत का पूर्वावलोकन करें
                value:
                  is_enabled: true
                  estimate_only: true
                  vendor_data_list:
                    - company-123
                    - company-456
              Enable:
                summary: दो व्यवसायों के लिए निगरानी सक्षम करें
                value:
                  is_enabled: true
                  vendor_data_list:
                    - company-123
                    - company-456
              Disable:
                summary: Didit आंतरिक id द्वारा निगरानी अक्षम करें
                value:
                  is_enabled: false
                  didit_internal_id_list:
                    - 3f1c0d3e-8f0a-4c2e-9a3d-9b1f5f4a2c11
      responses:
        '200':
          description: >-
            अनुमान (जब `estimate_only` सत्य हो) या इनलाइन प्रोसेस किए गए चयन के
            लिए पूर्ण किया गया कार्य।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMLMonitoringToggleResult'
        '202':
          description: >-
            बड़े चयन बैकग्राउंड में चलते हैं। `job_id` के साथ जॉब endpoint को
            पोल करें; जैसे-जैसे प्रोफाइल प्रोसेस होते हैं, `results` भरता जाता
            है।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AMLMonitoringJob'
        '400':
          description: >-
            सत्यापन त्रुटि: `is_enabled` गायब है, कोई चयनकर्ता नहीं है, या दोनों
            सूचियों में मिलाकर 1000 से अधिक पहचानकर्ता हैं।
        '401':
          description: अनुपलब्ध या अमान्य API कुंजी।
        '403':
          description: >-
            इस चयन के लिए निगरानी सक्षम करने के लिए अपर्याप्त बैलेंस। रिस्पॉन्स
            में `estimate` शामिल होता है ताकि आप सही राशि का टॉप अप कर सकें।
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  estimate:
                    type: object
                    description: >-
                      लागत पूर्वावलोकन। estimate_only true होने पर सीधे लौटाया
                      जाता है (कुछ भी लिखा नहीं जाता है)।
                    properties:
                      users_total:
                        type: integer
                        description: चयन द्वारा मिलान की गई प्रोफ़ाइल।
                      already_enabled:
                        type: integer
                        description: >-
                          पहले से मॉनिटर की जा रही प्रोफ़ाइल (सक्षम करते समय कुछ
                          करने की आवश्यकता नहीं है; अक्षम करने पर इन्हें ही बंद
                          किया जाता है)।
                      with_existing_aml:
                        type: integer
                        description: >-
                          वे प्रोफ़ाइल जिनकी मौजूदा AML स्क्रीनिंग को निगरानी
                          में बदल दिया जाएगा (कोई नई स्क्रीनिंग नहीं)।
                      needing_screening:
                        type: integer
                        description: >-
                          बिना किसी AML स्क्रीनिंग वाली प्रोफ़ाइल जिनकी पहले
                          स्क्रीनिंग की जाएगी (नियमित AML स्क्रीनिंग के रूप में
                          बिल किया जाएगा)।
                      skipped_no_identity_data:
                        type: integer
                        description: >-
                          वे प्रोफ़ाइल जिनकी स्क्रीनिंग नहीं की जा सकती क्योंकि
                          पहचान डेटा मौजूद नहीं है।
                      skipped_blocked:
                        type: integer
                        description: >-
                          ब्लॉक किए गए उपयोगकर्ता जिन्हें छोड़ दिया जाएगा
                          (व्यवसायों के लिए हमेशा 0)।
                      estimated_screening_cost_usd:
                        type: number
                        example: 0.2
                        description: नई स्क्रीनिंग की एकमुश्त लागत।
                      estimated_annual_monitoring_cost_usd:
                        type: number
                        example: 0.07
                        description: >-
                          उन प्रोफ़ाइलों की वार्षिक निगरानी लागत जिनकी निगरानी
                          शुरू की जाएगी।
                      balance_sufficient:
                        type: boolean
                        description: >-
                          क्या संगठन का बैलेंस स्क्रीनिंग और निगरानी के पहले
                          वर्ष को कवर करता है।
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/businesses/aml-monitoring/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"is_enabled": true, "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.set_aml_monitoring(
                is_enabled=True,
                estimate_only=True,
                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.setAmlMonitoring({
              is_enabled: true,
              estimate_only: true,
              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.SetAMLMonitoring(ctx, didit.BusinessesSetAMLMonitoringParams{\n\tIsEnabled:      true,\n\tEstimateOnly:   didit.Bool(true),\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.BusinessesSetAmlMonitoringParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.businesses().setAmlMonitoring(BusinessesSetAmlMonitoringParams.builder()
                    .isEnabled(true)
                    .estimateOnly(true)
                    .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->setAmlMonitoring([
                'is_enabled' => true,
                'estimate_only' => true,
                '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.set_aml_monitoring(
              is_enabled: true,
              estimate_only: true,
              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.SetAmlMonitoringAsync(new
            BusinessesSetAmlMonitoringParams

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

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    AMLMonitoringToggleResult:
      oneOf:
        - type: object
          required:
            - users_total
            - already_enabled
            - with_existing_aml
            - needing_screening
            - skipped_no_identity_data
            - skipped_blocked
            - estimated_screening_cost_usd
            - estimated_annual_monitoring_cost_usd
            - balance_sufficient
            - unmatched
          description: >-
            लागत पूर्वावलोकन। estimate_only true होने पर सीधे लौटाया जाता है
            (कुछ भी लिखा नहीं जाता है)।
          properties:
            users_total:
              type: integer
              description: चयन द्वारा मिलान की गई प्रोफ़ाइल।
            already_enabled:
              type: integer
              description: >-
                पहले से मॉनिटर की जा रही प्रोफ़ाइल (सक्षम करते समय कुछ करने की
                आवश्यकता नहीं है; अक्षम करने पर इन्हें ही बंद किया जाता है)।
            with_existing_aml:
              type: integer
              description: >-
                वे प्रोफ़ाइल जिनकी मौजूदा AML स्क्रीनिंग को निगरानी में बदल दिया
                जाएगा (कोई नई स्क्रीनिंग नहीं)।
            needing_screening:
              type: integer
              description: >-
                बिना किसी AML स्क्रीनिंग वाली प्रोफ़ाइल जिनकी पहले स्क्रीनिंग की
                जाएगी (नियमित AML स्क्रीनिंग के रूप में बिल किया जाएगा)।
            skipped_no_identity_data:
              type: integer
              description: >-
                वे प्रोफ़ाइल जिनकी स्क्रीनिंग नहीं की जा सकती क्योंकि पहचान डेटा
                मौजूद नहीं है।
            skipped_blocked:
              type: integer
              description: >-
                ब्लॉक किए गए उपयोगकर्ता जिन्हें छोड़ दिया जाएगा (व्यवसायों के
                लिए हमेशा 0)।
            estimated_screening_cost_usd:
              type: number
              example: 0.2
              description: नई स्क्रीनिंग की एकमुश्त लागत।
            estimated_annual_monitoring_cost_usd:
              type: number
              example: 0.07
              description: >-
                उन प्रोफ़ाइलों की वार्षिक निगरानी लागत जिनकी निगरानी शुरू की
                जाएगी।
            balance_sufficient:
              type: boolean
              description: >-
                क्या संगठन का बैलेंस स्क्रीनिंग और निगरानी के पहले वर्ष को कवर
                करता है।
            unmatched:
              type: array
              items:
                type: string
              description: >-
                अनुरोध के वे पहचानकर्ता जिनका इस एप्लिकेशन में किसी प्रोफ़ाइल से
                मिलान नहीं हुआ, बिल्कुल वैसे ही जैसे भेजे गए थे।
        - type: object
          required:
            - job_id
            - status
            - is_enabled
            - target_type
            - total
            - processed
            - outcomes
            - results
            - error
            - created_at
            - completed_at
            - estimate
            - unmatched
          properties:
            job_id:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - PENDING
                - PROCESSING
                - COMPLETED
                - FAILED
            is_enabled:
              type: boolean
              description: >-
                जब जॉब निगरानी सक्षम करता है तो true, जब यह इसे अक्षम करता है तो
                false।
            target_type:
              type: string
              enum:
                - user
                - business
              description: जॉब किस प्रोफ़ाइल फ़ैमिली को टॉगल करता है।
            total:
              type: integer
              description: वे प्रोफ़ाइल जिन्हें जॉब संसाधित करता है।
            processed:
              type: integer
              description: अब तक संसाधित की गई प्रोफ़ाइल।
            outcomes:
              type: object
              description: >-
                प्रति-रिकॉर्ड परिणाम काउंटर। प्रत्येक चयनित प्रोफ़ाइल का परिणाम
                ठीक एक काउंटर में दर्ज होता है; कुछ भी चुपचाप छोड़ा नहीं जाता
                है।
              properties:
                enabled:
                  type: integer
                  description: मौजूदा AML स्क्रीनिंग पर निगरानी सक्षम कर दी गई।
                screened_and_enabled:
                  type: integer
                  description: >-
                    एक नई AML स्क्रीनिंग बनाई गई (बिल की गई) और उस पर निगरानी
                    सक्षम की गई।
                already_enabled:
                  type: integer
                  description: >-
                    निगरानी पहले से ही सक्रिय थी; कुछ भी नहीं बदला और कोई बिलिंग
                    नहीं की गई।
                disabled:
                  type: integer
                  description: >-
                    प्रोफ़ाइल की प्रत्येक AML स्क्रीनिंग में निगरानी बंद कर दी
                    गई।
                skipped_no_identity_data:
                  type: integer
                  description: >-
                    छोड़ा गया: प्रोफ़ाइल में स्क्रीनिंग के लिए आवश्यक पूरा नाम,
                    जन्म तिथि और देश (उपयोगकर्ता) या नाम (व्यवसाय) का अभाव है।
                skipped_blocked:
                  type: integer
                  description: 'छोड़ा गया: उपयोगकर्ता ब्लॉक है।'
                skipped_sandbox:
                  type: integer
                  description: >-
                    छोड़ा गया: सैंडबॉक्स एप्लिकेशन, कोई स्क्रीनिंग नहीं बनाई
                    जाती है।
                failed_provider:
                  type: integer
                  description: स्क्रीनिंग पूरी नहीं की जा सकी; बाद में पुनः प्रयास करें।
                failed_insufficient_balance:
                  type: integer
                  description: कार्य चलने के दौरान बैलेंस समाप्त हो गया।
            results:
              type: array
              description: >-
                प्रसंस्करण क्रम में, संसाधित की गई प्रति प्रोफ़ाइल एक प्रविष्टि।
                जॉब चलने के दौरान बढ़ती है; स्थिति COMPLETED होने पर पूर्ण होती
                है। API के माध्यम से शुरू की गई जॉब्स के लिए रिकॉर्ड किया गया।
              items:
                type: object
                properties:
                  didit_internal_id:
                    type: string
                    format: uuid
                    description: प्रोफ़ाइल की Didit आंतरिक id।
                  vendor_data:
                    type: string
                    nullable: true
                    description: प्रोफ़ाइल के लिए आपका अपना पहचानकर्ता।
                  outcome:
                    type: string
                    enum:
                      - enabled
                      - screened_and_enabled
                      - already_enabled
                      - disabled
                      - skipped_no_identity_data
                      - skipped_blocked
                      - skipped_sandbox
                      - failed_provider
                      - failed_insufficient_balance
            error:
              type: string
              nullable: true
              description: >-
                स्थिति FAILED होने पर सामान्य विफलता संदेश; विस्तृत कारण
                प्लेटफ़ॉर्म-साइड पर रखा जाता है।
            created_at:
              type: string
              format: date-time
            completed_at:
              type: string
              format: date-time
              nullable: true
            estimate:
              type: object
              description: >-
                लागत पूर्वावलोकन। estimate_only true होने पर सीधे लौटाया जाता है
                (कुछ भी लिखा नहीं जाता है)।
              properties:
                users_total:
                  type: integer
                  description: चयन द्वारा मिलान की गई प्रोफ़ाइल।
                already_enabled:
                  type: integer
                  description: >-
                    पहले से मॉनिटर की जा रही प्रोफ़ाइल (सक्षम करते समय कुछ करने
                    की आवश्यकता नहीं है; अक्षम करने पर इन्हें ही बंद किया जाता
                    है)।
                with_existing_aml:
                  type: integer
                  description: >-
                    वे प्रोफ़ाइल जिनकी मौजूदा AML स्क्रीनिंग को निगरानी में बदल
                    दिया जाएगा (कोई नई स्क्रीनिंग नहीं)।
                needing_screening:
                  type: integer
                  description: >-
                    बिना किसी AML स्क्रीनिंग वाली प्रोफ़ाइल जिनकी पहले
                    स्क्रीनिंग की जाएगी (नियमित AML स्क्रीनिंग के रूप में बिल
                    किया जाएगा)।
                skipped_no_identity_data:
                  type: integer
                  description: >-
                    वे प्रोफ़ाइल जिनकी स्क्रीनिंग नहीं की जा सकती क्योंकि पहचान
                    डेटा मौजूद नहीं है।
                skipped_blocked:
                  type: integer
                  description: >-
                    ब्लॉक किए गए उपयोगकर्ता जिन्हें छोड़ दिया जाएगा (व्यवसायों
                    के लिए हमेशा 0)।
                estimated_screening_cost_usd:
                  type: number
                  example: 0.2
                  description: नई स्क्रीनिंग की एकमुश्त लागत।
                estimated_annual_monitoring_cost_usd:
                  type: number
                  example: 0.07
                  description: >-
                    उन प्रोफ़ाइलों की वार्षिक निगरानी लागत जिनकी निगरानी शुरू की
                    जाएगी।
                balance_sufficient:
                  type: boolean
                  description: >-
                    क्या संगठन का बैलेंस स्क्रीनिंग और निगरानी के पहले वर्ष को
                    कवर करता है।
            unmatched:
              type: array
              items:
                type: string
              description: >-
                अनुरोध के वे पहचानकर्ता जिनका इस एप्लिकेशन में किसी प्रोफ़ाइल से
                मिलान नहीं हुआ, बिल्कुल वैसे ही जैसे भेजे गए थे। वे जॉब का
                हिस्सा नहीं हैं।
    AMLMonitoringJob:
      type: object
      properties:
        job_id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - COMPLETED
            - FAILED
        is_enabled:
          type: boolean
          description: >-
            जब जॉब निगरानी सक्षम करता है तो true, जब यह इसे अक्षम करता है तो
            false।
        target_type:
          type: string
          enum:
            - user
            - business
          description: जॉब किस प्रोफ़ाइल फ़ैमिली को टॉगल करता है।
        total:
          type: integer
          description: वे प्रोफ़ाइल जिन्हें जॉब संसाधित करता है।
        processed:
          type: integer
          description: अब तक संसाधित की गई प्रोफ़ाइल।
        outcomes:
          type: object
          description: >-
            प्रति-रिकॉर्ड परिणाम काउंटर। प्रत्येक चयनित प्रोफ़ाइल का परिणाम ठीक
            एक काउंटर में दर्ज होता है; कुछ भी चुपचाप छोड़ा नहीं जाता है।
          properties:
            enabled:
              type: integer
              description: मौजूदा AML स्क्रीनिंग पर निगरानी सक्षम कर दी गई।
            screened_and_enabled:
              type: integer
              description: >-
                एक नई AML स्क्रीनिंग बनाई गई (बिल की गई) और उस पर निगरानी सक्षम
                की गई।
            already_enabled:
              type: integer
              description: >-
                निगरानी पहले से ही सक्रिय थी; कुछ भी नहीं बदला और कोई बिलिंग
                नहीं की गई।
            disabled:
              type: integer
              description: प्रोफ़ाइल की प्रत्येक AML स्क्रीनिंग में निगरानी बंद कर दी गई।
            skipped_no_identity_data:
              type: integer
              description: >-
                छोड़ा गया: प्रोफ़ाइल में स्क्रीनिंग के लिए आवश्यक पूरा नाम, जन्म
                तिथि और देश (उपयोगकर्ता) या नाम (व्यवसाय) का अभाव है।
            skipped_blocked:
              type: integer
              description: 'छोड़ा गया: उपयोगकर्ता ब्लॉक है।'
            skipped_sandbox:
              type: integer
              description: >-
                छोड़ा गया: सैंडबॉक्स एप्लिकेशन, कोई स्क्रीनिंग नहीं बनाई जाती
                है।
            failed_provider:
              type: integer
              description: स्क्रीनिंग पूरी नहीं की जा सकी; बाद में पुनः प्रयास करें।
            failed_insufficient_balance:
              type: integer
              description: कार्य चलने के दौरान बैलेंस समाप्त हो गया।
        results:
          type: array
          description: >-
            प्रसंस्करण क्रम में, संसाधित की गई प्रति प्रोफ़ाइल एक प्रविष्टि। जॉब
            चलने के दौरान बढ़ती है; स्थिति COMPLETED होने पर पूर्ण होती है। API
            के माध्यम से शुरू की गई जॉब्स के लिए रिकॉर्ड किया गया।
          items:
            type: object
            properties:
              didit_internal_id:
                type: string
                format: uuid
                description: प्रोफ़ाइल की Didit आंतरिक id।
              vendor_data:
                type: string
                nullable: true
                description: प्रोफ़ाइल के लिए आपका अपना पहचानकर्ता।
              outcome:
                type: string
                enum:
                  - enabled
                  - screened_and_enabled
                  - already_enabled
                  - disabled
                  - skipped_no_identity_data
                  - skipped_blocked
                  - skipped_sandbox
                  - failed_provider
                  - failed_insufficient_balance
        error:
          type: string
          nullable: true
          description: >-
            स्थिति FAILED होने पर सामान्य विफलता संदेश; विस्तृत कारण
            प्लेटफ़ॉर्म-साइड पर रखा जाता है।
        created_at:
          type: string
          format: date-time
        completed_at:
          type: string
          format: date-time
          nullable: true
        estimate:
          type: object
          description: >-
            लागत पूर्वावलोकन। estimate_only true होने पर सीधे लौटाया जाता है
            (कुछ भी लिखा नहीं जाता है)।
          properties:
            users_total:
              type: integer
              description: चयन द्वारा मिलान की गई प्रोफ़ाइल।
            already_enabled:
              type: integer
              description: >-
                पहले से मॉनिटर की जा रही प्रोफ़ाइल (सक्षम करते समय कुछ करने की
                आवश्यकता नहीं है; अक्षम करने पर इन्हें ही बंद किया जाता है)।
            with_existing_aml:
              type: integer
              description: >-
                वे प्रोफ़ाइल जिनकी मौजूदा AML स्क्रीनिंग को निगरानी में बदल दिया
                जाएगा (कोई नई स्क्रीनिंग नहीं)।
            needing_screening:
              type: integer
              description: >-
                बिना किसी AML स्क्रीनिंग वाली प्रोफ़ाइल जिनकी पहले स्क्रीनिंग की
                जाएगी (नियमित AML स्क्रीनिंग के रूप में बिल किया जाएगा)।
            skipped_no_identity_data:
              type: integer
              description: >-
                वे प्रोफ़ाइल जिनकी स्क्रीनिंग नहीं की जा सकती क्योंकि पहचान डेटा
                मौजूद नहीं है।
            skipped_blocked:
              type: integer
              description: >-
                ब्लॉक किए गए उपयोगकर्ता जिन्हें छोड़ दिया जाएगा (व्यवसायों के
                लिए हमेशा 0)।
            estimated_screening_cost_usd:
              type: number
              example: 0.2
              description: नई स्क्रीनिंग की एकमुश्त लागत।
            estimated_annual_monitoring_cost_usd:
              type: number
              example: 0.07
              description: >-
                उन प्रोफ़ाइलों की वार्षिक निगरानी लागत जिनकी निगरानी शुरू की
                जाएगी।
            balance_sufficient:
              type: boolean
              description: >-
                क्या संगठन का बैलेंस स्क्रीनिंग और निगरानी के पहले वर्ष को कवर
                करता है।
        unmatched:
          type: array
          items:
            type: string
          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.