> ## 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: كيانات KYB للموردين

> استرجع جميع كيانات التحقق من الشركات (KYB) في Didit لتطبيقك، مع تصفية حسب الحالة والدولة والبحث والتاريخ. دورة حياة KYB برمجياً.



موجّه عرض الشركات
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\`Goal: Page through Didit Business (KYB) entities for an application and consume them in your backend.

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

Query params (all optional):
\- status: "ACTIVE" | "FLAGGED" | "BLOCKED" (VendorBusinessStatusChoices, NOT the session enum).
\- search: free-text over vendor_data, display_name, legal_name, registration_number.
\- country: country of incorporation, ISO 3166-1 alpha-2 (e.g. "GB", "US").
\- 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/businesses/?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 or null>,
"previous": <URL or null>,
"results": [ BusinessListItem, ... ]
}

BusinessListItem key fields: didit_internal_id (UUID), vendor_data (string, may be null), display_name, legal_name, registration_number, country_code, effective_name, status, session_count, approved_count, declined_count, in_review_count, features (map: KYB_REGISTRY, KYB_AML, KYB_DOCUMENTS, ... -> latest status), features_list, last_session_at, first_session_at, last_activity_at, tags, created_at. See /reference/data-models for the full shape.

Notes:
\- Ordered by last_session_at desc.
\- Deleted businesses are not returned.
\- vendor_data is a free-form client-supplied string, NOT a UUID; may be null when the originating session didn't provide one.

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

Failure modes (envelope {"detail": "..."}):
\- 401 — missing/invalid x-api-key.
\- 403 — key lacks list:businesses.
\- 429 — rate-limited.

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

\</pre>



      
      

الصق في

## نظرة عامةيُرجع قائمة مقسَّمة على صفحات من [كيانات الشركات](https://docs.didit.me/ar/entities/businesses/overview.md) للتطبيق المصادَق عليه.## متى تستخدمه- **مزامنة** جدول الشركات مع أداة ذكاء أعمال خارجية أو مستودع بيانات.
- **طوابير المحللين**: صفِّ النتائج بالمعامل `status=FLAGGED` لتغذية صندوق وارد المراجعة.
- **بحث** بواسطة `display_name` أو `legal_name` أو `registration_number` أو `vendor_data`.## الفلاتر والترقيم الصفحي| معامل الاستعلام | الوصف |
| - | - |
| `status` | `ACTIVE` أو `FLAGGED` أو `BLOCKED`. |
| `search` | مطابقة جزئية للنص في الاسم المعروض والاسم القانوني والتسجيل وvendor\_data. |
| `country_code` | رمز الدولة وفق ISO 3166-1 alpha-3 لدولة التأسيس. |
| `created_after`, `created_before` | نافذة تاريخ الإنشاء. |
| `last_activity_after`, `last_activity_before` | نافذة النشاط. |
| `page_size` | من 1 إلى 200. القيمة الافتراضية 50. |
| `cursor` | مؤشر الترقيم الصفحي. |## ملاحظات- قد تكون قيمة `vendor_data` هي `null` إذا لم تُرسل الجلسة أو المعاملة الأصلية قيمة لها.
- الترقيم الصفحي بالمؤشر: احفظ المؤشر `next` بين الاستدعاءات.
- راجع [نموذج بيانات الشركات](https://docs.didit.me/ar/entities/businesses/data-model.md) للاطلاع على كل حقل.## الأذوناتيجب أن يمنح الدور الصلاحية `list:businesses`.## ذات صلة- [نظرة عامة على الشركات](https://docs.didit.me/ar/entities/businesses/overview.md)
- [الحصول على شركة](https://docs.didit.me/ar/management-api/businesses/get.md)
- [عمليات الشركات](https://docs.didit.me/ar/entities/businesses/operations.md)


## OpenAPI

````yaml ar/openapi-25.json GET /v3/businesses/
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/businesses/:
    get:
      tags:
        - Businesses
      summary: سرد الشركات
      description: >-
        سرد [الشركات](/entities/businesses) التي يجمعها Didit من جلسات KYB التي
        تشترك في نفس `vendor_data` (سلسلة نصية حرة، وليست معرّف UUID)، بالإضافة
        إلى الشركات التي تم إنشاؤها عبر API. القائمة مقسمة لصفحات، ومرتبة حسب
        `last_session_at` تنازلياً. لا يدعم هذا الـ endpoint معاملات التصفية أو
        البحث — يمكنك جلب الصفحات وإجراء التصفية من جانب العميل.
      operationId: list_businesses
      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` من الصفحة السابقة بدلاً من حساب ذلك يدوياً.
      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/BusinessListItem'
              examples:
                Example:
                  value:
                    count: 1
                    next: null
                    previous: null
                    results:
                      - didit_internal_id: a1b2c3d4-e5f6-4890-abcd-ef1234567890
                        vendor_data: company-123
                        display_name: null
                        legal_name: Acme Trading Ltd
                        registration_number: '12345678'
                        country_code: GB
                        effective_name: Acme Trading Ltd
                        status: ACTIVE
                        session_count: 2
                        approved_count: 1
                        declined_count: 0
                        in_review_count: 1
                        features:
                          KYB: Approved
                        features_list:
                          - feature: KYB
                            status: Approved
                        last_session_at: '2026-03-15T10:30:00Z'
                        last_activity_at: '2026-03-15T10:30:00Z'
                        first_session_at: '2026-01-10T08:00:00Z'
                        tags:
                          - uuid: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
                            name: VIP
                            color: '#2567FF'
                        created_at: '2026-01-10T08:00:00Z'
        '403':
          description: >-
            مفتاح API مفقود أو غير صالح أو ملغى، أو لا يمكن للمفتاح سرد الشركات
            لهذا التطبيق. يعيد المفتاح المفقود `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/businesses/?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.businesses.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.businesses.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Businesses.ListAutoPaging(ctx, didit.BusinessesListParams{})\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.businesses().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->businesses->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.businesses.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.Businesses.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    BusinessListItem:
      type: object
      description: شركة تم التحقق منها.
      properties:
        didit_internal_id:
          type: string
          format: uuid
          description: معرّف UUID الداخلي الثابت من Didit لهذه الشركة.
        vendor_data:
          type: string
          nullable: true
          description: >-
            معرّفك الفريد لهذه الشركة (يتم تمريره عند إنشاء الجلسات). يمكن أن
            يكون هذا null في حال عدم تقديم معرّف بائع.
        display_name:
          type: string
          nullable: true
          description: اسم عرض مخصص تم تعيينه بواسطتك
        legal_name:
          type: string
          nullable: true
          description: الاسم القانوني الرسمي من السجل أو الإدخال اليدوي
        registration_number:
          type: string
          nullable: true
          description: رقم تسجيل أو تأسيس الشركة
        country_code:
          type: string
          nullable: true
          description: دولة التأسيس (ISO 3166-1 alpha-2، مثل `GB` أو `US`).
        effective_name:
          type: string
          nullable: true
          description: 'أفضل اسم متاح: display_name إذا كان محدداً، وإلا فـ legal_name'
        status:
          type: string
          enum:
            - ACTIVE
            - FLAGGED
            - BLOCKED
          description: >-
            حالة دورة حياة سجل الشركة (ليست حالة جلسة). القيمة الافتراضية هي
            `ACTIVE`، و`FLAGGED` تميز السجل للمراجعة اليدوية، و`BLOCKED` تمنع
            إنشاء جلسات جديدة لقيمة `vendor_data` هذه.
        session_count:
          type: integer
          description: العدد الإجمالي لجلسات التحقق لهذه الشركة
        approved_count:
          type: integer
          description: عدد الجلسات المقبولة
        declined_count:
          type: integer
          description: عدد الجلسات المرفوضة
        in_review_count:
          type: integer
          description: عدد الجلسات قيد المراجعة
        features:
          type: object
          description: >-
            الحالة المجمعة لكل ميزة عبر جميع جلسات KYB الخاصة بهذه الشركة.
            المفتاح الوحيد حالياً هو `KYB` (حالة فحص الشركة في السجل). القيم
            المحتملة: `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 الخاص بتطبيقك، من 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.