> ## 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: Vendor User Entity

> Didit के साथ vendor_data से एक उपयोगकर्ता प्राप्त करें: पहचान फ़ील्ड, स्थिति, KYC काउंटर और फ़ीचर मैप। स्थायी KYC पहचान, प्रति कॉल भुगतान।



उपयोगकर्ता प्रॉम्प्ट प्राप्त करें
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\`Goal: Fetch a single Didit User entity by your own vendor_data.

Endpoint: GET https://verification.didit.me/v3/users/{vendor_data}/
Auth header: x-api-key: <DIDIT_API_KEY>

Path param:
\- vendor_data (string, REQUIRED) — your unique identifier. Free-form string, NOT a UUID. Matching is case-insensitive after Didit normalisation. URL-encode it.

curl:
curl -X GET 'https://verification.didit.me/v3/users/user-abc-123/' \
-H 'x-api-key: YOUR_API_KEY'

Response 200 (UserDetailItem) — extends the list shape with metadata, comments (activity log), and updated_at. Key fields:
\- didit_internal_id (UUID — Didit's stable internal identifier)
\- vendor_data (string)
\- display_name, full_name, date_of_birth, effective_name, portrait_image_url
\- status: "ACTIVE" | "FLAGGED" | "BLOCKED" (VendorUserStatusChoices)
\- session_count, approved_count, declined_count, in_review_count (aggregate counters)
\- features (map of feature -> latest status)
\- approved_emails, approved_phones, issuing_states
\- metadata (arbitrary JSON you attached)
\- comments (chronological activity log: status changes, manual notes, system events)
\- created_at, updated_at
See /reference/data-models for the full schema.

Notes:
\- Aggregate counters update in real time as sessions reach terminal status.
\- For bulk lookups, prefer paging GET /v3/users/ and indexing locally on vendor_data instead of fanning out one call per identifier.

Failure modes (envelope {"detail": "..."}):
\- 401 — missing or invalid x-api-key.
\- 403 — the API key is revoked or is not valid for this application.
\- 404 — no user with that vendor_data in this application.
\- 429 — rate-limited.

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

\</pre>



      
      

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

## अवलोकन`vendor_data` द्वारा कुंजीबद्ध एक [उपयोगकर्ता इकाई](https://docs.didit.me/hi/entities/users/overview.md) लौटाता है। प्रतिक्रियाओं में `didit_internal_id` शामिल होता है, जो Didit का स्थिर आंतरिक पहचानकर्ता है।## इसे कब उपयोग करें- उपयोगकर्ता की वर्तमान सत्यापन स्थिति की **जांच** करें। `features` मैप एक ही ऑब्जेक्ट में हर सुविधा की नवीनतम स्थिति देता है।
- अपने UI में **विस्तृत दृश्य**: रेंडर करने से पहले माँग पर प्रोफ़ाइल लाएँ।
- **जोखिम स्कोरिंग**: अपनी ओर से हर उपयोगकर्ता का स्कोर निकालने के लिए सत्र काउंटर और `features` को मिलाएँ।## नोट्स- URL में `vendor_data` केस-संवेदी है।
- यदि एप्लिकेशन में उस `vendor_data` वाला कोई उपयोगकर्ता मौजूद नहीं है, तो `404` लौटाता है।
- कुल काउंटर (`session_count`, `approved_count`, `declined_count`, `in_review_count`) सत्र पूरे होने के साथ रीयल टाइम में अपडेट होते हैं।
- हर फ़ील्ड के लिए [उपयोगकर्ता डेटा मॉडल](https://docs.didit.me/hi/entities/users/data-model.md) देखें।## अनुमतियाँएप्लिकेशन की कोई भी सक्रिय API कुंजी इस endpoint को कॉल कर सकती है। Didit API कुंजियाँ **एप्लिकेशन-स्कोप्ड हैं, भूमिका-स्कोप्ड नहीं**: कंसोल की [भूमिकाएँ और अनुमतियाँ](https://docs.didit.me/hi/console/roles-permissions.md) (`read:users` और बाकी) तय करती हैं कि कोई *व्यक्ति* कंसोल में क्या कर सकता है, और इनका मूल्यांकन Management API ट्रैफ़िक के लिए नहीं किया जाता। इस endpoint को कौन कॉल कर सकता है, यह नियंत्रित करने के लिए यह नियंत्रित करें कि एप्लिकेशन की API कुंजी कौन पढ़ सकता है।## संबंधित- [उपयोगकर्ताओं का अवलोकन](https://docs.didit.me/hi/entities/users/overview.md)
- [डेटा मॉडल](https://docs.didit.me/hi/entities/users/data-model.md)
- [उपयोगकर्ताओं की सूची](https://docs.didit.me/hi/management-api/users/list.md)


## OpenAPI

````yaml hi/openapi-25.json GET /v3/users/{vendor_data}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: पहचान सत्यापन API। x-api-key हेडर के साथ प्रमाणीकृत करें।
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/users/{vendor_data}/:
    get:
      tags:
        - Users
      summary: उपयोगकर्ता प्राप्त करें
      description: >-
        `vendor_data` (सटीक मिलान) के आधार पर एक [उपयोगकर्ता](/entities/users)
        प्राप्त करें। सूची दृश्य में `metadata`, `comments`, और `updated_at`
        जोड़ता है, और `tags` को विस्तृत टैग-लिंक संरचना में बदलता है।
      operationId: get_user
      parameters:
        - name: vendor_data
          in: path
          required: true
          schema:
            type: string
          description: >-
            उपयोगकर्ता के लिए आपका विशिष्ट पहचानकर्ता — एक मुक्त-रूप स्ट्रिंग
            (UUID नहीं)। यह वही मान है जिसे आपने इस उपयोगकर्ता को पहली बार पेश
            करने वाले सत्र को बनाते समय `vendor_data` के रूप में पास किया था,
            ठीक वैसे ही मिलान किया गया जैसा भेजा गया था।
          example: user-abc-123
      responses:
        '200':
          description: >-
            मेटाडेटा, टिप्पणियाँ/गतिविधि लॉग और संकलित सत्र डेटा सहित पूर्ण
            उपयोगकर्ता विवरण।
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailItem'
              examples:
                Active user:
                  value:
                    didit_internal_id: f4e5e1f2-94a9-4f86-8c16-2b7d9b4db418
                    vendor_data: user-abc-123
                    display_name: null
                    full_name: John Michael Doe
                    date_of_birth: '1990-05-15'
                    effective_name: John Michael Doe
                    status: ACTIVE
                    metadata:
                      tier: premium
                      source: website
                    portrait_image_url: https://<media-host>/...
                    session_count: 3
                    approved_count: 2
                    declined_count: 0
                    in_review_count: 1
                    issuing_states:
                      - USA
                    approved_emails:
                      - john@example.com
                    approved_phones:
                      - '+14155551234'
                    features:
                      ID_VERIFICATION: Approved
                      LIVENESS: Approved
                      FACE_MATCH: Approved
                      AML: Approved
                    features_list:
                      - feature: ID_VERIFICATION
                        status: Approved
                      - feature: LIVENESS
                        status: Approved
                      - feature: FACE_MATCH
                        status: Approved
                      - feature: AML
                        status: Approved
                    last_session_at: '2025-06-15T10:30:00Z'
                    last_activity_at: '2025-06-15T10:30:00Z'
                    first_session_at: '2025-06-01T08:00:00Z'
                    tags:
                      - uuid: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
                        tag:
                          uuid: e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b
                          name: VIP
                          color: '#2567FF'
                          description: null
                          source: custom
                          created_at: '2025-05-01T09:00:00Z'
                          updated_at: '2025-05-01T09:00:00Z'
                        added_by_email: analyst@acme.com
                        added_by_name: Jane Analyst
                        created_at: '2025-06-02T11:00:00Z'
                    comments:
                      - uuid: c1111111-2222-4333-8444-555555555555
                        comment_type: STATUS_CHANGED
                        comment: null
                        actor_email: analyst@acme.com
                        actor_name: Jane Analyst
                        previous_status: FLAGGED
                        new_status: ACTIVE
                        previous_value: null
                        new_value: null
                        changed_fields: []
                        metadata: null
                        mentioned_emails: []
                        created_at: '2025-06-01T10:30:00Z'
                    created_at: '2025-06-01T08:00:00Z'
                    updated_at: '2025-06-15T10:30:00Z'
        '401':
          description: >-
            कोई क्रेडेंशियल प्रदान नहीं किए गए। `x-api-key` हेडर (या
            `Authorization: Bearer` token) के बिना `/v3/users/*` पाथ पर आने वाले
            अनुरोधों को API तक पहुँचने से पहले प्रमाणीकरण मिडलवेयर द्वारा
            अस्वीकार कर दिया जाता है।
          content:
            application/json:
              examples:
                Missing credentials:
                  value:
                    detail: >-
                      You must be authenticated with a valid access token to
                      access this endpoint.
        '403':
          description: >-
            अमान्य या निरस्त की गई API कुंजी, या कुंजी इस एप्लिकेशन के
            उपयोगकर्ताओं को पढ़ने की अनुमति नहीं देती है। अनुपलब्ध कुंजी `403`
            लौटाती है; गलत, निरस्त की गई या समाप्त हो चुकी कुंजी `401` लौटाती
            है।
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            इस एप्लिकेशन के लिए दिए गए `vendor_data` वाला कोई उपयोगकर्ता मौजूद
            नहीं है।
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: Not found.
        '429':
          description: >-
            रेट लिमिट पार हो गई; थोड़ा रुकें और `Retry-After` में बताए गए अंतराल
            के बाद पुनः प्रयास करें।
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X GET 'https://verification.didit.me/v3/users/user-abc-123/' \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.users.retrieve(
                "user-abc-123",
            )
            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.users.retrieve("user-abc-123");
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Users.Retrieve(ctx, \"user-abc-123\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            var result = client.users().retrieve("user-abc-123");
            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->users->retrieve('user-abc-123');
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.users.retrieve("user-abc-123")
            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.Users.RetrieveAsync("user-abc-123");
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    UserDetailItem:
      type: object
      description: >-
        पूर्ण उपयोगकर्ता विवरण। मेटाडेटा, टिप्पणियों और updated_at के साथ
        UserListItem का विस्तार करता है।
      allOf:
        - $ref: '#/components/schemas/UserListItem'
        - type: object
          properties:
            metadata:
              type: object
              description: >-
                कस्टम मेटाडेटा JSON जिसे आपने इस उपयोगकर्ता से जोड़ा है।
                डिफ़ॉल्ट `{}` है।
            tags:
              type: array
              description: >-
                टैग असाइनमेंट। ध्यान दें: विवरण रिस्पॉन्स पर प्रत्येक प्रविष्टि
                एक टैग *लिंक* ऑब्जेक्ट (`{uuid, tag: {...}, added_by_email,
                added_by_name, created_at}`) होती है, जो सूची रिस्पॉन्स पर उपयोग
                किए जाने वाले फ़्लैट `{uuid, name, color}` आकार से भिन्न है।
              items:
                type: object
                properties:
                  uuid:
                    type: string
                    format: uuid
                    description: टैग असाइनमेंट का UUID (स्वयं टैग नहीं)।
                  tag:
                    type: object
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      name:
                        type: string
                      color:
                        type: string
                      description:
                        type: string
                        nullable: true
                      source:
                        type: string
                        enum:
                          - didit
                          - custom
                      created_at:
                        type: string
                        format: date-time
                      updated_at:
                        type: string
                        format: date-time
                  added_by_email:
                    type: string
                    nullable: true
                  added_by_name:
                    type: string
                    nullable: true
                  created_at:
                    type: string
                    format: date-time
            comments:
              type: array
              items:
                type: object
                properties:
                  uuid:
                    type: string
                    format: uuid
                  comment_type:
                    type: string
                    enum:
                      - COMMENT
                      - STATUS_CHANGED
                      - METADATA_UPDATED
                      - TAG_ADDED
                      - TAG_REMOVED
                      - PROFILE_UPDATED
                  comment:
                    type: string
                    nullable: true
                  actor_email:
                    type: string
                    nullable: true
                  actor_name:
                    type: string
                    nullable: true
                  previous_status:
                    type: string
                    nullable: true
                    enum:
                      - ACTIVE
                      - FLAGGED
                      - BLOCKED
                      - null
                  new_status:
                    type: string
                    nullable: true
                    enum:
                      - ACTIVE
                      - FLAGGED
                      - BLOCKED
                      - null
                  previous_value:
                    type: object
                    nullable: true
                    description: PROFILE_UPDATED प्रविष्टियों के लिए पिछले फ़ील्ड मान।
                  new_value:
                    type: object
                    nullable: true
                    description: PROFILE_UPDATED प्रविष्टियों के लिए नए फ़ील्ड मान।
                  changed_fields:
                    type: array
                    items:
                      type: string
                    description: PROFILE_UPDATED प्रविष्टि द्वारा बदले गए फ़ील्ड्स के नाम।
                  metadata:
                    type: object
                    nullable: true
                  mentioned_emails:
                    type: array
                    items:
                      type: string
                  created_at:
                    type: string
                    format: date-time
              description: >-
                इस उपयोगकर्ता के लिए गतिविधि लॉग और टिप्पणियाँ (स्थिति परिवर्तन,
                प्रोफ़ाइल संपादन, मैन्युअल नोट्स)।
            updated_at:
              type: string
              format: date-time
    UserListItem:
      type: object
      description: एक सत्यापित उपयोगकर्ता।
      properties:
        didit_internal_id:
          type: string
          format: uuid
          description: इस उपयोगकर्ता के लिए Didit का स्थायी आंतरिक UUID।
        vendor_data:
          type: string
          nullable: true
          description: >-
            इस उपयोगकर्ता के लिए आपका विशिष्ट पहचानकर्ता (सत्र बनाते समय पास
            किया गया)। जब कोई वेंडर पहचानकर्ता प्रदान नहीं किया गया था, तो यह
            null हो सकता है।
        display_name:
          type: string
          nullable: true
          description: आपके द्वारा सेट किया गया कस्टम प्रदर्शन नाम
        full_name:
          type: string
          nullable: true
          description: सत्यापित दस्तावेज़ों से निकाला गया पूरा नाम
        date_of_birth:
          type: string
          format: date
          nullable: true
        effective_name:
          type: string
          nullable: true
          description: 'सर्वोत्तम उपलब्ध नाम: यदि सेट है तो display_name, अन्यथा full_name'
        status:
          type: string
          enum:
            - ACTIVE
            - FLAGGED
            - BLOCKED
          description: >-
            उपयोगकर्ता रिकॉर्ड की लाइफ़साइकिल स्थिति (सत्र स्थिति नहीं)।
            `ACTIVE` डिफ़ॉल्ट है, `FLAGGED` उपयोगकर्ता को मैन्युअल ध्यान के लिए
            चिह्नित करता है, `BLOCKED` इस `vendor_data` के लिए नए सत्रों को
            रोकता है।
        portrait_image_url:
          type: string
          nullable: true
          description: >-
            उपयोगकर्ता की पोर्ट्रेट फ़ोटो का प्री-साइन किया गया URL (कुछ घंटों
            के बाद समाप्त हो जाता है)
        session_count:
          type: integer
          description: इस उपयोगकर्ता के लिए सत्यापन सत्रों की कुल संख्या
        approved_count:
          type: integer
          description: स्वीकृत सत्रों की संख्या
        declined_count:
          type: integer
          description: अस्वीकृत सत्रों की संख्या
        in_review_count:
          type: integer
          description: समीक्षाधीन सत्रों की संख्या
        issuing_states:
          type: array
          items:
            type: string
          description: >-
            इस उपयोगकर्ता के स्वीकृत ID दस्तावेज़ों पर देखे गए जारीकर्ता देशों
            के ISO 3166-1 alpha-3 कोड, उदा. `["USA", "ESP"]`। कोई न होने पर खाली
            ऐरे।
        approved_emails:
          type: array
          items:
            type: string
          description: >-
            इस उपयोगकर्ता के स्वीकृत सत्रों से एकत्र किए गए सत्यापित ईमेल पते,
            उदा. `["john@example.com"]`।
        approved_phones:
          type: array
          items:
            type: string
          description: >-
            इस उपयोगकर्ता के स्वीकृत सत्रों से एकत्र किए गए सत्यापित फ़ोन नंबर,
            उदा. `["+14155551234"]`।
        features:
          type: object
          description: >-
            इस उपयोगकर्ता के सभी सत्रों में प्रति-सुविधा एकत्रित स्थिति। संभावित
            कुंजियाँ: `ID_VERIFICATION`, `NFC`, `LIVENESS`, `FACE_MATCH`, `POA`,
            `QUESTIONNAIRE`, `EMAIL_VERIFICATION`, `PHONE`, `AML`,
            `IP_ANALYSIS`, `AGE_ESTIMATION`, `DATABASE_VALIDATION`। संभावित मान:
            `Approved`, `Declined`, `In Review`, `Not Finished`, `Resub
            Requested`।
        features_list:
          type: array
          items:
            type: object
            properties:
              feature:
                type: string
              status:
                type: string
          description: >-
            `features` जैसा ही डेटा, `{feature, status}` ऑब्जेक्ट्स के एक
            क्रमबद्ध ऐरे के रूप में।
        last_session_at:
          type: string
          format: date-time
          nullable: true
          description: सबसे हाल के सत्र का टाइमस्टैम्प
        first_session_at:
          type: string
          format: date-time
          nullable: true
          description: पहले सत्र का टाइमस्टैम्प
        last_activity_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            इस उपयोगकर्ता की सबसे हाल की गतिविधि का टाइमस्टैम्प (सत्र, लेन-देन,
            स्थिति परिवर्तन, डेटा संपादन, आदि)।
        tags:
          type: array
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              name:
                type: string
              color:
                type: string
          description: इस उपयोगकर्ता को असाइन किए गए टैग
        created_at:
          type: string
          format: date-time
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        आपकी एप्लिकेशन की API कुंजी, Business Console में Developers -> API keys
        से। प्राथमिक कुंजी के पास पूर्ण एक्सेस होता है। एक नामित कुंजी को स्कोप
        किया जा सकता है: प्रति संसाधन none, read या write, कुछ वर्कफ़्लो या
        स्वीकृत सत्रों तक सीमित, IP पतों की सूची तक सीमित, और समाप्ति तिथि तक
        सीमित। 401 का अर्थ है कि कुंजी गलत है, निरस्त कर दी गई है या उसकी
        समय-सीमा समाप्त हो गई है; 403 का अर्थ है कि कोई कुंजी नहीं भेजी गई थी,
        कुंजी के पास इस संसाधन या कार्रवाई का एक्सेस नहीं है, या अनुरोध उसकी IP
        सूची से बाहर के पते से आया था; सत्र रूट पर 404 का अर्थ है कि सत्र कुंजी
        के वर्कफ़्लो या स्थितियों से बाहर है। मीडिया एक्सेस के बिना एक कुंजी को
        छवि, वीडियो और PDF URL null के रूप में प्राप्त होते हैं, और सत्र write
        के बिना एक कुंजी को सत्र लिंक और token null के रूप में प्राप्त होते हैं।
        देखें https://docs.didit.me/console/api-keys।

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.