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

# प्रतिपक्ष VASP स्क्रीनिंग API: प्रतिबंध जाँच

> Didit के साथ अपने एप्लिकेशन के लिए Travel Rule प्रतिपक्ष VASP की वैकल्पिक, शुल्क-योग्य प्रतिबंध और प्रतिकूल मीडिया स्क्रीनिंग चलाएँ।



VASP की स्क्रीनिंग के लिए API प्रॉम्प्ट
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\`Screen a Travel Rule counterparty VASP against sanctions and adverse media for my application.

Endpoint:
POST https://verification.didit.me/v3/travel-rule/vasps/{vasp_id}/screening/

Authentication:
Use the x-api-key header with my Didit API key.

Prerequisite:
Turn on counterparty screening first: PUT /v3/travel-rule/settings/ with {"counterparty_screening_enabled": true}. It is off by default.

Example call:
curl -X POST "https://verification.didit.me/v3/travel-rule/vasps/{vasp_id}/screening/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"refresh": false}'

Body (optional):
\- refresh - true screens again even when a fresh screening exists. Default false.

What happens:
\- 201 {"outcome": "screened", "screening": {...}} - a new screening ran and was billed at my organization's Company AML Screening price (GET .../screening/ returns the price).
\- 200 {"outcome": "reused", "screening": {...}} - a screening younger than 30 days already existed and was returned. Nothing was billed.
\- screening is {id, status, total_hits, score, screened_at, fresh, flagged}. status is Approved, In Review or Declined; flagged is true while a fresh screening is In Review or Declined.
\- While my latest screening is flagged and screening stays on, my rules read counterparty_risk_level as HIGH for this counterparty. The shared risk_level in the directory does not change.
\- The screening is private to my application: no other Didit customer sees it.
\- With screening on, Didit also screens the counterparty an outbound Travel Rule exchange reaches when the exchange starts, reusing a fresh screening and billing a new one the same way. A refusal or failure there never fails the transfer.

Failure modes (nothing runs and nothing is billed):
\- 400 - the counterparty has no name to screen, or the body is not valid.
\- 403 - my organization's balance cannot cover the screening (code insufficient_credits), or my contract has no rate configured for it.
\- 404 - no directory entry or listed Didit network member has this id, or the id is my own VASP profile.
\- 409 - counterparty screening is off, the application is a sandbox one, or a screening of this counterparty is already running.
\- 502 - the screening could not be completed; try again in a moment.

Full guide: /transaction-monitoring/travel-rule#counterparty-screening.`

\</pre>



      
      

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



## OpenAPI

````yaml hi/openapi-25.json POST /v3/travel-rule/vasps/{vasp_id}/screening/
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/travel-rule/vasps/{vasp_id}/screening/:
    post:
      tags:
        - Travel Rule
      summary: किसी VASP की स्क्रीनिंग करें
      description: >-
        अपने एप्लिकेशन के लिए प्रतिपक्ष निकाय को प्रतिबंधों और प्रतिकूल मीडिया
        के विरुद्ध स्क्रीन करें। ऑप्ट-इन: आपकी Travel Rule सेटिंग्स में
        counterparty_screening_enabled चालू होना चाहिए। प्रत्येक नई स्क्रीनिंग
        का बिल आपके संगठन की कंपनी AML स्क्रीनिंग की कीमत पर लिया जाता है; 30
        दिनों से कम पुरानी स्क्रीनिंग इसके बजाय वापस कर दी जाती है (200, बिल
        नहीं किया गया), जब तक कि आप refresh: true न भेजें। प्रति एप्लिकेशन एक
        समय में एक प्रतिपक्ष की केवल एक स्क्रीनिंग चलती है। परिणाम आपके
        एप्लिकेशन के लिए निजी होता है। सैंडबॉक्स एप्लिकेशन को कभी स्क्रीन नहीं
        किया जाता है।
      operationId: screenTravelRuleVasp
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            GET /v3/travel-rule/vasps/ की एक पंक्ति की id: एक डायरेक्टरी
            प्रविष्टि या Didit नेटवर्क सदस्य।
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleCounterpartyScreeningRequest'
            example:
              refresh: false
      responses:
        '200':
          description: >-
            एक नई स्क्रीनिंग पहले से मौजूद थी और वही वापस की गई। कोई बिलिंग नहीं
            की गई।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleCounterpartyScreeningResult'
              example:
                outcome: reused
                screening:
                  id: 7a1d2c3b-4e5f-4a6b-8c7d-9e0f1a2b3c4d
                  status: Approved
                  total_hits: 0
                  score: null
                  screened_at: '2026-10-14T09:58:00Z'
                  fresh: true
                  flagged: false
        '201':
          description: एक नई स्क्रीनिंग चलाई गई और बिल की गई।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleCounterpartyScreeningResult'
              example:
                outcome: screened
                screening:
                  id: 7a1d2c3b-4e5f-4a6b-8c7d-9e0f1a2b3c4d
                  status: In Review
                  total_hits: 2
                  score: 85
                  screened_at: '2026-10-14T09:58:00Z'
                  fresh: true
                  flagged: true
        '400':
          description: >-
            बॉडी अमान्य है, या प्रतिपक्ष के पास स्क्रीन करने के लिए कोई नाम नहीं
            है।
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
              example:
                detail:
                  - This counterparty has no name to screen.
        '403':
          description: >-
            आपके संगठन का बैलेंस स्क्रीनिंग को कवर नहीं कर सकता (कोड
            insufficient_credits; कुछ भी नहीं चला और कुछ भी बिल नहीं किया गया),
            या आपके अनुबंध में इसके लिए कोई दर कॉन्फ़िगर नहीं है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
              example:
                detail: >-
                  You don't have enough credits to perform this request. Please
                  top up at https://business.didit.me
                code: insufficient_credits
        '404':
          description: >-
            किसी भी डायरेक्टरी प्रविष्टि या सूचीबद्ध Didit नेटवर्क सदस्य की यह
            id नहीं है। आपकी अपनी VASP प्रोफ़ाइल कभी भी आपकी प्रतिपक्ष नहीं होती
            है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No directory entry or Didit network member has this id.
        '409':
          description: >-
            कुछ भी नहीं चला और कोई बिलिंग नहीं की गई: आपके एप्लिकेशन के लिए
            प्रतिपक्ष स्क्रीनिंग बंद है, एप्लिकेशन सैंडबॉक्स वाला है, या इस
            प्रतिपक्ष की स्क्रीनिंग पहले से चल रही है।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Screening off:
                  value:
                    detail: >-
                      Counterparty screening is turned off. Enable it in the
                      Travel Rule settings first.
                Sandbox application:
                  value:
                    detail: >-
                      Counterparty screening does not run for sandbox
                      applications.
                Already running:
                  value:
                    detail: >-
                      A screening of this counterparty is already running. Try
                      again in a moment.
        '502':
          description: >-
            स्क्रीनिंग पूरी नहीं की जा सकी। कुछ भी बिल नहीं किया गया; कुछ क्षण
            बाद पुनः प्रयास करें।
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: The screening provider did not answer. Try again in a moment.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            https://verification.didit.me/v3/travel-rule/vasps/{vasp_id}/screening/
            \
              -H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
              -d '{"refresh": false}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.travel_rule.screen_vasp(
                "11111111-2222-3333-4444-555555555555",
                refresh=False,
            )
            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.travelRule.screenVasp("11111111-2222-3333-4444-555555555555",
            {
              refresh: false,
            });

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


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.travelRule().screenVasp("11111111-2222-3333-4444-555555555555",
            TravelRuleCounterpartyScreeningRequest.builder()
                    .refresh(false)
                    .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->travelRule->screenVasp('11111111-2222-3333-4444-555555555555',
            [
                'refresh' => false,
            ]);

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

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

            result = didit.travel_rule.screen_vasp(
              "11111111-2222-3333-4444-555555555555",
              refresh: false
            )
            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.TravelRule.ScreenVaspAsync("11111111-2222-3333-4444-555555555555",
            new TravelRuleCounterpartyScreeningRequest

            {
                Refresh = false,
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleCounterpartyScreeningRequest:
      type: object
      properties:
        refresh:
          type: boolean
          default: false
          description: >-
            true होने पर ताज़ा स्क्रीनिंग मौजूद होने पर भी फिर से स्क्रीनिंग
            होती है (और फिर से बिल किया जाता है)।
    TravelRuleCounterpartyScreeningResult:
      type: object
      properties:
        outcome:
          type: string
          enum:
            - screened
            - reused
          description: >-
            screened: एक नई स्क्रीनिंग चलाई गई और बिल की गई (201)। reused: एक
            ताज़ा स्क्रीनिंग लौटाई गई और कोई शुल्क नहीं लिया गया (200)।
        screening:
          $ref: '#/components/schemas/TravelRuleCounterpartyScreening'
    TravelRuleCounterpartyScreening:
      type: object
      description: >-
        प्रतिपक्ष इकाई की प्रतिबंध और प्रतिकूल मीडिया की एक स्क्रीनिंग, जो आपके
        एप्लिकेशन के लिए चलाई गई और बिल की गई है। आपके एप्लिकेशन के लिए निजी:
        दूसरा ग्राहक इसे कभी नहीं देख सकता।
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - Approved
            - In Review
            - Declined
          description: >-
            स्वीकृत: किसी भी संभावित मिलान पर ध्यान देने की आवश्यकता नहीं है।
            समीक्षाधीन या अस्वीकृत: संभावित प्रतिबंध या प्रतिकूल मीडिया मिलान।
        total_hits:
          type: integer
          description: स्क्रीनिंग ने कितने संभावित मिलान लौटाए।
        score:
          type: number
          nullable: true
          description: संभावित मिलानों में उच्चतम जोखिम स्कोर। कुछ भी मेल न खाने पर Null।
        screened_at:
          type: string
          format: date-time
        fresh:
          type: boolean
          description: >-
            क्या स्क्रीनिंग fresh_days (30 दिन) से कम पुरानी है। एक नई
            स्क्रीनिंग का पुनः उपयोग किया जाता है बजाय इसके कि फिर से बिल किया
            जाए।
        flagged:
          type: boolean
          description: >-
            true जब तक स्क्रीनिंग ताज़ा है और इसकी status In Review या Declined
            है। जब तक आपकी नवीनतम स्क्रीनिंग फ़्लैग की गई है और प्रतिपक्ष
            स्क्रीनिंग चालू रहती है, तब तक आपके नियमों में
            counterparty_risk_level HIGH रहता है।
  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.