> ## 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: Travel Rule लाभार्थी

> Didit API से UNCONFIRMED_OWNERSHIP में रुके Travel Rule इनबाउंड ट्रांसफ़र के लाभार्थी वॉलेट का स्वामित्व पुष्टि या अस्वीकार करें।



वॉलेट स्वामित्व पुष्टि API प्रॉम्प्ट
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\`Confirm or deny wallet ownership on a Travel Rule transfer waiting on the beneficiary side - typically the beneficiary leg of an INTERNAL-rail transfer whose wallet address book entry has not been ownership-verified yet, a transfer whose counterparty wallet was declared self-hosted (counterparty.payment_method.method_type: "unhosted_wallet"), an inbound transfer in ON_HOLD, or an inbound TRP inquiry a compliance officer resolves by hand.

Endpoint:
POST https://verification.didit.me/v3/transactions/{transaction_id}/travel-rule/ownership/

Authentication:
Use the x-api-key header with my Didit API key. {transaction_id} is the Didit transaction uuid of the transfer your own application holds: on an INTERNAL-rail transfer that is your (beneficiary) side; on a declared self-hosted wallet it is the transaction you created, outbound or inbound.

Request body:
\{"confirmed": true}   or   {"confirmed": false}
Optionally {"confirmed": true, "wallet_address": "0x..."} - the payment address to return to the counterparty on an inbound TRP transfer.
On a declared self-hosted wallet transfer with no counterparty wallet on it, "wallet_address" supplies the wallet to verify; if neither the transfer nor the request names one, the request is rejected with 400.

Accepted states (anything else -> 409 "Transfer is not awaiting ownership confirmation."):
\- UNCONFIRMED_OWNERSHIP, in either direction.
\- ON_HOLD on an inbound transfer.
\- UNCONFIRMED_OWNERSHIP, ON_HOLD or COUNTERPARTY_MISMATCHED_DATA on an inbound TRP transfer.

Behavior on a transfer Didit created itself (INTERNAL rail, sunrise registration, declared self-hosted wallet):
\- confirmed: true - marks the matching wallet address book entry ownership-verified, then runs the beneficiary name match on both sides: COMPLETED on a pass, COUNTERPARTY_MISMATCHED_DATA on a fail.
An inbound transfer whose deposit already settled then moves on to FINISHED.
\- confirmed: true on a declared self-hosted wallet - records that the customer verified who controls the counterparty wallet and completes the transfer (COMPLETED), outbound or inbound; an inbound deposit whose on-chain hash is already known moves on to FINISHED. The wallet is the counterparty's: the destination of a withdrawal, the originator's source wallet of a deposit. If it is not in the wallet address book yet, it is added as ownership-verified under the counterparty's name; if the book already holds it under a different holder name, the transfer goes to COUNTERPARTY_MISMATCHED_DATA.
\- confirmed: false - moves both sides of the transfer to COUNTERPARTY_VASP_GENERAL_DECLINE.
\- Resolving an inbound ON_HOLD with no matching entry, or confirming a declared self-hosted wallet, creates the entry from the transfer's wallet address and marks it verified.

Behavior on an inbound TRP transfer (answering the counterparty's inquiry):
\- confirmed: true - needs a payment address, taken from the request's wallet_address, then the matched entry, then beneficiary_data.wallet_address.
Didit creates or verifies the entry, posts the inquiry-resolution callback to the counterparty, sets ownership_confirmed and moves the transfer to COMPLETED.
\- confirmed: false - posts a declined resolution and moves the transfer to COUNTERPARTY_VASP_GENERAL_DECLINE.

Transfers a network delivered (GTR or Sygna Bridge):
\- An inbound transfer that waits for your review (UNCONFIRMED_OWNERSHIP, ON_HOLD or COUNTERPARTY_MISMATCHED_DATA) is decided here: confirmed: true approves it (send wallet_address when the transfer names none), confirmed: false declines it. Didit answers the network after the response, with retries; the response's delivery field shows that answer.
\- VerifyVASP takes its answer when it asks, so a VerifyVASP transfer that would need your review is declined at once and cannot be decided here.
\- Receiving over a network is switched on by Didit per network, and none is switched on today.

What to read from the response:
\- The full transfer object. originator_data/beneficiary_data stay masked on inbound transfers (data_masked: true) until ownership is confirmed; data_unmasked then records when, why and by whom. data_match and mismatched_fields name the fields that differ after a mismatch.

Alternative: instead of this API call, send the end customer through the hosted wallet-ownership widget (POST /v3/travel-rule/widget-session/) and let them prove control cryptographically.

Failure modes:
\- 400 - on an inbound TRP approval with no payment address available: {"wallet_address": ["wallet_address is required to approve."]}.
\- 409 - the transfer is not in one of the accepted states, no entry in your wallet address book matches the transfer's wallet address (an inbound TRP approval, and an inbound ON_HOLD transfer that carries beneficiary_data.wallet_address, and a declared self-hosted wallet, create the missing entry instead), an INTERNAL transfer from another Didit customer needs a control proof (signed message or test deposit) first, or a network transfer was already answered over its network (a VerifyVASP transfer, or a GTR or Sygna Bridge transfer already decided).
\- 502 - the counterparty's TRP inquiry-resolution callback could not be delivered; the transfer keeps its current status.
\- 404 - unknown transaction or no Travel Rule transfer attached.

Full guide: /transaction-monitoring/travel-rule#confirming-wallet-ownership.`

\</pre>



      
      

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

## स्व-होस्टेड वॉलेटजब प्रतिपक्ष का वॉलेट स्व-होस्टेड घोषित किया गया हो (`counterparty.payment_method.method_type: "unhosted_wallet"`), तो लेन-देन `UNCONFIRMED_OWNERSHIP` में प्रतीक्षा करता है।
`confirmed: true` के साथ इस endpoint को कॉल करने पर यह दर्ज होता है कि आपके ग्राहक ने सत्यापित कर लिया है कि उस वॉलेट को कौन नियंत्रित करता है, और लेन-देन पूरा हो जाता है (`COMPLETED`)। यह आउटबाउंड निकासी और इनबाउंड जमा, दोनों पर लागू होता है।
जिस इनबाउंड जमा का ऑन-चेन हैश पहले से ज्ञात है, वह `FINISHED` की ओर आगे बढ़ता है।सत्यापित किया गया वॉलेट प्रतिपक्ष का होता है: आउटबाउंड निकासी का गंतव्य, या इनबाउंड जमा का स्रोत (प्रेषक का वॉलेट)।
Didit इसे वॉलेट पता पुस्तिका में प्रतिपक्ष के नाम के साथ स्वामित्व-सत्यापित के रूप में जोड़ता है, इसलिए इसका मिलान प्रतिपक्ष के नाम से होता है (जमा के मामले में प्रेषक के नाम से)।
यदि पता पुस्तिका में वह वॉलेट पहले से किसी अलग धारक के नाम से दर्ज है, तो लेन-देन `COUNTERPARTY_MISMATCHED_DATA` में चला जाता है।यदि लेन-देन में कोई प्रतिपक्ष वॉलेट नहीं दिया गया है, तो अनुरोध के मुख्य भाग में `wallet_address` पास करें।
जब न लेन-देन और न ही अनुरोध कोई वॉलेट पता देता है, तो अनुरोध `400` के साथ अस्वीकार कर दिया जाता है।`confirmed: false` लेन-देन को अस्वीकार करता है (`COUNTERPARTY_VASP_GENERAL_DECLINE`)।


## OpenAPI

````yaml hi/openapi-25.json POST /v3/transactions/{transaction_id}/travel-rule/ownership/
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/transactions/{transaction_id}/travel-rule/ownership/:
    post:
      tags:
        - Travel Rule
      summary: वॉलेट स्वामित्व की पुष्टि करें या अस्वीकार करें
      description: >-
        किसी ऐसे ट्रांसफ़र को रीसॉल्व करें जो वॉलेट स्वामित्व की प्रतीक्षा कर
        रहा हो: जब यह UNCONFIRMED_OWNERSHIP स्थिति में हो, या जब यह ON_HOLD में
        एक इनबाउंड ट्रांसफ़र हो, तो इसे ट्रांसफ़र के अपने पक्ष से कॉल करें।
        पुष्टि करने पर मिलान वाली वॉलेट पता पुस्तिका प्रविष्टि
        स्वामित्व-सत्यापित के रूप में चिह्नित हो जाती है (बिना प्रविष्टि वाले
        इनबाउंड ON_HOLD ट्रांसफ़र के लिए, Didit beneficiary_data.wallet_address
        से एक प्रविष्टि बनाता है) और ट्रांसफ़र के दोनों पक्षों पर लाभार्थी के
        नाम का मिलान चलाता है; अस्वीकार करने पर दोनों पक्ष अस्वीकृत हो जाते हैं।
        एक इनबाउंड ट्रांसफ़र जिसकी जमा राशि पहले ही सेटल हो चुकी है, मिलान सफल
        होने पर FINISHED पर चला जाता है। जब प्रतिपक्ष वॉलेट को स्व-होस्टेड घोषित
        किया गया था (counterparty.payment_method.method_type: unhosted_wallet),
        तो पुष्टि करने से यह रिकॉर्ड होता है कि ग्राहक ने सत्यापित किया है कि उस
        वॉलेट को कौन नियंत्रित करता है और दोनों दिशाओं में ट्रांसफ़र पूरा
        (COMPLETED) हो जाता है, या किसी ऐसे इनबाउंड डिपॉज़िट के लिए FINISHED हो
        जाता है जिसका ऑन-चेन हैश पहले से ज्ञात है। सत्यापित वॉलेट प्रतिपक्ष का
        होता है: आउटबाउंड निकासी का गंतव्य, या इनबाउंड डिपॉज़िट का स्रोत (प्रेषक
        का वॉलेट)। यदि यह अभी तक आपकी वॉलेट पता पुस्तिका में नहीं है, तो Didit
        इसे प्रतिपक्ष के नाम के तहत स्वामित्व-सत्यापित के रूप में जोड़ता है; यदि
        पुस्तिका में यह पहले से ही किसी भिन्न धारक के नाम पर है, तो ट्रांसफ़र
        COUNTERPARTY_MISMATCHED_DATA में चला जाता है। UNCONFIRMED_OWNERSHIP,
        ON_HOLD या COUNTERPARTY_MISMATCHED_DATA में इनबाउंड TRP ट्रांसफ़र के
        लिए, Didit आपका निर्णय इसके बजाय प्रेषक VASP को भेजता है: स्वीकृत करने
        पर भुगतान पता (wallet_address, या मिलान प्रविष्टि का पता) वापस आता है और
        ट्रांसफ़र COMPLETED में चला जाता है, और अस्वीकार करने पर यह अस्वीकृत हो
        जाता है। वही कॉल उस इनबाउंड ट्रांसफ़र का भी निर्णय करती है जिसे GTR या
        Sygna Bridge प्रतिपक्ष ने भेजा था और जो आपकी समीक्षा की प्रतीक्षा कर रहा
        है (`UNCONFIRMED_OWNERSHIP`, `ON_HOLD` या
        `COUNTERPARTY_MISMATCHED_DATA`): `confirmed: true` इसे स्वीकृत करता है
        (जब ट्रांसफ़र में किसी का उल्लेख न हो तो `wallet_address` पास करें) और
        `confirmed: false` इसे अस्वीकृत करता है, और रिस्पॉन्स के बाद नेटवर्क को
        पुनः प्रयासों के साथ उत्तर दिया जाता है। VerifyVASP पूछते समय ही अपना
        उत्तर ले लेता है, इसलिए एक ऐसा VerifyVASP ट्रांसफ़र जिसे आपकी समीक्षा की
        आवश्यकता होगी, तुरंत अस्वीकृत कर दिया जाता है और उसका निर्णय बाद में
        नहीं लिया जा सकता।
      operationId: confirmTravelRuleOwnership
      parameters:
        - name: transaction_id
          in: path
          required: true
          description: >-
            इस ट्रांसफ़र के लिए आपके एप्लिकेशन द्वारा धारित लेन-देन का
            Didit-स्थायी UUID: INTERNAL-रेल ट्रांसफ़र पर लाभार्थी पक्ष का
            लेन-देन, या प्रतिपक्ष वॉलेट के स्व-होस्टेड घोषित होने पर आपके द्वारा
            बनाया गया लेन-देन (outbound या inbound)।
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleOwnershipConfirmRequest'
            example:
              confirmed: true
      responses:
        '200':
          description: >-
            अपडेट किया गया ट्रांसफ़र। इनबाउंड ट्रांसफ़र के लिए प्रतिपक्ष का
            originator_data/beneficiary_data स्वामित्व की पुष्टि होने तक मास्क
            रहता है (`data_masked: true`), फिर `data_unmasked` यह रिकॉर्ड करता
            है कि कब, क्यों और किसके द्वारा ऐसा किया गया।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleTransferDetail'
        '400':
          description: >-
            सत्यापन त्रुटि: confirmed गायब है, इनबाउंड TRP अनुमोदन में कोई
            wallet_address नहीं है और फ़ालबैक के लिए कोई पता नहीं है, या घोषित
            स्व-होस्टेड वॉलेट ट्रांसफर पर `confirmed: true` है जिसमें किसी
            प्रतिपक्ष वॉलेट का नाम नहीं है और कोई `wallet_address` नहीं भेजा गया
            था।
          content:
            application/json:
              examples:
                No payment address:
                  value:
                    wallet_address:
                      - wallet_address is required to approve.
        '404':
          description: अज्ञात लेन-देन, या लेन-देन पर कोई Travel Rule ट्रांसफ़र नहीं है।
        '409':
          description: >-
            ट्रांसफर स्वामित्व पुष्टि की प्रतीक्षा नहीं कर रहा है, कोई भी वॉलेट
            पता पुस्तिका प्रविष्टि इसके प्रतिपक्ष वॉलेट से मेल नहीं खाती है,
            किसी अन्य Didit ग्राहक से INTERNAL ट्रांसफर की पुष्टि होने से पहले
            नियंत्रण प्रमाण (एक हस्ताक्षरित संदेश या एक परीक्षण जमा) की आवश्यकता
            होती है, या नेटवर्क ट्रांसफर का उत्तर पहले ही उसके नेटवर्क पर दिया
            जा चुका है (एक VerifyVASP ट्रांसफर, या एक GTR या Sygna Bridge
            ट्रांसफर जिसका निर्णय आपने या Didit ने पहले ही कर लिया है)।
          content:
            application/json:
              examples:
                Not awaiting confirmation:
                  value:
                    detail: Transfer is not awaiting ownership confirmation.
                No matching address book entry:
                  value:
                    detail: wallet address entry no longer available
        '502':
          description: >-
            केवल इनबाउंड TRP ट्रांसफ़र: Didit आपका निर्णय प्रेषक VASP तक डिलीवर
            नहीं कर सका, इसलिए ट्रांसफ़र की स्थिति नहीं बदलती है।
          content:
            application/json:
              examples:
                Callback not delivered:
                  value:
                    detail: >-
                      Counterparty inquiry-resolution callback could not be
                      delivered.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            https://verification.didit.me/v3/transactions/{transaction_id}/travel-rule/ownership/
            \
              -H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
              -d '{"confirmed": true}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.transactions.travel_rule.confirm_ownership(
                "11111111-2222-3333-4444-555555555555",
                confirmed=True,
            )
            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.transactions.travelRule.confirmOwnership("11111111-2222-3333-4444-555555555555",
            {
              confirmed: true,
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Transactions.TravelRule.ConfirmOwnership(ctx, \"11111111-2222-3333-4444-555555555555\", didit.TravelRuleOwnershipConfirmRequest{\n\tConfirmed: true,\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.TravelRuleOwnershipConfirmRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.transactions().travelRule().confirmOwnership("11111111-2222-3333-4444-555555555555",
            TravelRuleOwnershipConfirmRequest.builder()
                    .confirmed(true)
                    .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->transactions->travelRule->confirmOwnership('11111111-2222-3333-4444-555555555555',
            [
                'confirmed' => true,
            ]);

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

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

            result = didit.transactions.travel_rule.confirm_ownership(
              "11111111-2222-3333-4444-555555555555",
              confirmed: true
            )
            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.Transactions.TravelRule.ConfirmOwnershipAsync("11111111-2222-3333-4444-555555555555",
            new TravelRuleOwnershipConfirmRequest

            {
                Confirmed = true,
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleOwnershipConfirmRequest:
      type: object
      required:
        - confirmed
      properties:
        confirmed:
          type: boolean
          description: स्वामित्व की पुष्टि के लिए true, इसे अस्वीकार करने के लिए false।
        wallet_address:
          type: string
          default: ''
          description: >-
            इनबाउंड TRP ट्रांसफ़र: वह भुगतान पता जो आपके स्वीकृत करने पर Didit
            प्रेषक VASP को लौटाता है। डिफ़ॉल्ट रूप से मिलान की गई एड्रेस बुक
            प्रविष्टि का पता, फिर beneficiary_data.wallet_address होता है। घोषित
            स्व-होस्टेड वॉलेट ट्रांसफ़र पर जिसमें किसी प्रतिपक्ष वॉलेट का नाम
            नहीं है, वह वॉलेट जिसके स्वामित्व को आपने सत्यापित किया है; इसके
            बिना अनुरोध 400 के साथ अस्वीकृत कर दिया जाता है। अन्य ट्रांसफ़र के
            लिए अनदेखा किया जाता है।
    TravelRuleTransferDetail:
      type: object
      description: >-
        स्वामित्व-पुष्टि और समाप्त/रद्द endpoints द्वारा लौटाया गया पूर्ण
        स्थानांतरण ऑब्जेक्ट। जब तक किसी इनबाउंड स्थानांतरण के वॉलेट स्वामित्व की
        पुष्टि नहीं हो जाती, तब तक प्रतिपक्ष का `originator_data` और
        `beneficiary_data` मास्क होकर वापस आते हैं (प्रत्येक शब्द का पहला अक्षर
        रखा जाता है; वॉलेट, चेन और VASP रूटिंग पठनीय रहते हैं) और `data_masked`
        true होता है।
      properties:
        uuid:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - AWAITING_COUNTERPARTY
            - ON_HOLD
            - COMPLETED
            - FINISHED
            - CANCELLED
            - EXPIRED
            - COUNTERPARTY_MISMATCHED_DATA
            - COUNTERPARTY_VASP_NOT_FOUND
            - COUNTERPARTY_VASP_NOT_REACHABLE
            - UNCONFIRMED_OWNERSHIP
            - COUNTERPARTY_VASP_GENERAL_DECLINE
            - NOT_ENOUGH_COUNTERPARTY_DATA
            - NOT_APPLICABLE
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
        rail:
          type: string
          nullable: true
          enum:
            - INTERNAL
            - TRP
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
            - EMAIL
            - TEST_VASP
            - null
          description: >-
            वह रेल जिसके माध्यम से ट्रांसफर रूट किया गया था, या null जब कोई रेल
            नहीं चुना गया था (उदाहरण के लिए थ्रेशोल्ड से नीचे, एक स्व-होस्टेड
            प्रतिपक्ष वॉलेट, जमा के बाद का पंजीकरण, या कोई पहुँच योग्य प्रतिपक्ष
            न होने पर)। INTERNAL का अर्थ है दोनों पक्ष Didit एप्लिकेशन हैं;
            EMAIL का अर्थ है कि प्रतिपक्ष तक ईमेल किए गए पिकअप लिंक द्वारा
            पहुँचा गया था। TEST_VASP का अर्थ है कि Didit Test VASP ने सैंडबॉक्स
            ट्रांसफर का उत्तर दिया। GTR, VERIFYVASP और SYGNA पर, Didit नेटवर्क
            के रिस्पॉन्स से या हर 5 मिनट में इसे पोल करके प्रतिपक्ष का उत्तर
            पढ़ता है। TRUST केवल भेजता है, इसलिए TRUST ट्रांसफर तब तक
            AWAITING_COUNTERPARTY बना रहता है जब तक कि इसकी समय-सीमा समाप्त न हो
            जाए। नेटवर्क रेल का उपयोग केवल तभी किया जाता है जब आपने उस नेटवर्क
            के लिए अपनी सदस्यता कनेक्ट की हो। इसे लेन-देन बनाने का अनुरोध
            रिस्पॉन्स लौटाने के बाद चुना जाता है, इसलिए यह उस रिस्पॉन्स में null
            होता है।
        protocol:
          type: string
          nullable: true
        ivms_version:
          type: string
          example: ivms101.2023
        required:
          type: boolean
        ownership_confirmed:
          type: boolean
          nullable: true
        deadline_at:
          type: string
          format: date-time
          nullable: true
        timeline:
          type: array
          items:
            type: object
            properties:
              status:
                type: string
              at:
                type: string
                format: date-time
              detail:
                type: string
              name_match:
                allOf:
                  - $ref: '#/components/schemas/TravelRuleNameMatch'
                nullable: true
                description: >-
                  नाम तुलना जो इस प्रविष्टि ने तय की, `detail` के बगल में। उन
                  प्रविष्टियों पर अनुपस्थित जिन्होंने किसी नाम की तुलना नहीं की।
              reason:
                type: string
                description: >-
                  केवल उस संक्रमण की प्रविष्टि पर मौजूद जो विफल डिलीवरी के कारण
                  हुआ था: `email_undeliverable` या `delivery_failed`, वह मान जो
                  ट्रांसफ़र का `reason` रिपोर्ट करता है।
        counterparty_vasp:
          type: object
          nullable: true
          properties:
            name:
              type: string
            lei:
              type: string
            dd_score:
              type: integer
              description: >-
                0 से 100 तक ड्यू-डिलिजेंस स्कोर, जहाँ अधिक स्कोर बेहतर होता है।
                VASP डायरेक्टरी के समान पैमाना।
            dd_score_breakdown:
              type: object
              description: >-
                dd_score में प्रति-घटक योगदान, VASP डायरेक्टरी (jurisdiction,
                verification, protocol, lei, history, essentials,
                responsiveness) के अनुसार प्रति घटक एक ऑब्जेक्ट, प्रत्येक
                {points, max, reason, detail}। प्रतिपक्ष का मूल्यांकन होने तक
                {}।
              additionalProperties:
                type: object
                properties:
                  points:
                    type: number
                    description: इस घटक के लिए दिए गए अंक।
                  max:
                    type: integer
                    description: अधिकतम अंक जो यह घटक दे सकता है।
                  reason:
                    type: string
                    description: घटक के निर्णय का मशीन-पठनीय कोड।
                  detail:
                    type: string
                    description: प्रदान किए गए अंकों का मानव-पठनीय कारण।
            dd_assessed_at:
              type: string
              format: date-time
              nullable: true
              description: >-
                जब उचित जाँच-पड़ताल मूल्यांकन अंतिम बार चला था। जब तक प्रतिपक्ष
                का मूल्यांकन न किया गया हो तब तक Null।
        originator_data:
          type: object
          description: >-
            प्रेषक पक्ष। इनबाउंड ट्रांसफ़र के लिए स्वामित्व की पुष्टि होने तक
            प्रतिपक्ष के मान छिपाए जाते हैं।
        beneficiary_data:
          type: object
          description: >-
            लाभार्थी पक्ष। इनबाउंड ट्रांसफ़र के लिए स्वामित्व की पुष्टि होने तक
            प्रतिपक्ष के मान छिपे रहते हैं।
        name_match:
          allOf:
            - $ref: '#/components/schemas/TravelRuleNameMatch'
          nullable: true
          description: >-
            नाम तुलना जिसने ट्रांसफर तय किया, या एक बार चलने तक null। जब तक पक्ष
            मास्क किए गए हों, और INTERNAL एक्सचेंज की अन्य ग्राहक की प्रति पर,
            `transfer_name`, `compared_name`, `matched_names` और
            `mismatched_names` छिपे होते हैं। `score` और `matched` असहमत हो सकते
            हैं: `matched` सख्ती का पालन करता है, `score` दोनों पूरे नामों की
            समानता है।
        data_match:
          $ref: '#/components/schemas/TravelRuleDataMatch'
        mismatched_fields:
          type: array
          items:
            type: string
          description: >-
            `data_match.mismatched_fields` के लिए शॉर्टकट। कुछ भी भिन्न न होने
            पर खाली।
        data_unmasked:
          $ref: '#/components/schemas/TravelRuleDataUnmasked'
        data_masked:
          type: boolean
          description: >-
            सही जब इस रिस्पॉन्स में प्रतिपक्ष का व्यक्तिगत डेटा मास्क किया गया
            हो।
        created_at:
          type: string
          format: date-time
        delivery:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/TravelRuleDelivery'
          description: >-
            इस स्थानांतरण द्वारा दूसरे पक्ष को भेजे जाने वाले नवीनतम संदेश की
            स्थिति। Null जब स्थानांतरण को कभी कोई संदेश भेजने की आवश्यकता नहीं
            थी (उदाहरण के लिए `threshold_amount` से कम, घोषित स्व-होस्टेड वॉलेट,
            या सनराइज़ पंजीकरण)।
        discovery:
          type: array
          description: >-
            Didit ने प्रतिपक्ष की खोज कैसे की, निष्पादित प्रत्येक चरण के लिए एक
            प्रविष्टि। जब कोई खोज नहीं चली, उदाहरण के लिए इनबाउंड ट्रांसफ़र पर,
            तो रिक्त।
          items:
            $ref: '#/components/schemas/TravelRuleDiscoveryStep'
        reason:
          type: string
          description: >-
            एक `COUNTERPARTY_VASP_NOT_FOUND` या
            `COUNTERPARTY_VASP_NOT_REACHABLE` ट्रांसफर क्यों अटका हुआ है; किसी
            अन्य स्थिति के लिए `""`। एक विफल डिलीवरी इसे पहले तय करती है, केवल
            `COUNTERPARTY_VASP_NOT_REACHABLE` पर: `email_undeliverable` (मेल
            प्रदाता ने अनुपालन ईमेल को अस्वीकार कर दिया और आज़माने के लिए कोई
            पता नहीं बचा: जब इसे भेजा गया था, रिमाइंडर पर, या बाद में रिपोर्ट
            किए गए स्थायी बाउंस के रूप में) या `delivery_failed` (जो रेल डिलीवर
            कर रही थी वह स्थायी रूप से विफल हो गई: एक नेटवर्क रेल ने संदेश को
            अस्वीकार कर दिया या उसके पुनः प्रयास समाप्त हो गए, एक `TRP` पहचान
            होस्ट ने उत्तर नहीं दिया, या प्रतिपक्ष के `TRP` होस्ट ने पूछताछ
            स्वीकार नहीं की)। अन्यथा `discovery` ट्रेस इसे तय करता है:
            `awaiting_end_user` (किसी भी चरण ने ऐसे प्रतिपक्ष का नाम नहीं दिया
            जिस तक Didit पहुँच सके), `directory_match_no_route` (एक चरण ने एक
            निर्देशिका VASP का नाम दिया जिसका कोई रूट नहीं है),
            `picked_member_without_proven_wallet` (अंतिम उपयोगकर्ता ने ऐसे Didit
            ग्राहक को चुना जिसने वॉलेट पर नियंत्रण साबित नहीं किया है), या
            `no_directory_match` जब ट्रेस कोई अन्य कारण नहीं देता है। पुनः भेजना
            ट्रांसफर को आगे बढ़ाता है, इसलिए कारण साफ़ हो जाता है। देखें
            [ट्रांसफर क्यों अटका हुआ
            है](/hi/transaction-monitoring/travel-rule#ट्रांसफ़र-क्यों-अटका-है)।
        next_actions:
          type: array
          description: >-
            ट्रांसफ़र को क्या आगे बढ़ाता है; `COUNTERPARTY_VASP_NOT_FOUND` या
            `COUNTERPARTY_VASP_NOT_REACHABLE` को छोड़कर किसी भी स्थिति के लिए
            `[]`। `email_undeliverable` `update_compliance_email`, फिर `resend`
            प्रदान करता है। `delivery_failed` `resend` प्रदान करता है। डिस्कवरी
            कारण `select_counterparty_vasp`, `declare_self_hosted`,
            `add_vasp_hint` और `resend` प्रदान करता है।
          items:
            $ref: '#/components/schemas/TravelRuleNextAction'
        chain_details:
          $ref: '#/components/schemas/TravelRuleChainDetails'
    TravelRuleNameMatch:
      type: object
      nullable: true
      description: >-
        नाम तुलना जिसने ट्रांसफर तय किया, या एक बार चलने तक null। जब तक पक्ष
        मास्क किए गए हों, और INTERNAL एक्सचेंज की अन्य ग्राहक की प्रति पर,
        `transfer_name`, `compared_name`, `matched_names` और `mismatched_names`
        छिपे होते हैं। `score` और `matched` असहमत हो सकते हैं: `matched` सख्ती
        का पालन करता है, `score` दोनों पूरे नामों की समानता है।
      properties:
        score:
          type: integer
          minimum: 0
          maximum: 100
          description: >-
            दोनों पूरे नामों की समानता, 0 से 100। दोनों में से कोई भी नाम खाली
            होने पर 0।
        matched:
          type: boolean
          description: >-
            क्या नाम `strictness` को संतुष्ट करते हैं। ट्रांसफ़र का परिणाम
            `data_match` का पालन करता है, जो प्रत्येक फ़ील्ड की तुलना करता है,
            इसलिए इसके true होने पर भी कोई ट्रांसफ़र
            COUNTERPARTY_MISMATCHED_DATA हो सकता है।
        method:
          type: string
          enum:
            - none
            - exact_token
            - token_subset
            - token_containment
            - sequence_ratio
          description: >-
            `matched` कैसे तय किया गया था: none (`NONE`), exact_token
            (`STRICT`), token_subset (`DEFAULT`), token_containment (`CONTAINS`)
            या sequence_ratio (`FUZZY`)।
        strictness:
          type: string
          enum:
            - NONE
            - STRICT
            - CONTAINS
            - DEFAULT
            - FUZZY
        compared_with:
          type: string
          enum:
            - wallet_holder
            - counterparty_vasp
          description: >-
            wallet_holder: वॉलेट के लिए रिकॉर्ड किया गया धारक।
            counterparty_vasp: वह नाम जिससे प्रतिपक्ष ने ईमेल रिस्पॉन्स पेज पर
            उत्तर दिया, या सैंडबॉक्स में Didit Test VASP का उत्तर।
        transfer_name:
          type: string
          description: ट्रांसफर पर नाम।
        compared_name:
          type: string
          description: वह नाम जिसके साथ इसकी तुलना की गई थी।
        matched_names:
          type: array
          items:
            type: string
          description: '`compared_name` में पाए गए `transfer_name` के शब्द।'
        mismatched_names:
          type: array
          items:
            type: string
          description: >-
            `compared_name` में अनुपस्थित `transfer_name` के शब्द, फिर
            `transfer_name` में अनुपस्थित `compared_name` के शब्द।
    TravelRuleDataMatch:
      type: object
      nullable: true
      description: >-
        ट्रांस्फ़र के पक्ष डेटा की वॉलेट धारक के बारे में दूसरे पक्ष की जानकारी
        के साथ फ़ील्ड-दर-फ़ील्ड तुलना। यह फ़ील्ड और परिणामों को नाम देता है,
        मानों को कभी नहीं, ताकि प्रतिपक्ष का डेटा मास्क रहने पर भी यह पठनीय बना
        रहे। तुलना चलने तक Null।
      properties:
        matched:
          type: boolean
          description: True जब कोई भी तुलना की गई फ़ील्ड भिन्न न हो।
        mismatched_fields:
          type: array
          items:
            type: string
            enum:
              - name
              - date_of_birth
              - address
              - account
          description: वे फ़ील्ड जो भिन्न हैं।
        fields:
          type: object
          description: >-
            पक्ष के निकाय प्रकार के लिए तुलना किए गए प्रति फ़ील्ड एक प्रविष्टि
            (`name`, `date_of_birth`, `address`, `account`; किसी कंपनी की कोई
            `date_of_birth` नहीं होती है)।
          additionalProperties:
            type: object
            properties:
              result:
                type: string
                enum:
                  - matched
                  - mismatched
                  - not_compared
                description: >-
                  `not_compared` जब नियम `NONE` हो या किसी भी पक्ष के पास फ़ील्ड
                  के लिए कोई मान न हो।
              strictness:
                type: string
                enum:
                  - NONE
                  - STRICT
                  - CONTAINS
                  - DEFAULT
                  - FUZZY
    TravelRuleDataUnmasked:
      type: object
      nullable: true
      description: >-
        उस क्षण का ऑडिट रिकॉर्ड जब प्रतिपक्ष का डेटा अनमास्क किया गया था। जब तक
        डेटा मास्क रहता है, और आउटबाउंड ट्रांसफ़र के लिए यह Null रहता है।
      properties:
        at:
          type: string
          format: date-time
        reason:
          type: string
          enum:
            - ownership_confirmed
            - wallet_proof
            - address_book_match
            - own_verified_wallet
            - inquiry_approved
            - known_payment_method
            - travel_address
          description: >-
            स्वामित्व की पुष्टि किससे हुई: ownership_confirmed (कंसोल या API के
            माध्यम से आपकी पुष्टि), wallet_proof (विजेट में एक वॉलेट प्रमाण, या
            एक INTERNAL इनबाउंड ट्रांसफ़र, जो इसके बनने पर सेट होता है),
            address_book_match (एक सत्यापित एड्रेस-बुक वॉलेट),
            own_verified_wallet (आपके उपयोगकर्ता का अपना सत्यापित वॉलेट),
            inquiry_approved (किसी इनबाउंड TRP पूछताछ या GTR या Sygna संदेश की
            आपकी स्वीकृति), known_payment_method (एक वॉलेट जिससे आपके उपयोगकर्ता
            ने पहले ही भुगतान किया है) या travel_address (वॉलेट की पहचान करने
            वाला प्रति-वॉलेट Travel Address)।
        actor:
          type: string
          description: >-
            इसकी पुष्टि किसने की: कंसोल उपयोगकर्ता का ईमेल या API कुंजी का लेबल।
            स्वचालित निर्णय के लिए रिक्त।
    TravelRuleDelivery:
      type: object
      description: >-
        स्थानांतरण द्वारा दूसरे पक्ष को भेजे जाने वाले नवीनतम संदेश की स्थिति।
        Didit उस अनुरोध के वापस आने के बाद प्रतिपक्ष से संपर्क करता है जिसने
        स्थानांतरण बनाया या बदला था, इसलिए यह ऑब्जेक्ट बताता है कि वह संदेश
        पहुँचा या नहीं: कतारबद्ध, भेजा जा रहा है, त्रुटि के बाद पुनः प्रयास की
        प्रतीक्षा में, वितरित, या विफल। ऐसी विफलता जिससे नेटवर्क अभी भी उबर सकता
        है (समय पर उत्तर न मिलना, विफल कनेक्शन, HTTP `408`, `429` या `5xx`),
        उसका 30 सेकंड, 2 मिनट, 10 मिनट, 30 मिनट और 1 घंटे के बाद पुनः प्रयास
        किया जाता है। जब कोई पहला संदेश (`kind: SEND`) स्थायी रूप से विफल हो
        जाता है, क्योंकि नेटवर्क ने इसे अस्वीकार कर दिया या छठा प्रयास भी विफल
        रहा, तो स्थानांतरण अपनी `timeline` में `last_error` के साथ
        `COUNTERPARTY_VASP_NOT_REACHABLE` पर चला जाता है; स्थायी रूप से विफल
        होने वाले किसी भी अन्य संदेश को `timeline` में दर्ज किया जाता है। स्वयं
        एक्सचेंज के लिए स्थानांतरण का `status` ही सत्य का प्राथमिक स्रोत बना
        रहता है।
      required:
        - kind
        - status
        - rail
        - attempts
        - last_error
        - next_attempt_at
        - delivered_at
      properties:
        kind:
          type: string
          enum:
            - SEND
            - ANSWER
            - TXID
            - CANCEL
            - POLL
          description: >-
            संदेश में क्या शामिल है। `SEND`: प्रतिपक्ष को ट्रांसफ़र का पहला
            संदेश (आउटबाउंड; भेजे जाने पर रेल चुनी जाती है)। `ANSWER`: आपकी
            स्वीकृति या अस्वीकृति, उस नेटवर्क के प्रति देय जिसने अनुरोध किया था
            (इनबाउंड)। `TXID`: ट्रांसफ़र समाप्त करने के बाद ऑन-चेन लेन-देन हैश।
            `CANCEL`: आपके द्वारा रद्द किए जाने के बाद रद्दीकरण। `POLL`: ऐसी
            सुविधा प्रदान करने वाले नेटवर्क से स्थिति क्वेरी, जब तक ट्रांसफ़र
            प्रतिपक्ष की प्रतीक्षा करता है, हर 5 मिनट में दोहराई जाती है।
        status:
          type: string
          enum:
            - QUEUED
            - SENDING
            - RETRYING
            - DELIVERED
            - FAILED
          description: >-
            `QUEUED`: भेजे जाने की प्रतीक्षा में। `SENDING`: एक प्रयास चल रहा
            है। `RETRYING`: एक प्रयास विफल रहा और अगला प्रयास `next_attempt_at`
            पर चलेगा। `DELIVERED`: दूसरे पक्ष ने संदेश प्राप्त कर लिया।
            `FAILED`: दूसरे पक्ष ने इसे अस्वीकार कर दिया, या अंतिम प्रयास विफल
            रहा।
        rail:
          type: string
          enum:
            - INTERNAL
            - TRP
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
            - EMAIL
            - ''
          description: >-
            संदेश ले जाने वाली रेल। जब तक Didit पहले संदेश के लिए किसी एक को चुन
            नहीं लेता, तब तक खाली रहता है।
        attempts:
          type: integer
          minimum: 0
          description: >-
            इस संदेश के लिए अब तक किए गए प्रयास। एक संदेश जो स्थिति पोल नहीं है,
            उसके लिए अधिकतम 6 बार प्रयास किया जाता है।
        last_error:
          type: string
          description: >-
            अंतिम प्रयास में हुई विफलता का प्रकार, कोई विफलता न होने पर `""`:
            उदाहरण के लिए `email undeliverable`, `trp identity endpoint
            unreachable` या `trp transfer inquiry delivery failed`। इसमें कभी भी
            प्रतिपक्ष का अपना उत्तर नहीं होता, जो ट्रांसफ़र की `timeline` पर
            रहता है।

            जब GTR किसी त्रुटि के साथ उत्तर देता है, तो उसका अपना स्टेटस कोड और
            संदेश शामिल होता है। रिस्पॉन्स बॉडी कभी शामिल नहीं की जाती है।
          example: email undeliverable
        next_attempt_at:
          type: string
          format: date-time
          nullable: true
          description: अगला प्रयास कब चलेगा जब संदेश `QUEUED` या `RETRYING` स्थिति में हो।
        delivered_at:
          type: string
          format: date-time
          nullable: true
          description: दूसरे पक्ष ने संदेश कब प्राप्त किया।
    TravelRuleDiscoveryStep:
      type: object
      description: >-
        आउटबाउंड ट्रांसफ़र के लिए Didit द्वारा चलाई गई प्रतिपक्ष खोज का एक चरण,
        जिस क्रम में इसे चलाया गया था। किसी रूट वाले VASP का नाम बताने वाला पहला
        चरण श्रृंखला को समाप्त कर देता है।
      properties:
        step:
          type: string
          enum:
            - internal_address_book
            - wallet_attribution
            - network_lookup
            - customer_hint
            - end_user
          description: >-
            `internal_address_book`: अन्य Didit ग्राहक जिसने गंतव्य वॉलेट पर
            नियंत्रण सिद्ध किया है। `wallet_attribution`: वॉलेट का ब्लॉकचेन
            एनालिटिक्स एट्रिब्यूशन। `network_lookup`: एक नेटवर्क जो यह बता सकता
            है कि किस VASP के पास यह पता है। `customer_hint`: VASP नाम, LEI या
            अधिकार क्षेत्र जो आपने `beneficiary_data` में भेजा है। `end_user`:
            वह प्रतिपक्ष जिसे अंतिम उपयोगकर्ता (या आपने) चुना है, या किसी एक को
            चुनने का अनुरोध।
        outcome:
          type: string
          enum:
            - match
            - miss
            - skipped
          description: >-
            `match`: चरण ने एक प्रतिपक्ष का नाम निर्दिष्ट किया। `miss`: यह चला
            और कोई नहीं मिला। `skipped`: यह नहीं चल सका, और `reason` बताता है कि
            क्यों।
        reason:
          type: string
          description: >-
            मशीन-पठनीय कारण, मिलान होने पर `""`: `no_proven_internal_wallet`,
            `attribution_disabled`, `already_attributed`,
            `no_attributed_entity`, `directory_match_no_route`,
            `gtr_address_lookup_runs_on_dispatch`, `no_membership`,
            `network_switched_off`, `no_network_address_lookup`,
            `no_directory_match`, `awaiting_end_user` या
            `picked_member_without_proven_wallet`।
        vasp:
          type: string
          format: uuid
          nullable: true
          description: >-
            डायरेक्टरी VASP जिसे चरण ने नामित किया है, यदि उसने किसी को नामित
            किया हो।
        rail:
          type: string
          nullable: true
          description: वह रेल जो उस प्रतिपक्ष तक पहुँचती है, जब चरण को कोई रेल मिल जाती है।
        at:
          type: string
          format: date-time
    TravelRuleNextAction:
      type: object
      description: >-
        एक क्रिया जो `COUNTERPARTY_VASP_NOT_FOUND` या
        `COUNTERPARTY_VASP_NOT_REACHABLE` ट्रांसफ़र को आगे बढ़ाती है। देखें
        [ट्रांसफ़र क्यों अटका हुआ
        है](/hi/transaction-monitoring/travel-rule#ट्रांसफ़र-क्यों-अटका-है)।
      properties:
        action:
          type: string
          enum:
            - select_counterparty_vasp
            - declare_self_hosted
            - add_vasp_hint
            - update_compliance_email
            - resend
          description: >-
            `select_counterparty_vasp`: अंतिम उपयोगकर्ता वॉलेट-स्वामित्व विजेट
            में गंतव्य VASP चुनता है, या आप `action=beneficiary_vasp` को PATCH
            करते हैं। `declare_self_hosted`: अंतिम उपयोगकर्ता विजेट में वॉलेट को
            स्व-होस्टेड घोषित करता है। `add_vasp_hint`: Didit को बताएं कि VASP
            नाम, LEI या Travel Address (उदाहरण के लिए गंतव्य वॉलेट की एड्रेस-बुक
            प्रविष्टि पर एक `travel_address`) के साथ प्रतिपक्ष कौन है, फिर पुनः
            भेजें। `update_compliance_email` और `resend`, `PATCH
            /v3/transactions/{transaction_id}/travel-rule/` के `action` मान हैं:
            प्रतिपक्ष का अनुपालन ईमेल फिर से दें, और रूटिंग दोबारा चलाएँ।
        url:
          type: string
          format: uri
          description: >-
            `select_counterparty_vasp` और `declare_self_hosted` पर
            वॉलेट-स्वामित्व विजेट लिंक, जब ट्रांसफर में एक खुला विजेट सत्र हो।
      required:
        - action
    TravelRuleChainDetails:
      type: object
      description: >-
        ट्रांसफ़र की चेन अपने दो वॉलेट को कैसे नाम देती है, जब ट्रांसफ़र केवल एक
        पते द्वारा दूसरे को भुगतान करने तक सीमित न हो। खाता-श्रृंखला ट्रांसफ़र
        (EVM, Solana, Tron) के लिए खाली (`{}`), जहाँ दोनों पते वॉलेट हैं। मिलान,
        रूटिंग और एड्रेस बुक वॉलेट्स को सबसे पहले यहाँ से पढ़ते हैं।
      properties:
        chain:
          type: string
          description: >-
            कैनोनिकल चेन, उदा. `BTC`, `XRP`, या Lightning ट्रांसफ़र के लिए
            `LIGHTNING`।
        shape:
          type: string
          enum:
            - utxo
            - memo
            - lightning
        originator:
          $ref: '#/components/schemas/TravelRuleChainSide'
        beneficiary:
          $ref: '#/components/schemas/TravelRuleChainSide'
        utxo:
          type: object
          description: >-
            एक UTXO ट्रांसफ़र पर: संग्रहीत इनपुट और आउटपुट (दशमलव स्ट्रिंग के
            रूप में राशियां) और Didit ने किन आउटपुट को क्या पढ़ा।
          properties:
            inputs:
              type: array
              items:
                $ref: '#/components/schemas/TravelRuleUtxoEntry'
            outputs:
              type: array
              items:
                $ref: '#/components/schemas/TravelRuleUtxoEntry'
            change_output_indexes:
              type: array
              items:
                type: integer
              description: आउटपुट जो इनपुट पते पर वापस भुगतान करते हैं।
            beneficiary_output_index:
              type: integer
              nullable: true
              description: >-
                वह आउटपुट जो लाभार्थी को भुगतान करता है; null जब किसी को अलग से
                पहचाना न जा सके।
        lightning:
          type: object
          description: >-
            Lightning ट्रांसफ़र पर: भुगतान अनुरोध क्या कहता है। हमेशा `kind`
            (`bolt11`, `bolt12_offer`, `bolt12_invoice`,
            `bolt12_invoice_request`, `lnurl`, `lightning_address`, `node_id` या
            `unknown`); एक BOLT11 इनवॉइस `network`, `payee_node_id`,
            `payment_hash`, `amount_msat`, `created_at` और `expires_at` जोड़ता
            है; एक BOLT12 स्ट्रिंग `blinded_paths` और `payee_node_id` जोड़ती है;
            एक LNURL या एक Lightning Address अपना `domain` जोड़ता है। नेटवर्क पर
            कुछ भी हल नहीं किया जाता है: अनुरोध केवल डिकोड किया जाता है।
          additionalProperties: true
        warnings:
          type: array
          items:
            type: string
            enum:
              - declared_originator_not_an_input
              - declared_beneficiary_not_an_output
              - beneficiary_output_ambiguous
              - beneficiary_output_amount_differs
          description: >-
            UTXO विसंगतियाँ जिन पर ध्यान देने की आवश्यकता है: घोषित प्रेषक कोई
            इनपुट नहीं है, घोषित लाभार्थी कोई आउटपुट नहीं है, किसी एकल लाभार्थी
            आउटपुट की अलग से पहचान नहीं की जा सकी, या लाभार्थी आउटपुट लेन-देन
            में बताई गई राशि से भिन्न राशि का भुगतान करता है।
        not_applicable_reason:
          type: string
          enum:
            - LIGHTNING_NO_PAYEE_IDENTIFIER
            - LIGHTNING_BOLT12_BLINDED_PAYEE
            - LIGHTNING_LNURL_NAMES_NO_PAYEE
          description: >-
            एक आउटबाउंड Lightning ट्रांसफ़र पर जिसका भुगतान अनुरोध किसी
            प्राप्तकर्ता का नाम नहीं देता है: ट्रांसफ़र `NOT_APPLICABLE` क्यों
            है। `LIGHTNING_NO_PAYEE_IDENTIFIER` (अनुरोध किसी प्राप्तकर्ता नोड का
            नाम नहीं देता है, या डिकोड नहीं किया जा सका),
            `LIGHTNING_BOLT12_BLINDED_PAYEE` (ऑफ़र अपने प्राप्तकर्ता को
            ब्लाइंडेड पाथ के पीछे छुपाता है), `LIGHTNING_LNURL_NAMES_NO_PAYEE`
            (एक LNURL किसी सेवा का नाम देता है, प्राप्तकर्ता का नहीं)। वही कोड
            ट्रांसफ़र की अंतिम `timeline` प्रविष्टि को खोलता है।
    TravelRuleChainSide:
      type: object
      description: एक पक्ष का वॉलेट जैसा कि Didit ने चेन डेटा से हल किया है।
      properties:
        address:
          type: string
          description: >-
            वॉलेट। मेमो नेटवर्क पर क्लासिक पता (एक XRP X-address अपने क्लासिक
            पते और उसके टैग में विभाजित होता है); Lightning पर प्राप्तकर्ता नोड
            id या Lightning Address।
        memo:
          type: string
          description: >-
            वॉलेट का हिस्सा बनने वाला डेस्टिनेशन टैग या मेमो; किसी के न होने पर
            `""`।
        source:
          type: string
          enum:
            - declared
            - x_address
            - largest_input
            - only_non_change_output
            - amount_match
            - invoice_payee
            - updated
          description: >-
            वॉलेट कहाँ से आया था: `declared` (आपका अनुरोध), `x_address` (XRP
            X-address से विभाजित), `largest_input` (UTXO इनपुट पता जिसने सबसे
            अधिक योगदान दिया), `only_non_change_output` (एकमात्र UTXO आउटपुट जो
            चेंज नहीं है), `amount_match` (ट्रांसफ़र राशि का भुगतान करने वाला एक
            UTXO आउटपुट), `invoice_payee` (Lightning भुगतान अनुरोध द्वारा
            निर्दिष्ट आदाता), `updated` (`action: update_originator_wallet` के
            साथ बाद में सेट किया गया)।
    TravelRuleUtxoEntry:
      type: object
      description: >-
        एक UTXO लेन-देन का एक इनपुट या आउटपुट, जैसा कि ब्लॉकचेन ने इसे रिकॉर्ड
        किया है।
      required:
        - address
      properties:
        address:
          type: string
          maxLength: 128
        amount:
          type: string
          nullable: true
          description: कॉइन की अपनी इकाई (BTC, satoshis नहीं) में दशमलव स्ट्रिंग। वैकल्पिक।
          example: '0.0125'
        txid:
          type: string
          maxLength: 128
          description: वैकल्पिक। वह लेन-देन जिसे कोई इनपुट खर्च करता है।
        vout:
          type: integer
          nullable: true
          minimum: 0
          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.