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

# واجهة Lists API: قوائم الحظر وقوائم السماح

> GET /v3/lists/: استرداد جميع قوائم الحظر والسماح والقوائم المخصصة في Didit. التصفية حسب نوع القائمة أو نوع الإدخال. دفع لكل استدعاء بدون عقود.



موجّه واجهة API لعرض القوائم
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\`Retrieve every blocklist, allowlist, and custom list in my Didit application through the Management API.

Endpoint:
GET https://verification.didit.me/v3/lists/

Authentication:
Use the x-api-key header with my Didit API key. A scoped API key needs workflows: read.

Goal:
\- Get a paginated list of all lists for my application so I can find a specific list's uuid, filter by type, or render a picker.

Behavior:
\- Returns the application's active lists, newest first by default. Deleted lists never appear.
\- Includes the system lists Didit provisions (is_system: true): one blocklist per entry type, the "High Risk Countries" custom list, and any system allowlist.
\- Paginated with limit (default 50) and offset. Follow next until it is null.

Query parameters (all optional):
\- list_type: "blocklist" | "allowlist" | "custom".
\- entry_type: face, document, phone, email, ip_address, device_fingerprint, wallet_address, bank_account, country, user, business, key.
\- ordering: created_at or -created_at (default).
\- limit: page size (default 50, at most 1000000).
\- offset: pagination offset (default 0).

Example call:
curl -X GET "https://verification.didit.me/v3/lists/?list_type=blocklist" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response:
\- count / next / previous: standard pagination envelope.
\- results[].uuid: list id; use it as list_uuid in the list and entry calls.
\- results[].is_system: true for the lists Didit provisions. System lists cannot be renamed, edited or deleted, but you can add and remove their entries.
\- results[].entry_count, last_entry_added_at: computed over the list's current entries; useful for dashboards.

Failure modes:
\- 400: an unknown list_type or entry_type value, or limit/offset above 1000000.
\- 401: the API key has expired.
\- 403: missing x-api-key (a wrong, revoked or expired key gets 401) ({ "detail": "You do not have permission to perform this action." }), or a scoped key without workflows: read.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects: none. This is a pure read.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

الصق في

استرجع قائمة مقسّمة إلى صفحات تضم كل قائمة نشطة في تطبيقك: القوائم النظامية التي يوفّرها Didit (قائمة حظر واحدة لكل نوع إدخال، وقائمة **High Risk Countries**، وأي قائمة سماح نظامية)، وقوائم السماح والقوائم المخصصة التي أنشأتها. صفِّ النتائج حسب `list_type` أو `entry_type`، واقرأ قيم القائمة من خلال [إدخالات القائمة](https://docs.didit.me/ar/management-api/lists/list-entries.md).راجع [القوائم](https://docs.didit.me/ar/management-api/lists/overview.md) لمعرفة وظيفة كل نوع من القوائم أثناء التحقق وفحص المعاملات.


## OpenAPI

````yaml ar/openapi-25.json GET /v3/lists/
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/lists/:
    get:
      tags:
        - Lists
      summary: عرض القوائم
      description: >-
        يعرض قوائم التطبيق، بدءاً من الأحدث: قوائم النظام التي يوفرها Didit
        (قائمة حظر واحدة لكل نوع مدخلة، والقائمة المخصصة **High Risk
        Countries**، وأي قائمة سماح تابعة للنظام) وقوائم السماح والقوائم المخصصة
        التي أنشأتها. يمكنك التصفية باستخدام `list_type` و`entry_type`؛ لا تظهر
        القوائم المحذوفة مطلقاً. النتائج مقسمة إلى صفحات باستخدام `limit`
        و`offset`. يتطلب مفتاح API محدد النطاق صلاحية `workflows: read`. راجع
        [القوائم](https://docs.didit.me/ar/management-api/lists/overview) لمعرفة
        وظيفة كل نوع قائمة.
      operationId: list_lists
      parameters:
        - name: list_type
          in: query
          required: false
          description: القوائم من هذا النوع فقط.
          schema:
            type: string
            enum:
              - blocklist
              - allowlist
              - custom
        - name: entry_type
          in: query
          required: false
          description: القوائم من نوع الإدخال هذا فقط.
          schema:
            type: string
            enum:
              - face
              - document
              - phone
              - email
              - ip_address
              - device_fingerprint
              - wallet_address
              - bank_account
              - country
              - user
              - business
              - key
        - name: ordering
          in: query
          required: false
          description: >-
            ترتيب الفرز: `-created_at` (الأحدث أولاً، وهو الافتراضي) أو
            `created_at` (الأقدم أولاً).
          schema:
            type: string
            enum:
              - '-created_at'
              - created_at
            default: '-created_at'
        - name: limit
          in: query
          required: false
          description: >-
            حجم الصفحة. القيمة الافتراضية 50. القيمة الأعلى من 1000000 تُرجع
            `400`؛ والقيمة الصفرية أو السالبة أو غير الرقمية ترجع إلى 50.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
        - name: offset
          in: query
          required: false
          description: >-
            فهرس يستند إلى الصفر للعنصر الأول المراد إرجاعه. يُفضل اتباع `next`.
            القيمة التي تزيد عن 1000000 تُرجع `400`؛ والقيمة السالبة أو غير
            الرقمية ترجع تلقائياً إلى 0.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
      responses:
        '200':
          description: صفحة من القوائم.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    minimum: 0
                    description: العدد الإجمالي للقوائم المطابقة للمرشحات.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: رابط URL مطلق للصفحة التالية، أو `null` في الصفحة الأخيرة.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: رابط URL مطلق للصفحة السابقة، أو `null` في الصفحة الأولى.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/ComplianceList'
              examples:
                Lists:
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - uuid: 22222222-3333-4444-5555-666666666666
                        name: Trusted office IPs
                        description: Office egress ranges
                        list_type: allowlist
                        entry_type: ip_address
                        is_system: false
                        entry_count: 3
                        last_entry_added_at: '2026-10-02T08:15:27.501334Z'
                        created_at: '2026-09-30T13:20:45.889120Z'
                        updated_at: '2026-09-30T13:20:45.889120Z'
                      - uuid: 11111111-2222-3333-4444-555555555555
                        name: Face Blocklist
                        description: >-
                          Blocked biometric faces. When a face matching an entry
                          in this list is detected during liveness verification,
                          the session will be automatically declined.
                        list_type: blocklist
                        entry_type: face
                        is_system: true
                        entry_count: 12
                        last_entry_added_at: '2026-10-09T16:42:03.118204Z'
                        created_at: '2026-01-14T10:02:11.402917Z'
                        updated_at: '2026-01-14T10:02:11.402917Z'
        '400':
          description: أحد معاملات الاستعلام غير صالح.
          content:
            application/json:
              examples:
                Unknown list type:
                  value:
                    list_type:
                      - '"denylist" is not a valid choice.'
                Unsupported ordering:
                  value:
                    ordering:
                      - '"name" is not a valid choice.'
                Limit too large:
                  value:
                    - limit must not exceed 1000000.
        '401':
          description: >-
            انتهت صلاحية مفتاح API محدد النطاق. تُرجع حالات فشل المصادقة الأخرى
            الرمز `403`.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            رأس `x-api-key` مفقود (المفتاح الخاطئ أو الملغى أو منتهي الصلاحية
            يحصل على `401`)، أو أن مفتاح API محدد النطاق يفتقر إلى `workflows:
            read` أو تم استخدامه من عنوان IP خارج قائمة السماح الخاصة به.
          content:
            application/json:
              examples:
                Missing or invalid API key:
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without workflows access:
                  value:
                    detail: This API key has no read access to workflows.
        '429':
          description: >-
            تم تجاوز حد القراءة المشترك البالغ 600 طلب في الدقيقة لكل مفتاح API.
            التزم بالمدة المحددة في `Retry-After` قبل إعادة المحاولة.
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: >-
                      GET request rate limit exceeded. You can make up to 600
                      requests per minute.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/lists/?list_type=blocklist' \
              -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.lists.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.lists.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Lists.ListAutoPaging(ctx, didit.ListsListParams{})\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.lists().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->lists->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.lists.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.Lists.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    ComplianceList:
      type: object
      description: قائمة حظر، أو قائمة سماح، أو قائمة مخصصة لتطبيق واحد.
      required:
        - uuid
        - name
        - description
        - list_type
        - entry_type
        - is_system
        - entry_count
        - last_entry_added_at
        - created_at
        - updated_at
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            معرّف القائمة. استخدمه كـ `list_uuid` في endpoints الخاصة بالقوائم
            والمدخلات، وكقيمة لشرط قاعدة سير عمل أو قاعدة معاملة مع `value_type:
            "list"`.
        name:
          type: string
          maxLength: 255
          description: اسم القائمة، وهو فريد بين قوائم التطبيق.
        description:
          type: string
          description: وصف بنص حر. سلسلة فارغة عند عدم التعيين.
        list_type:
          type: string
          enum:
            - blocklist
            - allowlist
            - custom
          description: >-
            `blocklist`: يؤدي التطابق إلى رفض الجلسة أو المعاملة (قوائم النظام
            فقط، واحدة لكل نوع إدخال). `allowlist`: العناصر المتطابقة تكون
            موثوقة، على سبيل المثال تتخطى قائمة السماح للوجوه إجراء الوجه
            المكرر؛ ولا تتجاوز أبدًا تطابق قائمة الحظر. `custom`: تُستخدم في
            شروط قواعد سير العمل والمعاملات (`value_type: "list"`).
        entry_type:
          type: string
          enum:
            - face
            - document
            - phone
            - email
            - ip_address
            - device_fingerprint
            - wallet_address
            - bank_account
            - country
            - user
            - business
            - key
          description: >-
            ما تحتويه القائمة: `face`، أو `document` (رقم المستند)، أو `phone`،
            أو `email`، أو `ip_address` (عنوان IP أو نطاق CIDR)، أو
            `device_fingerprint`، أو `wallet_address`، أو `bank_account`، أو
            `country` (وفق معيار ISO 3166-1 alpha-3)، أو `user` أو `business`
            (الخاص بـ `vendor_data` لديك)، أو `key` (أي سلسلة نصية). وتحدد هذه
            القيمة كيفية التحقق من صحة قيم الإدخال ومطابقتها.
        is_system:
          type: boolean
          description: >-
            تكون القيمة `true` للقوائم التي توفرها Didit: قائمة حظر واحدة لكل
            نوع إدخال (`face`، و`document`، و`phone`، و`email`، و`ip_address`،
            و`device_fingerprint`، و`wallet_address`، و`bank_account`، و`user`،
            و`business`)، والقائمة المخصصة **High Risk Countries**، وقوائم
            السماح الخاصة بالنظام. لا يمكن إعادة تسمية قوائم النظام أو تعديلها
            أو حذفها؛ ولكن يمكنك إضافة مدخلاتها وحذفها.
        entry_count:
          type: integer
          minimum: 0
          description: عدد الإدخالات الموجودة حالياً في القائمة.
        last_entry_added_at:
          type: string
          format: date-time
          nullable: true
          description: متى أُضيف أحدث مدخل حالي. وتكون `null` للقائمة الفارغة.
        created_at:
          type: string
          format: date-time
          description: متى تم إنشاء القائمة.
        updated_at:
          type: string
          format: date-time
          description: متى تم تحديث القائمة آخر مرة.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console.
        يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا
        شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات
        المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن
        المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم
        إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو
        الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير
        404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة
        بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL
        للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك
        إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع
        https://docs.didit.me/console/api-keys.

````

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