> ## 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 المكتشفة لمؤسستك، مصفاة حسب الحالة والإشارة والنمط ومستوى المخاطر والحجم والتاريخ، مع وضع المشاركة وعدد القوائم.



مطالبة API لسرد الشبكات
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\`List fraud networks for my Didit application through the Management API.

Endpoint:
GET https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/networks/

Authentication:
Use the x-api-key header with my Didit API key.
Networks endpoints need a full-access API key: a key with restricted access gets 403.

Goal:
\- Retrieve the same clustered fraud networks the Console's Networks list shows: applicants, businesses, or transaction parties linked by shared device, IP, face, document number, phone, email, or address signals, within my own organization only.

Useful query params:
\- status=active,in_review,resolved,dismissed (comma-separated). Omit to exclude dismissed networks.
\- scope=identity|transactions: transactions keeps networks whose members are all transaction parties, identity keeps every other network. Omit for both. Any other value is a 400.
\- signal_type=ip_address,device,face,document_number,phone,email,address (comma-separated)
\- pattern_type=exact_same_device,similar_device,same_ip_address,same_address,similar_selfie_backgrounds,similar_poa_documents,same_document_number,same_phone_number,same_email (comma-separated)
\- risk_band=low,medium,high (comma-separated)
\- min_size, max_size - member count bounds
\- assignee=unassigned,<member email>,me (comma-separated, any value matches). me needs a console member token; an API key gets a 400.
\- priority=low,medium,high,none (comma-separated; none is a network without a priority). Any other value is a 400.
\- risk_min - minimum risk score, a whole number from 0 to 100. A value that is not a whole number is a 400.
\- has_case=true|false - networks your application opened a case for, or the others
\- date_from, date_to - ISO 8601 date/datetime bounds on activity
\- q - free-text search across network name, member names, and the network id (e.g. N-0001)
\- ordering=risk_score|-risk_score|last_activity_at|-last_activity_at|first_activity_at|-first_activity_at|network_number|-network_number (default -risk_score,-last_activity_at)
\- limit (1-500, default 100), offset
\- summary=true|false: false returns the page and its count only, without kpis and counts. Defaults to true. Any other value is a 400.

Example call:
curl -X GET "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/networks/?status=active,in_review&ordering=-risk_score" \
-H "x-api-key: YOUR_API_KEY"

Response shape:
\{"count": int, "next": int|null, "previous": int|null, "results": [NetworkListItem, ...], "kpis": {...}, "counts": {...}, "sharing_mode": "off"|"private"|"global", "cross_org_available": bool, "cross_org_unavailable_reason": "plan"|"sharing_mode"|null}
next/previous are offsets, not URLs - null next means the last page.
Each NetworkListItem has uuid, network_id (e.g. "N-0001"), name, status (active|in_review|resolved|dismissed), risk {score, band, bar}, pattern_types, signal_types, member_counts, member_status, signal_coverage, first_activity_at, last_activity_at.
kpis carries active, in_review, applicants_involved, detected_this_period, false_positive_rate, each as {value, delta}, computed over the filtered result set.
counts carries scopes {all, identity, transactions}, views {all, active, in_review, resolved, dismissed, mine, high_risk} and facets {total, last_activity_days {"7", "30", "90"}, risk_min {"50", "80"}, signal_types {one count per signal type}, priority {low, medium, high, none}, assignee {me, unassigned, users: [{uuid, full_name, email, count}]}, has_case, min_size {"10"}}.
scopes count every network visible to this application; views count the visible networks inside the selected scope; facets count the networks in the selected scope and status view. The other filters do not change counts. mine and assignee.me are always 0 for an API key.
kpis and counts are omitted when summary=false.

Cross-organization fields (on every response, whatever summary says):
\- sharing_mode: the organization's cross-organization sharing mode. Only global compares networks across organizations; private and off keep them to the organization's own history.
\- cross_org_available: whether cross-organization signals apply to this organization. They need the Enterprise plan and the global sharing mode.
\- cross_org_unavailable_reason: plan (the organization's plan does not include the cross-organization fraud network; it needs the Enterprise plan, whatever the sharing mode), sharing_mode (the plan includes it, but sharing is private or off), or null when cross_org_available is true. plan is checked first.

Notes:
\- Sandbox applications never return networks - clustering excludes sandbox data entirely.
\- Networks are clustered organization-wide, but this endpoint only returns networks with at least one member visible to this application.

Failure modes:
\- 401: missing or invalid x-api-key. {"detail": "Authentication credentials were not provided or are invalid."}
\- 403: the API key belongs to another application, or it has restricted access (Networks needs a full-access key). A console member token needs list:networks. {"detail": "You do not have permission to perform this action."} or {"detail": "This API key has no access to this endpoint."}
\- 403 with code: Networks is not enabled for the organization. {"detail": "Networks is disabled for this organization. Contact Didit support if you believe this is an error.", "code": "networks_not_entitled"}
\- 400: an invalid filter, ordering, limit or offset, or summary that is not true or false. {"summary": ["Must be \\"true\\" or \\"false\\"."]}

Side effects: none, pure read.

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

\</pre>



      
      

الصق في

اعرض شبكات الاحتيال التي رُصدت لمؤسستك.
يكون الترتيب افتراضياً حسب درجة المخاطر، من الأعلى إلى الأدنى، ثم حسب أحدث نشاط.
تُتاح كل عوامل التصفية الموجودة في قائمة Networks في Console كمعاملات استعلام، بما فيها البحث النصي الحر عبر `q` ونفس شرائح الحالة والإشارة والنمط ونطاق المخاطر.
تطابق المعاملات `assignee` و`priority` و`risk_min` و`has_case` خيارات المكلَّف والأولوية والحد الأدنى للمخاطر والحالة المرتبطة التي يحسبها `counts.facets`.
يتطلب `assignee=me` رمز وصول لعضو Console، ومع مفتاح API يُرجع `400`.> [!NOTE]
>
> لا تحتوي تطبيقات البيئة التجريبية (sandbox) على شبكات أبداً. يعمل التجميع على بيانات الإنتاج فقط.## وضع المشاركة والإشارات عبر المؤسساتتتضمّن كل استجابة القيم `sharing_mode` و`cross_org_available` و`cross_org_unavailable_reason` الخاصة بمؤسستك.| الحقل | المعنى |
| - | - |
| `sharing_mode` | وضع مشاركة المؤسسة عبر المؤسسات. لا يقارن الشبكات بين المؤسسات سوى وضع `global`؛ أما الوضعان `private` و`off` فيُبقيانها ضمن سجل المؤسسة الخاص. |
| `cross_org_available` | ما إذا كانت الإشارات عبر المؤسسات تنطبق على مؤسستك. تتطلب خطة Enterprise ووضع المشاركة `global` معاً. |
| `cross_org_unavailable_reason` | القيمة `plan` عندما لا تتضمن خطتك شبكة الاحتيال عبر المؤسسات (وتتطلب خطة Enterprise)، بغض النظر عن وضع المشاركة. القيمة `sharing_mode` عندما تتضمنها الخطة لكن وضع المشاركة لديك `private` أو `off`. القيمة `null` عندما تكون `cross_org_available` مساوية لـ`true`. |يُفحص مستوى الخطة أولاً: إذا كانت الخطة أدنى من Enterprise، فالسبب هو `plan` حتى لو كان وضع المشاركة لديك `global`.## العدادات ومعامل summaryتجمع `kpis` الشبكات التي تطابق عوامل التصفية لديك، وتجمع `counts` كل شبكة يمكن لتطبيقك رؤيتها، ولذلك تكلّف kpis و counts أكثر من الصفحة نفسها.
مرّر `summary=false` عندما تحتاج إلى الصفحة و`count` فقط: عندها تحذف الاستجابة `kpis` و`counts`.
يقبل `summary` القيمتين `true` أو `false` فقط، وأي قيمة أخرى تُرجع `400`.تحمل `counts` الأرقام التي تقوم عليها طرق عرض القائمة وخيارات التصفية، ويُحسب كل شبكة مرة واحدة فقط:| المفتاح | ما يحتسبه |
| - | - |
| `scopes` | كل شبكة مرئية (`all`)، مقسّمة إلى `transactions` (كل أعضائها أطراف في معاملات) و`identity` (كل شبكة أخرى). |
| `views` | الشبكات المرئية ضمن `scope` المحدد (`all`)، حسب الحالة (`active` و`in_review` و`resolved` و`dismissed`)، والمُكلّفة لعضو Console الذي يُجري الاستدعاء (`mine`)، و`high_risk` (درجة مخاطر 80 أو أكثر وغير مستبعدة). |
| `facets` | الشبكات ضمن `scope` وطريقة عرض `status` المحددة (`total`)، حسب أحدث نشاط (`last_activity_days`: 7 و30 و90)، والحد الأدنى للمخاطر (`risk_min`: 50 و80)، ونوع الإشارة، والأولوية (بما فيها `none`)، والمكلَّف (`me` و`unassigned`، وإدخال واحد لكل مكلَّف في `users`)، والشبكات التي فتح لها تطبيقك حالة (`has_case`)، والشبكات التي يضم كل منها 10 أعضاء على الأقل (`min_size`). |لا تغيّر عوامل التصفية الأخرى غير `scope` و`status` القيم في `counts`.
القيمتان `views.mine` و`facets.assignee.me` تساويان دائماً `0` مع مفتاح API، لأنه لا يوجد عضو Console يُجري الاستدعاء.## الوصولتتطلب endpoints الخاصة بـ Networks [مفتاح API](https://docs.didit.me/ar/console/api-keys.md) بصلاحية كاملة.
المفتاح ذو الوصول المقيّد يُرجع `403`.
يتطلب رمز وصول لعضو Console الإذن `list:networks`.
عندما لا تكون Networks مفعّلة لمؤسستك، تُرجع كل endpoint في Networks الاستجابة `403` مع `"code": "networks_not_entitled"`.## ذات صلة- [الحصول على الشبكة](https://docs.didit.me/ar/management-api/networks/get.md)
- [مخطط الشبكة](https://docs.didit.me/ar/management-api/networks/graph.md)
- [Networks (Console)](https://docs.didit.me/ar/console/networks.md)


## OpenAPI

````yaml ar/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/networks/
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/organization/{organization_id}/application/{application_id}/networks/:
    get:
      tags:
        - Networks
      summary: عرض الشبكات
      description: >-
        عرض شبكات الاحتيال المكتشفة داخل مؤسسة هذا التطبيق، مرتبة حسب أعلى درجات
        المخاطر أولاً بشكل افتراضي. يتم استبعاد الشبكات المتجاهلة افتراضياً؛
        مرّر الحالة لتضمينها. لا تحتوي تطبيقات البيئة التجريبية على شبكات أبداً:
        فالتجميع العنقودي يستبعد بيانات البيئة التجريبية بالكامل. تحمل كل
        استجابة `sharing_mode` الخاص بالمؤسسة وما إذا كانت الإشارات المشتركة بين
        المؤسسات تنطبق عليها (`cross_org_available` و
        `cross_org_unavailable_reason`). تقوم `kpis` بتجميع الشبكات المطابقة
        لعوامل التصفية لديك وتقوم `counts` بتجميع كل شبكة يمكن للتطبيق رؤيتها؛
        مرّر `summary=false` لتخطي كليهما عندما تحتاج إلى الصفحة فقط. يتطلب
        مفتاح API ذا وصول كامل، أو الإذن `list:networks` لعضو لوحة التحكم.
      operationId: list_networks
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID الخاص بالمؤسسة.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: معرّف UUID للتطبيق.
        - name: status
          in: query
          schema:
            type: string
          description: >-
            الحالات مفصولة بفواصل لتضمينها: active,in_review,resolved,dismissed.
            احذف المعامل لاستبعاد الحالات ذات الحالة dismissed.
        - name: scope
          in: query
          schema:
            type: string
            enum:
              - identity
              - transactions
          description: >-
            يحتفظ `transactions` بالشبكات التي يكون جميع أعضائها أطرافاً في
            المعاملة؛ ويحتفظ `identity` بجميع الشبكات الأخرى. لا ترسله لعرض
            كليهما. كما أنه يضيّق نطاق `counts.views` و`counts.facets`. أي قيمة
            أخرى تُرجع 400.
        - name: signal_type
          in: query
          schema:
            type: string
          description: >-
            أنواع الإشارات مفصولة بفواصل:
            ip_address,device,face,document_number,phone,email,address.
        - name: pattern_type
          in: query
          schema:
            type: string
          description: أنواع الأنماط مفصولة بفواصل، مثل exact_same_device,same_email.
        - name: risk_band
          in: query
          schema:
            type: string
          description: 'نطاقات مفصولة بفواصل: low,medium,high.'
        - name: min_size
          in: query
          schema:
            type: integer
          description: الحد الأدنى لعدد الأعضاء.
        - name: max_size
          in: query
          schema:
            type: integer
          description: الحد الأقصى لعدد الأعضاء.
        - name: assignee
          in: query
          schema:
            type: string
          description: >-
            المعيّنون مفصولون بفواصل: `unassigned`، أو عناوين البريد الإلكتروني
            للأعضاء (المطابقة غير حساسة لحالة الأحرف)، أو `me` لعضو لوحة التحكم
            الذي يجري الاستدعاء. تطابق الشبكة أي قيمة. تتطلب `me` token لعضو
            لوحة التحكم: يحصل مفتاح API على 400 `{"assignee": ["\"me\" needs a
            user token; an API key has no assignee identity."]}`.
        - name: priority
          in: query
          schema:
            type: string
          description: >-
            الأولويات مفصولة بفواصل: `low`، أو `medium`، أو `high`، أو `none`
            للشبكات التي ليس لها أولوية. ترجع أي قيمة أخرى الخطأ 400
            `{"priority": "Unknown priority: <values>."}`.
        - name: risk_min
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 100
          description: >-
            الحد الأدنى لدرجة المخاطر، عدد صحيح من 0 إلى 100. أي قيمة ليست عددًا
            صحيحًا تُرجع الرمز 400 `{"risk_min": "Use a whole number from 0 to
            100."}`.
        - name: has_case
          in: query
          schema:
            type: boolean
          description: >-
            تُبقي القيمة `true` على الشبكات التي فتح تطبيقك حالة لها، بينما
            تُبقي القيمة `false` على الشبكات الأخرى. وتُتجاهل أي قيمة أخرى.
        - name: date_from
          in: query
          schema:
            type: string
            format: date
          description: >-
            الحد الأدنى لـ last_activity_at (تاريخ أو تاريخ ووقت وفقاً لمعيار
            ISO 8601).
        - name: date_to
          in: query
          schema:
            type: string
            format: date
          description: >-
            الحد الأعلى لـ first_activity_at (تاريخ أو تاريخ ووقت بتنسيق ISO
            8601).
        - name: q
          in: query
          schema:
            type: string
          description: >-
            بحث بنص حر عبر اسم الشبكة وأسماء الأعضاء وnetwork_id (N-0001) ورموز
            pattern_type الدقيقة.
        - name: ordering
          in: query
          schema:
            type: string
          description: >-
            واحد من risk_score، -risk_score، last_activity_at،
            -last_activity_at، first_activity_at، -first_activity_at،
            network_number، -network_number. القيمة الافتراضية هي
            -risk_score,-last_activity_at.
        - name: limit
          in: query
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 500
          description: حجم الصفحة، 1-500. القيمة الافتراضية هي 100.
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
          description: إزاحة تستند إلى الصفر للسجل الأول.
        - name: summary
          in: query
          schema:
            type: boolean
            default: true
          description: >-
            تُرجع القيمة `false` الصفحة وقيمة `count` الخاصة بها فقط، دون `kpis`
            و`counts`. القيمة الافتراضية هي `true`. يؤدي إرسال أي قيمة بخلاف
            `true` أو `false` إلى إرجاع الرمز 400.
      responses:
        '200':
          description: >-
            قائمة الشبكات مقسمة إلى صفحات، مع وضع المشاركة الخاص بالمؤسسة
            والتوافر عبر المؤسسات، بالإضافة إلى `kpis` و `counts` ما لم يكن
            `summary=false`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: integer
                    nullable: true
                    description: إزاحة الصفحة التالية، أو null في الصفحة الأخيرة.
                  previous:
                    type: integer
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/NetworkListItem'
                  kpis:
                    type: object
                    description: >-
                      كل مفتاح هو {value, delta} على النتائج المطابقة للتصفيات
                      الحالية. يُحذف عندما يكون `summary=false`.
                    properties:
                      active:
                        type: object
                      in_review:
                        type: object
                      applicants_involved:
                        type: object
                      detected_this_period:
                        type: object
                      false_positive_rate:
                        type: object
                  counts:
                    $ref: '#/components/schemas/NetworkListCounts'
                  sharing_mode:
                    type: string
                    enum:
                      - 'off'
                      - private
                      - global
                    description: >-
                      وضع المشاركة بين المؤسسات الخاص بالمؤسسة. تقارن القيمة
                      `global` فقط الشبكات عبر المؤسسات؛ بينما تقصر القيمتان
                      `private` و`off` المقارنة على سجل المؤسسة الخاص فقط.
                    example: global
                  cross_org_available:
                    type: boolean
                    description: >-
                      ما إذا كانت الإشارات المشتركة بين المؤسسات تسري على هذه
                      المؤسسة. تتطلب كلاً من خطة Enterprise ووضع المشاركة
                      `global`.
                    example: true
                  cross_org_unavailable_reason:
                    type: string
                    enum:
                      - plan
                      - sharing_mode
                    nullable: true
                    description: >-
                      سبب عدم تطبيق الإشارات المشتركة بين المؤسسات، ويتم التحقق
                      منها بهذا الترتيب. `plan`: خطة المؤسسة لا تتضمن شبكة
                      مكافحة الاحتيال المشتركة بين المؤسسات (تتطلب خطة
                      Enterprise)، أياً كان وضع المشاركة. `sharing_mode`: تتضمن
                      الخطة الميزة، لكن وضع المشاركة هو `private` أو `off`. تكون
                      Null عندما تكون قيمة `cross_org_available` هي `true`.
                    example: null
                required:
                  - count
                  - next
                  - previous
                  - results
                  - sharing_mode
                  - cross_org_available
                  - cross_org_unavailable_reason
        '400':
          description: قيمة غير صالحة للتصفية أو الترتيب أو تقسيم الصفحات أو `summary`.
          content:
            application/json:
              examples:
                Invalid summary:
                  summary: ملخص غير صالح
                  value:
                    summary:
                      - Must be "true" or "false".
                Invalid scope:
                  summary: نطاق غير صالح
                  value:
                    scope:
                      - Use identity or transactions.
                Unsupported ordering:
                  summary: ترتيب غير مدعوم
                  value:
                    - Unsupported ordering.
        '401':
          description: بيانات اعتماد مفقودة أو غير صالحة.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
                    description: >-
                      موجود في الأخطاء ذات الرموز، على سبيل المثال
                      `networks_not_entitled`.
              examples:
                Missing or invalid credentials:
                  summary: بيانات اعتماد مفقودة أو غير صالحة
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
        '403':
          description: >-
            ينتمي مفتاح API إلى تطبيق آخر، أو أنه مفتاح ذو وصول مقيد: تتطلب
            endpoint الخاصة بـ Networks مفتاحاً كامل الوصول. يتطلب token عضو
            لوحة التحكم إذن `list:networks`. يتم إرجاعه أيضاً مع `code:
            networks_not_entitled` عندما لا تكون Networks مفعّلة للمؤسسة.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
                    description: >-
                      موجود في الأخطاء ذات الرموز، على سبيل المثال
                      `networks_not_entitled`.
              examples:
                Networks not enabled:
                  summary: الشبكات غير مفعّلة
                  value:
                    detail: >-
                      Networks is disabled for this organization. Contact Didit
                      support if you believe this is an error.
                    code: networks_not_entitled
                Restricted API key:
                  summary: مفتاح API مقيد
                  value:
                    detail: This API key has no access to this endpoint.
                No permission:
                  summary: لا يوجد إذن
                  value:
                    detail: You do not have permission to perform this action.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/networks/?status=active,in_review&ordering=-risk_score'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            client = Didit()

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

            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            // and DIDIT_APPLICATION_ID.
            const didit = new Didit();

            for await (const item of didit.networks.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID\n// and DIDIT_APPLICATION_ID.\nclient := didit.NewClient()\n\niter := client.Networks.ListAutoPaging(ctx, didit.NetworksListParams{})\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_ORGANIZATION_ID
            // and DIDIT_APPLICATION_ID.
            Didit client = new Didit();

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

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            // and DIDIT_APPLICATION_ID.
            $didit = new DiditClient();

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

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            didit = Didit::Client.new

            didit.networks.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, DIDIT_ORGANIZATION_ID
            // and DIDIT_APPLICATION_ID.
            using var client = new DiditClient();

            await foreach (var item in await client.Networks.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    NetworkListItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        network_id:
          type: string
          description: معرّف تسلسلي مقروء للبشر لكل مؤسسة، مثل N-0001.
        name:
          type: string
          nullable: true
        status:
          type: string
          enum:
            - active
            - in_review
            - resolved
            - dismissed
          description: >-
            حالة دورة حياة الشبكة. تختلف عن outcome_status لكل مقدم طلب داخل
            الشبكة (approved/in_review/declined/not_completed).
        risk:
          $ref: '#/components/schemas/NetworkRiskDisplay'
        pattern_types:
          type: array
          items:
            type: string
            enum:
              - exact_same_device
              - similar_device
              - same_ip_address
              - same_address
              - similar_selfie_backgrounds
              - similar_poa_documents
              - same_document_number
              - same_phone_number
              - same_email
          description: أنماط التجميع المكتشفة في هذه الشبكة.
        signal_types:
          type: array
          items:
            type: string
            enum:
              - ip_address
              - device
              - face
              - document_number
              - phone
              - email
              - address
          description: أنواع الإشارات المميزة الموجودة في هذه الشبكة.
        member_counts:
          type: object
          description: أعداد الأعضاء حسب الفئة (مثل الإجمالي، ولكل outcome_status).
        member_status:
          type: object
          description: تفصيل الأعضاء حسب outcome_status.
        signal_coverage:
          type: object
          description: تغطية أعضاء هذه الشبكة لكل signal_type.
        first_activity_at:
          type: string
          format: date-time
          nullable: true
        last_activity_at:
          type: string
          format: date-time
          nullable: true
    NetworkListCounts:
      type: object
      description: >-
        أعداد الشبكات لطرق عرض القائمة وخيارات التصفية، مع احتساب كل شبكة مرة
        واحدة فقط. يتم إرجاعها فقط عندما لا تكون قيمة `summary` هي `false`. تحسب
        `scopes` كل شبكة مرئية للتطبيق. وتحسب `views` الشبكات المرئية داخل
        `scope` المحدد. بينما تحسب `facets` الشبكات في `scope` المحدد وعرض
        `status` (تُستبعد الشبكات المتجاهلة ما لم يتضمنها `status`). لا تغيّر
        عوامل تصفية القائمة الأخرى هذه الأعداد.
      properties:
        scopes:
          type: object
          description: الشبكات المرئية حسب المنتج.
          properties:
            all:
              type: integer
            identity:
              type: integer
              description: كل شبكة أخرى.
            transactions:
              type: integer
              description: الشبكات التي يكون جميع أعضائها أطرافاً في المعاملة.
        views:
          type: object
          description: >-
            الشبكات المرئية داخل `scope` المحدّد، حسب الحالة، بالإضافة إلى عرضين
            محفوظين.
          properties:
            all:
              type: integer
            active:
              type: integer
            in_review:
              type: integer
            resolved:
              type: integer
            dismissed:
              type: integer
            mine:
              type: integer
              description: >-
                الشبكات المعيّنة لعضو لوحة التحكم الذي يجري الاستدعاء. تكون
                القيمة دائماً 0 لمفتاح API.
            high_risk:
              type: integer
              description: الشبكات التي تبلغ درجة مخاطرها 80 أو أكثر ولم يتم تجاهلها.
        facets:
          type: object
          description: أعداد كل خيار تصفية، داخل `scope` المحدد وعرض الحالة.
          properties:
            total:
              type: integer
              description: الشبكات في `scope` المحدد وعرض الحالة.
            last_activity_days:
              type: object
              description: >-
                الشبكات التي شهدت نشاطاً خلال آخر 7 و30 و90 يوماً، مفهرسة بحسب
                عدد الأيام.
              properties:
                '7':
                  type: integer
                '30':
                  type: integer
                '90':
                  type: integer
            risk_min:
              type: object
              description: >-
                الشبكات التي تبلغ درجة المخاطر لها 50 على الأقل و80 على الأقل،
                مفهرسة بحسب الحد.
              properties:
                '50':
                  type: integer
                '80':
                  type: integer
            signal_types:
              type: object
              description: الشبكات التي تحتوي على إشارة واحدة على الأقل من كل نوع.
              properties:
                ip_address:
                  type: integer
                device:
                  type: integer
                face:
                  type: integer
                document_number:
                  type: integer
                phone:
                  type: integer
                email:
                  type: integer
                address:
                  type: integer
            priority:
              type: object
              description: الشبكات حسب الأولوية. تحسب `none` الشبكات التي ليس لها أولوية.
              properties:
                low:
                  type: integer
                medium:
                  type: integer
                high:
                  type: integer
                none:
                  type: integer
            assignee:
              type: object
              description: الشبكات حسب الشخص المعيّن.
              properties:
                me:
                  type: integer
                  description: معيّنة لعضو لوحة التحكم المُستدعي. دائماً 0 لمفتاح API.
                unassigned:
                  type: integer
                  description: غير معيّنة لأي شخص.
                users:
                  type: array
                  description: >-
                    إدخال واحد لكل مكلَّف، مع تقديم المكلَّفين المرتبطين بأكبر
                    عدد من الشبكات أولاً.
                  items:
                    type: object
                    properties:
                      uuid:
                        type: string
                        format: uuid
                      full_name:
                        type: string
                        description: >-
                          اسم الشخص المعيّن، أو بريده الإلكتروني في حال عدم
                          تعيين اسم.
                      email:
                        type: string
                      count:
                        type: integer
            has_case:
              type: integer
              description: الشبكات التي فتح هذا التطبيق حالة لها.
            min_size:
              type: object
              description: >-
                الشبكات التي تضم 10 أعضاء على الأقل، مفهرسة بحسب الحد الأدنى
                للحجم.
              properties:
                '10':
                  type: integer
    NetworkRiskDisplay:
      type: object
      properties:
        score:
          type: integer
          description: درجة المخاطر، من 0 إلى 100.
        band:
          type: string
          enum:
            - low
            - medium
            - high
          description: >-
            النطاق الذي تظهر فيه الدرجة. high >= 70، وmedium >= 40، وخلاف ذلك
            low.
        bar:
          type: number
          format: float
          description: قيمة معيارية من 0 إلى 1 لعرض شريط المخاطر.
  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.