> ## 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: विक्रेता उपयोगकर्ता इकाइयाँ

> Didit एप्लिकेशन की सभी विक्रेता User entities प्राप्त करें, status, search और date फ़िल्टर के साथ। प्रोग्रामैटिक उपयोगकर्ता जीवनचक्र प्रबंधन।



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



      
      

\<pre>

\`Goal: Page through Didit User entities for an application and consume them in your backend.

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

Query params (all optional):
\- status: "ACTIVE" | "FLAGGED" | "BLOCKED" (VendorUserStatusChoices, NOT the session enum).
\- search: free-text over vendor_data, display_name, full_name, approved_emails, approved_phones.
\- country: ISO 3166-1 alpha-3 (e.g. "USA", "ESP") — filters by issuing country of approved documents.
\- limit: integer, 1–200, default 50.
\- offset: integer, 0+, default 0. Prefer following the "next" URL from the previous page.

curl:
curl -X GET 'https://verification.didit.me/v3/users/?limit=50&status=ACTIVE' \
-H 'x-api-key: YOUR_API_KEY'

Response 200 (envelope):
\{
"count": <int — exact up to 100, capped above; pagination still works via "next">,
"next": <URL of next page or null>,
"previous": <URL of previous page or null>,
"results": [ UserListItem, ... ]
}

UserListItem key fields: didit_internal_id (UUID), vendor_data (string, may be null), display_name, full_name, effective_name, status, portrait_image_url, session_count, approved_count, declined_count, in_review_count, issuing_states, approved_emails, approved_phones, features (map of feature -> "Approved" | "Declined" | "In Review" | ...), features_list, last_session_at, first_session_at, tags, created_at. See /reference/data-models for the full shape.

Notes:
\- Ordered by last_session_at desc (most recently active first).
\- Deleted users are not returned.
\- vendor_data is a free-form client-supplied string, NOT a UUID. It may be null when the originating session did not provide one.

Pagination loop:
url = 'https://verification.didit.me/v3/users/?limit=200&status=ACTIVE'
while url:
r = requests.get(url, headers={'x-api-key': API_KEY})
r.raise_for_status()
page = r.json()
for user in page['results']:
    ...handle user...
url = page['next']

Failure modes (all return {"detail": "..."} unless noted):
\- 401 — missing or revoked x-api-key.
\- 403 — the API key is revoked or is not valid for this application.
\- 429 — rate-limited. Honour Retry-After header.

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

\</pre>



      
      

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

## अवलोकनयह प्रमाणित एप्लिकेशन के लिए [उपयोगकर्ता इकाइयों](https://docs.didit.me/hi/entities/users/overview.md) की पेजिनेटेड सूची लौटाता है। इसका उपयोग अपने वेयरहाउस में उपयोगकर्ताओं को सिंक करने, ऐसे उपयोगकर्ता खोजने जिन्हें विश्लेषक की जाँच चाहिए, या डिस्प्ले नाम से खोजने के लिए करें।## कब उपयोग करें- आपकी उपयोगकर्ता तालिका को किसी बाहरी BI या वेयरहाउस में **नियमित सिंक**।
- **विश्लेषक कतारें**: समीक्षा इनबॉक्स चलाने के लिए `status=FLAGGED` या पुराने `last_activity_at` से फ़िल्टर करें।
- `display_name`, `full_name`, या `vendor_data` से उपयोगकर्ता **खोजें**।## फ़िल्टर और पेजिनेशन| क्वेरी पैरामीटर | विवरण |
| - | - |
| `status` | `ACTIVE`, `FLAGGED`, या `BLOCKED` से फ़िल्टर करें। |
| `search` | `vendor_data`, `display_name`, `full_name`, ईमेल और फ़ोन पर सबस्ट्रिंग मिलान। |
| `country_code` | `issuing_states` (ISO 3166-1 alpha-3) से फ़िल्टर करें। |
| `created_after`, `created_before` | निर्माण तिथि की अवधि (ISO 8601)। |
| `last_activity_after`, `last_activity_before` | गतिविधि की अवधि। |
| `page_size` | 1–200। डिफ़ॉल्ट: 50। |
| `cursor` | पिछले रिस्पॉन्स में लौटाया गया पेजिनेशन कर्सर। |## नोट्स- हर रिस्पॉन्स आइटम में `didit_internal_id` शामिल होता है। जब मूल सत्र या लेन-देन ने कोई वेंडर डेटा नहीं दिया था, तो `vendor_data` `null` हो सकता है।
- यह एंडपॉइंट कर्सर से पेजिनेट करता है: हर कॉल के बीच `next` कर्सर सहेजें, और जब `next` खाली हो तो रुक जाएँ।
- उपयोगकर्ता की सभी फ़ील्ड्स के लिए [उपयोगकर्ता डेटा मॉडल](https://docs.didit.me/hi/entities/users/data-model.md) देखें।## अनुमतियाँएप्लिकेशन की कोई भी सक्रिय API कुंजी इस एंडपॉइंट को कॉल कर सकती है। Didit API कुंजियाँ **एप्लिकेशन-स्कोप्ड हैं, भूमिका-स्कोप्ड नहीं**: Console की [भूमिकाएँ और अनुमतियाँ](https://docs.didit.me/hi/console/roles-permissions.md) (`list:users` और बाकी) तय करती हैं कि कोई *व्यक्ति* Console में क्या कर सकता है, और Management API ट्रैफ़िक के लिए इनका मूल्यांकन नहीं होता। इस एंडपॉइंट को कौन कॉल कर सकता है, यह नियंत्रित करने के लिए तय करें कि एप्लिकेशन की API कुंजी कौन पढ़ सकता है।## संबंधित- [उपयोगकर्ता अवलोकन](https://docs.didit.me/hi/entities/users/overview.md)
- [उपयोगकर्ता प्राप्त करें](https://docs.didit.me/hi/management-api/users/get.md)
- [उपयोगकर्ता संचालन](https://docs.didit.me/hi/entities/users/operations.md)


## OpenAPI

````yaml hi/openapi-25.json GET /v3/users/
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/:
    get:
      tags:
        - Users
      summary: उपयोगकर्ताओं को सूचीबद्ध करें
      description: >-
        समान `vendor_data` (फ़्री-फ़ॉर्म स्ट्रिंग, UUID नहीं) साझा करने वाले KYC
        सत्रों से Didit द्वारा एकत्रित [उपयोगकर्ताओं](/entities/users) के
        साथ-साथ API के माध्यम से बनाए गए उपयोगकर्ताओं को सूचीबद्ध करें।
        पेजिनेटेड, `last_session_at` desc द्वारा क्रमित। यह endpoint फ़िल्टरिंग
        या खोज पैरामीटर का समर्थन नहीं करता है — पेज प्राप्त करें और
        क्लाइंट-साइड फ़िल्टर करें।
      operationId: list_users
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          description: >-
            पेज का आकार। छोड़े जाने पर डिफ़ॉल्ट 50 होता है। कोई अनिवार्य अधिकतम
            सीमा नहीं है, लेकिन लेटेंसी के लिए पेजों को छोटा रखें।
        - name: offset
          in: query
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          description: >-
            लौटाए जाने वाले पहले रिकॉर्ड का शून्य-आधारित ऑफ़सेट। इसे मैन्युअल
            रूप से गणना करने की तुलना में पिछले पृष्ठ से `next` URL का अनुसरण
            करना बेहतर है।
      responses:
        '200':
          description: >-
            सत्यापन स्थिति, सत्र गणना और सुविधा ब्रेकडाउन के साथ उपयोगकर्ताओं की
            पेजिनेटेड सूची।
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: >-
                      मिलान वाली पंक्तियों की संख्या — 100 तक सटीक, परफ़ॉर्मेंस
                      के लिए उससे अधिक होने पर 100 पर सीमित। अंतिम पेज का पता
                      लगाने के लिए इसका उपयोग न करें; इसके बजाय `next` के `null`
                      होने पर निर्भर रहें।
                  next:
                    type: string
                    nullable: true
                    description: अगले पेज का पूर्ण URL, या अंतिम पेज पर `null`।
                  previous:
                    type: string
                    nullable: true
                    description: पिछले पेज का पूर्ण URL, या पहले पेज पर `null`।
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/UserListItem'
              examples:
                Example:
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - 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
                        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
                            name: VIP
                            color: '#2567FF'
                        created_at: '2025-06-01T08:00:00Z'
                      - didit_internal_id: 6ed99d53-e8f5-4cf8-9ac1-4a506cb40f6b
                        vendor_data: null
                        display_name: Jane S.
                        full_name: Jane Elizabeth Smith
                        date_of_birth: '1985-11-22'
                        effective_name: Jane S.
                        status: FLAGGED
                        portrait_image_url: null
                        session_count: 1
                        approved_count: 0
                        declined_count: 0
                        in_review_count: 1
                        issuing_states: []
                        approved_emails: []
                        approved_phones: []
                        features:
                          ID_VERIFICATION: In Review
                        features_list:
                          - feature: ID_VERIFICATION
                            status: In Review
                        last_session_at: '2025-06-20T14:00:00Z'
                        last_activity_at: '2025-06-20T14:05:00Z'
                        first_session_at: '2025-06-20T14:00:00Z'
                        tags: []
                        created_at: '2025-06-20T14:00: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: >-
            कुंजी इस एप्लिकेशन के लिए उपयोगकर्ताओं को सूचीबद्ध नहीं कर सकती।
            कुंजी अनुपलब्ध होने पर `403` रिटर्न होता है; गलत, निरस्त या समय-सीमा
            समाप्त कुंजी पर `401` रिटर्न होता है।
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '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/?limit=50' \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.users.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            for await (const item of didit.users.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Users.ListAutoPaging(ctx, didit.UsersListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

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

            for (var item : client.users().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->users->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.users.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            await foreach (var item in await client.Users.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    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.