> ## 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: मिलान की पुष्टि और क्लियर करें

> Didit API से AML स्क्रीनिंग हिट को व्यक्तिगत या बल्क में पुष्ट मिलान, फ़ॉल्स पॉज़िटिव या अनिर्णायक के रूप में चिह्नित करें।



Update AML Hit Status Prompt
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\`Set the review status (disposition) of AML screening hits on a Didit session — one hit, or many at once.

AML screening returns a list of HITS (potential sanction / PEP / watchlist / adverse-media matches). Each hit carries a review_status you can change to record your compliance decision. This does NOT change the overall session decision.

Two endpoints:

1\) Single hit
PATCH https://verification.didit.me/v3/session/{session_id}/update-aml-hit-status/
Body:
\- hit_id (string, required) — the "id" of the hit in the AML check's "hits" array (see GET /v3/session/{id}/decision/), for example "hit_7c1e9a40b2d35f86e0a4c912". A hit id returned in the earlier format is still accepted; the response always returns the current "id".
\- review_status (string, required) — one of "Unreviewed", "Confirmed Match", "False Positive", "Inconclusive".
\- node_id (string, optional) — graph node ID, only if the session has multiple AML checks.

2\) Bulk
PATCH https://verification.didit.me/v3/session/{session_id}/bulk-update-aml-hit-status/
Body:
\- hit_updates (array, required) — list of { "hit_id": "...", "review_status": "..." }.
\- node_id (string, optional).
All-or-nothing: if any hit_id is missing, returns 404 and nothing changes.

Authentication:
x-api-key (client API key) or a user-auth token. Privilege: write:sessions.

Status values:
\- Unreviewed — default for hits at/above the match threshold; still needs review.
\- Confirmed Match — a true match.
\- False Positive — not the same entity; default for hits below the match threshold.
\- Inconclusive — could not determine.

Reviewer decisions are PRESERVED across ongoing-monitoring re-screens.

curl — clear one hit as a false positive:
curl -X PATCH https://verification.didit.me/v3/session/<SESSION_ID>/update-aml-hit-status/ \
-H "x-api-key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "hit_id": "hit_7c1e9a40b2d35f86e0a4c912", "review_status": "False Positive" }'

curl — bulk:
curl -X PATCH https://verification.didit.me/v3/session/<SESSION_ID>/bulk-update-aml-hit-status/ \
-H "x-api-key: <API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "hit_updates": [ { "hit_id": "hit_7c1e9a40b2d35f86e0a4c912", "review_status": "Confirmed Match" }, { "hit_id": "hit_3b8f20d6a91c4e75f0b2d6a8", "review_status": "False Positive" } ] }'

Side effects:
\- Fires a data.updated webhook.
\- Appends an activity entry (with actor attribution) to the session review trail.

Failure modes:
\- 400 — review_status not a valid value, hit_id empty, or hit_updates empty.
\- 403 — missing credentials (a wrong, revoked or expired key gets 401), or the caller lacks write:sessions.
\- 404 — session not found, no AML check, or a hit_id was not found.

Related: to change the overall AML step status (Approved/Declined/In Review) use PATCH /v3/session/{id}/features/{node_id}/update-status/ (see /sessions-api/update-feature-status).

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

\</pre>



      
      

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

## यह क्या करता हैAML स्क्रीनिंग से **हिट** की एक सूची मिलती है, यानी प्रतिबंध सूचियों, PEP डेटाबेस, वॉचलिस्ट और प्रतिकूल मीडिया से संभावित मिलान। हर हिट में एक `review_status` होता है (उसका निपटारा), जो मिलान स्कोर के आधार पर `Unreviewed` या `False Positive` से शुरू होता है। यह endpoint आपकी टीम (या आपके ऑटोमेशन) को हर हिट पर निर्णय दर्ज करने देता है, बिना समग्र सत्र निर्णय बदले।हिट और उनके ID [सत्र के निर्णय](https://docs.didit.me/hi/sessions-api/retrieve-session.md) में खोजें, यानी AML जाँच का `hits` array, जहाँ हर हिट का `id` ही वह `hit_id` है जो आप यहाँ भेजते हैं।हिट का `id` `hit_` से शुरू होता है, उसके बाद 24 हेक्साडेसिमल अक्षर आते हैं, और विषय की दोबारा स्क्रीनिंग होने पर भी यह वही रहता है। पुराने प्रारूप में लौटाया गया हिट ID अब भी स्वीकार किया जाता है; रिस्पॉन्स में हिट हमेशा उसके वर्तमान `id` से दिखाया जाता है।## समीक्षा स्टेटस| `review_status` | अर्थ |
| - | - |
| `Unreviewed` | मिलान थ्रेशोल्ड के बराबर या उससे अधिक हिट के लिए डिफ़ॉल्ट। अभी भी निर्णय की ज़रूरत है। |
| `Confirmed Match` | स्क्रीन किए गए व्यक्ति / इकाई का सही मिलान। |
| `False Positive` | यह वही इकाई नहीं है। मिलान थ्रेशोल्ड से कम हिट के लिए डिफ़ॉल्ट। |
| `Inconclusive` | निर्धारित नहीं किया जा सका। |> [!NOTE]
>
> **समीक्षक के निर्णय सतत निगरानी की दोबारा स्क्रीनिंग के बाद भी सुरक्षित रहते हैं**, यानी जो हिट आप `False Positive` के रूप में चिह्नित करते हैं, वह स्थिति तब भी बनी रहती है जब प्रदाता इकाई की दोबारा स्क्रीनिंग करता है।## एक हिट अपडेट करें**`PATCH /v3/session/{sessionId}/update-aml-hit-status/`**```bash theme={null}
curl -X PATCH https://verification.didit.me/v3/session/4c5c7f3a-.../update-aml-hit-status/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "hit_id": "hit_7c1e9a40b2d35f86e0a4c912",
    "review_status": "False Positive"
  }'
```कई AML जाँच वाले सत्र (ग्राफ़ वर्कफ़्लो) के लिए, किसी खास जाँच को लक्षित करने हेतु URL में `?node_id=feature_aml_1` जोड़ें या बॉडी में `"node_id"` शामिल करें।## कई हिट एक साथ अपडेट करें**`PATCH /v3/session/{sessionId}/bulk-update-aml-hit-status/`**`hit_updates` पास करें, जो `{ hit_id, review_status }` जोड़ियों की एक सूची है। यह ऑपरेशन **सब-या-कुछ-नहीं** है: यदि कोई `hit_id` नहीं मिलता, तो अनुरोध `404` लौटाता है और कोई भी हिट नहीं बदला जाता।```bash theme={null}
curl -X PATCH https://verification.didit.me/v3/session/4c5c7f3a-.../bulk-update-aml-hit-status/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "hit_updates": [
      { "hit_id": "hit_7c1e9a40b2d35f86e0a4c912", "review_status": "Confirmed Match" },
      { "hit_id": "hit_3b8f20d6a91c4e75f0b2d6a8", "review_status": "False Positive" }
    ]
  }'
```सफल बल्क कॉल एक ही `data.updated` webhook भेजती है और सभी बदलावों को कवर करती हुई एक गतिविधि प्रविष्टि दर्ज करती है।## अपडेट के बाद क्या होता है- **Webhook**: सत्र पर `data.updated` इवेंट भेजा जाता है।
- **ऑडिट रिकॉर्ड**: बदलाव सत्र के समीक्षा रिकॉर्ड में कर्ता (API कुंजी या उपयोगकर्ता) के साथ दर्ज होता है, जो कंसोल की गतिविधि समयरेखा में दिखता है।
- **AML चरण की समग्र स्थिति अप्रभावित रहती है**: हिट का निपटारा बदलने से अपने आप AML चरण की स्थिति या सत्र का निर्णय नहीं बदलता। AML **चरण** की स्थिति (`Approved` / `Declined` / `In Review`) बदलने के लिए [update-feature-status](https://docs.didit.me/hi/sessions-api/update-feature-status.md) का उपयोग करें। **सत्र** का निर्णय बदलने के लिए [update-status](https://docs.didit.me/hi/sessions-api/update-status.md) का उपयोग करें।## KYC और KYB समर्थनयह **उपयोगकर्ता सत्यापन (KYC)** और **व्यवसाय सत्यापन (KYB)** दोनों सत्रों के लिए काम करता है; Didit दोनों में `sessionId` को पहचानता है। KYB के लिए AML स्क्रीनिंग कंपनी और उसके प्रमुख व्यक्तियों पर चलती है; हर AML जाँच अपने अलग हिट दिखाती है।## अनुमतिइसके लिए `write:sessions` विशेषाधिकार चाहिए, और क्लाइंट API कुंजी (`x-api-key`) या उपयोगकर्ता प्राधिकरण हेडर में से कोई एक।## त्रुटियाँ| स्टेटस | अर्थ |
| - | - |
| `400` | `review_status` मान मान्य नहीं है, `hit_id` खाली है, या `hit_updates` खाली है। |
| `403` | क्रेडेंशियल अनुपस्थित या अमान्य हैं, या कॉलर के पास `write:sessions` नहीं है। |
| `404` | सत्र नहीं मिला, सत्र में कोई AML जाँच नहीं है, या कोई `hit_id` नहीं मिला (बल्क में: कुछ भी नहीं बदला जाता)। |## संबंधित- [फ़ीचर स्थिति अपडेट करें](https://docs.didit.me/hi/sessions-api/update-feature-status.md): AML **चरण** की स्थिति (या कोई अन्य चरण) बदलें।
- [सत्र स्थिति अपडेट करें](https://docs.didit.me/hi/sessions-api/update-status.md): समग्र सत्र निर्णय बदलें।
- [सत्र प्राप्त करें](https://docs.didit.me/hi/sessions-api/retrieve-session.md): AML `hits` और उनके ID पढ़ें।
- [AML स्क्रीनिंग](https://docs.didit.me/hi/standalone-apis/aml-screening.md): स्क्रीनिंग और स्कोरिंग कैसे काम करते हैं।


## OpenAPI

````yaml hi/openapi-25.json PATCH /v3/session/{sessionId}/update-aml-hit-status/
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/session/{sessionId}/update-aml-hit-status/:
    patch:
      tags:
        - Sessions
      summary: AML हिट समीक्षा स्थिति अपडेट करें
      description: >-
        समग्र सत्र निर्णय को बदले बिना, AML स्क्रीनिंग द्वारा लौटाए गए **एकल AML
        हिट** (एक संभावित प्रतिबंध / PEP / वॉचलिस्ट / प्रतिकूल मीडिया मिलान) की
        समीक्षा स्थिति सेट करें। हिट को उसके `hit_id` (AML जांच के `hits` ऐरे
        में किसी प्रविष्टि की `id` — सत्र निर्णय देखें) द्वारा पहचानें। पुराने
        प्रारूप में लौटाया गया हिट id अभी भी स्वीकार किया जाता है; रिस्पॉन्स
        हमेशा हिट को उसकी वर्तमान `id` द्वारा संदर्भित करता है।


        `review_status` इनमें से एक होता है: `Unreviewed`, `Confirmed Match`,
        `False Positive`, या `Inconclusive`। समीक्षक के निर्णय सतत निगरानी
        अपडेट्स के दौरान सुरक्षित रहते हैं, इसलिए जिस हिट को आप `False Positive`
        चिह्नित करते हैं, वह प्रदाता द्वारा पुनः स्क्रीन किए जाने पर भी वैसा ही
        रहता है।


        एक सफल कॉल `data.updated` webhook को ट्रिगर करती है और सत्र के समीक्षा
        ट्रेल में (कर्ता एट्रिब्यूशन के साथ) एक गतिविधि प्रविष्टि जोड़ती है। कई
        AML जांच वाले ग्राफ़ वर्कफ़्लो के लिए, किसी विशिष्ट जांच को लक्षित करने
        के लिए `node_id` पास करें।


        अपनी API कुंजी (`x-api-key`) या उपयोगकर्ता ऑथराइजेशन हेडर के साथ
        प्रमाणीकृत करें — इनमें से जिस भी विधि का उपयोग किया जाए, उसमें
        `write:sessions` विशेषाधिकार होना चाहिए।
      operationId: patch_v3_session_update_aml_hit_status
      parameters:
        - in: path
          name: sessionId
          required: true
          description: >-
            सत्यापन सत्र का UUID। उपयोगकर्ता (KYC) और व्यवसाय (KYB) दोनों सत्र
            ID स्वीकार करता है — सेवा दोनों सत्र प्रकारों में ID को रिज़ॉल्व
            करती है।
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
        - in: query
          name: node_id
          required: false
          description: >-
            वर्कफ़्लो ग्राफ़ नोड ID। केवल तभी आवश्यक जब सत्र में कई AML चेक हों
            (प्रति नोड एक); एकल-AML सत्रों के लिए इसे छोड़ दें।
          schema:
            type: string
            example: feature_aml_1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - hit_id
                - review_status
              properties:
                hit_id:
                  type: string
                  description: >-
                    AML जांच के `hits` ऐरे (`hit_...`) में हिट का `id`। पूर्व
                    प्रारूप में लौटाया गया हिट id अभी भी स्वीकार किया जाता है।
                  example: hit_7c1e9a40b2d35f86e0a4c912
                review_status:
                  type: string
                  description: हिट के लिए नई समीक्षा स्थिति।
                  enum:
                    - Unreviewed
                    - Confirmed Match
                    - False Positive
                    - Inconclusive
                  example: False Positive
                node_id:
                  type: string
                  description: >-
                    वैकल्पिक ग्राफ़ नोड ID। इसका उपयोग करें (यहाँ या क्वेरी
                    पैरामीटर के रूप में) जब सत्र में एकाधिक AML जांचें हों।
                  example: feature_aml_1
            example:
              hit_id: hit_7c1e9a40b2d35f86e0a4c912
              review_status: False Positive
      responses:
        '200':
          description: हिट समीक्षा स्थिति अपडेट की गई।
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - hit_id
                  - review_status
                properties:
                  message:
                    type: string
                    description: हमेशा `Hit status updated successfully`।
                  hit_id:
                    type: string
                    description: >-
                      अपडेट किए गए हिट का `id`, जैसा कि सत्र निर्णय द्वारा
                      लौटाया जाता है, तब भी जब अनुरोध ने पूर्व प्रारूप में किसी
                      id द्वारा हिट को नामित किया हो।
                  review_status:
                    type: string
                    enum:
                      - Unreviewed
                      - Confirmed Match
                      - False Positive
                      - Inconclusive
                    description: हिट पर अब संग्रहीत समीक्षा स्थिति।
              example:
                message: Hit status updated successfully
                hit_id: hit_7c1e9a40b2d35f86e0a4c912
                review_status: False Positive
        '400':
          description: >-
            सत्यापन त्रुटि — `hit_id` खाली है या `review_status` अनुमत मानों में
            से एक नहीं है।
          content:
            application/json:
              example:
                review_status:
                  - '"Maybe" is not a valid choice.'
        '403':
          description: >-
            क्रेडेंशियल मौजूद नहीं हैं या अपर्याप्त अनुमतियां हैं। अनुपलब्ध
            कुंजी `403` लौटाती है; गलत, निरस्त या समय-सीमा समाप्त कुंजी `401`
            लौटाती है।
          content:
            application/json:
              examples:
                Invalid Credentials:
                  summary: अनुपलब्ध या अमान्य x-api-key
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Missing Privilege:
                  summary: API कुंजी में write:sessions का अभाव है
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            सत्र नहीं मिला, सत्र में कोई AML जांच नहीं है (वैकल्पिक रूप से दिए
            गए `node_id` के लिए), या कोई हिट `hit_id` से मेल नहीं खाता है।
          content:
            application/json:
              examples:
                No AML Check:
                  summary: सत्र में कोई AML जांच नहीं है
                  value:
                    detail: The session does not have an AML check.
                Hit Not Found:
                  summary: अज्ञात hit_id
                  value:
                    detail: >-
                      Hit with ID 'hit_9d2e7f41c0a8b3e65d1f0c47' not found in
                      the AML check.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X PATCH \
              https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/update-aml-hit-status/ \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "hit_id": "abc123",
                "review_status": "False Positive"
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.update_aml_hit_status(
                "11111111-2222-3333-4444-555555555555",
                hit_id="hit_7c1e9a40b2d35f86e0a4c912",
                review_status="False Positive",
            )
            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.sessions.updateAmlHitStatus("11111111-2222-3333-4444-555555555555",
            {
              hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
              review_status: "False Positive",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.UpdateAMLHitStatus(ctx, \"11111111-2222-3333-4444-555555555555\", didit.SessionsUpdateAMLHitStatusParams{\n\tHitID:        \"hit_7c1e9a40b2d35f86e0a4c912\",\n\tReviewStatus: \"False Positive\",\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.SessionsUpdateAmlHitStatusParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().updateAmlHitStatus("11111111-2222-3333-4444-555555555555",
            SessionsUpdateAmlHitStatusParams.builder()
                    .hitId("hit_7c1e9a40b2d35f86e0a4c912")
                    .reviewStatus(SessionsUpdateAmlHitStatusParams.ReviewStatus.of("False Positive"))
                    .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->sessions->updateAmlHitStatus('11111111-2222-3333-4444-555555555555',
            [
                'hit_id' => 'hit_7c1e9a40b2d35f86e0a4c912',
                'review_status' => 'False Positive',
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.sessions.update_aml_hit_status(
              "11111111-2222-3333-4444-555555555555",
              hit_id: "hit_7c1e9a40b2d35f86e0a4c912",
              review_status: "False Positive"
            )
            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.Sessions.UpdateAmlHitStatusAsync("11111111-2222-3333-4444-555555555555",
            new SessionsUpdateAmlHitStatusParams

            {
                HitId = "hit_7c1e9a40b2d35f86e0a4c912",
                ReviewStatus = "False Positive",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  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.