> ## 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 حسب الحالة والأولوية والمصدر والمسؤول والوسم وتاريخ الاستحقاق، مع بحث نصي كامل.



طلب واجهة برمجة التطبيقات لعرض الحالات
        نسخ الموجّه إلى الحافظة



      
      

\<pre>

\`List compliance cases for my Didit application through the Management API.

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

Authentication:
Use the x-api-key header with my Didit API key.

Goal:
\- Retrieve cases with the same filtering the Console's Cases list offers: status, priority, source, blueprint, assignee, tag, created-date range, due-before, and overdue. Paginated with limit/offset.

Useful query params:
\- status__in=OPEN,AWAITING_USER,RESOLVED (comma-separated)
\- priority=LOW,MEDIUM,HIGH (comma-separated)
\- source__in=MANUAL,AML_SCREENING,TRANSACTION_RULE,WORKFLOW_BUILDER
\- blueprint=<uuid>, assigned_to=<uuid>, unassigned=true|false, tag=<string>
\- search=<string> - matches title, case_number, tag, subject name/UUID/external ID, linked session UUID, linked transaction UUID
\- date_from=YYYY-MM-DD, date_to=YYYY-MM-DD (created_at range), due_before=<ISO datetime>, overdue=true
\- ordering=created_at|-created_at|due_at|-due_at (default -created_at)

Example call:
curl -X GET "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/?status__in=OPEN,AWAITING_USER&ordering=-due_at" \
-H "x-api-key: YOUR_API_KEY"

Response shape:
\{"count": int, "next": url|null, "previous": url|null, "results": [CaseListItem, ...]}
count is exact up to 100 and capped at 100 beyond that for performance - rely on next being null to detect the last page, never on count.
Each CaseListItem has uuid, case_number, title, status, resolution, pending_resolution (set only while a 4-eyes resolution is staged), checker {member_uuid, name, email}, priority, source, tags, subject {type, uuid, name, external_id, country, portrait}, assigned_to {uuid, full_name, email}, team {uuid, name}, blueprint {uuid, name}, links_count, notes_count, due_at, resolved_at, created_at, updated_at.
\- subject.country - ISO 3166-1 alpha-3 code, or null when unknown. A business: its country of incorporation. A person: the issuing country of one of their identity documents.
\- subject.portrait - short-lived signed URL of the person's portrait, or null. Always null for a business. Download the image when you read it; do not store the URL.
\- team - the review team that owns the case, or null.
\- checker - the member named to approve a pending four-eyes resolution, or null. Set only while a resolution waits on a named checker; name is null when unknown.

Failure modes:
\- 401 - missing or malformed x-api-key.
\- 403 - a key with restricted access gets {"detail": "This API key has no access to this endpoint."} (cases need a full-access key). A console member token needs list:cases.

Side effects: none, pure read.

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

\</pre>



      
      

الصق في

اعرض الحالات الخاصة بالتطبيق، وترتيبها افتراضياً من الأحدث إلى الأقدم. كل خيار تصفية وترتيب متاح في قائمة الحالات في وحدة التحكم معروض كمعامل استعلام، بما في ذلك البحث النصي الكامل عبر `search` في الموضوع والوسوم ورقم الحالة ومعرّفات الجلسات أو المعاملات المرتبطة.
ترتبط بكل حالة أيضاً `team` التابع لها، والـ`checker` المسمّى لقرار المراجعة المزدوجة (four-eyes) المعلّق، و`country` الخاصة بصاحب الحالة و`portrait` الخاص به.## الوصولتحتاج نقاط نهاية الحالات إلى [مفتاح API](https://docs.didit.me/ar/console/api-keys.md) بصلاحية وصول كاملة.
يتلقى المفتاح ذو الصلاحية المقيدة الاستجابة `403`.## ذات صلة- [إنشاء حالة](https://docs.didit.me/ar/management-api/cases/create.md)
- [تحديث حالة](https://docs.didit.me/ar/management-api/cases/update.md)
- [تحليلات الحالات](https://docs.didit.me/ar/management-api/cases/statistics.md)
- [الحالات (وحدة التحكم)](https://docs.didit.me/ar/console/case-management/cases.md)


## OpenAPI

````yaml ar/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/
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}/cases/:
    get:
      tags:
        - Cases
      summary: سرد الحالات
      description: >-
        سرد الحالات الخاصة بالتطبيق، الأحدث أولاً. يدعم التصفية والبحث والفرز؛
        راجع معاملات الاستعلام. مقسم لصفحات باستخدام `limit`/`offset`.
      operationId: list_cases
      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: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
          description: حجم الصفحة. القيمة الافتراضية 50.
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
          description: إزاحة تستند إلى الصفر للسجل الأول.
        - name: status__in
          in: query
          schema:
            type: string
          description: الحالات المفصولة بفواصل لتضمينها، مثل OPEN,AWAITING_USER.
        - name: priority
          in: query
          schema:
            type: string
          description: الأولويات المفصولة بفواصل لتضمينها.
        - name: source__in
          in: query
          schema:
            type: string
          description: المصادر المفصولة بفواصل لتضمينها.
        - name: blueprint
          in: query
          schema:
            type: string
            format: uuid
          description: التصفية للحالات ضمن هذا المخطط.
        - name: assigned_to
          in: query
          schema:
            type: string
            format: uuid
          description: التصفية للحالات المعيّنة لهذا المستخدم.
        - name: unassigned
          in: query
          schema:
            type: boolean
          description: true للحالات غير المعينة، وfalse للحالات المعينة.
        - name: tag
          in: query
          schema:
            type: string
          description: التصفية للحالات التي تحمل هذا الوسم تحديداً.
        - name: search
          in: query
          schema:
            type: string
          description: >-
            يطابق title، أو case_number، أو tag، أو اسم الموضوع/UUID/المعرّف
            الخارجي، أو UUID للجلسة المرتبطة، أو UUID للمعاملة المرتبطة.
        - name: date_from
          in: query
          schema:
            type: string
            format: date
          description: الحد الأدنى لتاريخ الإنشاء (شامل).
        - name: date_to
          in: query
          schema:
            type: string
            format: date
          description: الحد الأقصى لتاريخ الإنشاء (شامل).
        - name: due_before
          in: query
          schema:
            type: string
            format: date-time
          description: الحد الأقصى لـ due_at.
        - name: overdue
          in: query
          schema:
            type: boolean
          description: true لإرجاع الحالات المفتوحة/في انتظار المستخدم والمتأخرة فقط.
        - name: ordering
          in: query
          schema:
            type: string
            enum:
              - created_at
              - '-created_at'
              - due_at
              - '-due_at'
            default: '-created_at'
          description: ترتيب الفرز. يفرز due_at القيم الفارغة في النهاية.
      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/CaseListItem'
      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/cases/?status__in=OPEN,AWAITING_USER&ordering=-due_at'
            \
              -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.cases.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.cases.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.Cases.ListAutoPaging(ctx, didit.CasesListParams{})\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.cases().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->cases->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.cases.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.Cases.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    CaseListItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        case_number:
          type: string
          nullable: true
          description: معيّن تلقائياً، مثل CS-0001.
        title:
          type: string
        status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
        resolution:
          type: string
          enum:
            - FALSE_POSITIVE
            - VALID_THREAT
            - INCONCLUSIVE
            - REQUIREMENTS_NOT_MET
            - REQUIREMENTS_SATISFIED
          nullable: true
        pending_resolution:
          type: object
          nullable: true
          description: >-
            يُعيَّن فقط أثناء تجهيز قرار الموافقة الثنائية (4-eyes) على مخطط
            المدقق، في انتظار الموافقة أو رفض الموافقة.
          properties:
            resolution:
              type: string
              enum:
                - FALSE_POSITIVE
                - VALID_THREAT
                - INCONCLUSIVE
                - REQUIREMENTS_NOT_MET
                - REQUIREMENTS_SATISFIED
            resolution_notes:
              type: string
              nullable: true
            maker_email:
              type: string
              format: email
              nullable: true
              description: >-
                البريد الإلكتروني للمسؤول الذي أرسل القرار. يكون Null عندما
                يرسله مفتاح API: لا يوجد مُصدِر مسجل لهذا القرار، لذا يُرجع كل
                من approve وreject-approval الرمز 403 لأي مستدعٍ.
            maker_name:
              type: string
              nullable: true
            maker_user_id:
              type: string
              format: uuid
              nullable: true
              description: >-
                معرّف uuid لمستخدم العضو الخاص بالمسؤول الذي أرسل القرار. يكون
                null عندما يتم إرساله عبر مفتاح API. لا يمكن تعيين هذا العضو كـ
                `checker`.
            maker_blueprint_id:
              type: string
              format: uuid
            staged_at:
              type: string
              format: date-time
        checker:
          $ref: '#/components/schemas/CaseChecker'
        priority:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
        source:
          type: string
          enum:
            - MANUAL
            - AML_SCREENING
            - TRANSACTION_RULE
            - WORKFLOW_BUILDER
        tags:
          type: array
          items:
            type: string
        subject:
          $ref: '#/components/schemas/CaseSubject'
        assigned_to:
          $ref: '#/components/schemas/CaseAssignee'
        assigned_at:
          type: string
          format: date-time
          nullable: true
        team:
          $ref: '#/components/schemas/CaseTeamSummary'
        due_at:
          type: string
          format: date-time
          nullable: true
        resolved_at:
          type: string
          format: date-time
          nullable: true
        created_by_email:
          type: string
          nullable: true
        created_by_name:
          type: string
          nullable: true
        blueprint:
          $ref: '#/components/schemas/CaseBlueprintSummary'
        links_count:
          type: integer
        notes_count:
          type: integer
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        application_id:
          type: string
          format: uuid
        application_name:
          type: string
        organization_id:
          type: string
          format: uuid
        organization_name:
          type: string
    CaseChecker:
      type: object
      nullable: true
      description: >-
        العضو المعيّن للموافقة على الحل المعلق أو رفضه. يتم تعيينه فقط أثناء
        انتظار حل بمبدأ الرقابة الرباعية لمُدقّق معيّن. ويكون Null عندما لا يكون
        هناك شيء معلق، وأثناء انتظار الحل المعلق في قائمة انتظار المُدقّق،
        وبمجرد الموافقة على الحل أو رفضه أو إعادته لمراجعة جديدة بسبب تغيّر
        الأدلة.
      properties:
        member_uuid:
          type: string
          format: uuid
          description: >-
            معرّف uuid لمستخدم العضو: القيمة التي تمررها كـ `checker` عند حل
            الحالة.
        name:
          type: string
          nullable: true
          description: الاسم الكامل للعضو، أو null عندما يكون غير معروف.
        email:
          type: string
          format: email
    CaseSubject:
      type: object
      nullable: true
      description: المستخدم الوحيد أو الشركة الوحيدة التي ترتبط بها الحالة.
      properties:
        type:
          type: string
          enum:
            - user
            - business
        uuid:
          type: string
          format: uuid
        name:
          type: string
        external_id:
          type: string
          nullable: true
          description: vendor_data الخاصة بالشخص المعني.
        country:
          type: string
          nullable: true
          description: >-
            رمز الدولة المكون من ثلاثة أحرف للجهة المعنية (ISO 3166-1 alpha-3)،
            أو null عندما لا يكون معروفاً. بالنسبة للشركة، دولة التأسيس.
            وبالنسبة للشخص، دولة الإصدار لمستند الهوية من عمليات التحقق الخاصة
            به؛ والشخص الذي يملك مستندات من عدة دول يُعرض له أحدها، ويمكن أن
            تظهر رموز مستندات ICAO مثل `XXA`.
          example: ESP
        portrait:
          type: string
          format: uri
          nullable: true
          description: >-
            رابط URL موقّع قصير الأجل للصورة الشخصية للشخص. دائماً null لشركة،
            وnull لشخص بدون صورة شخصية. تنتهي صلاحية رابط URL، لذا نزّل الصورة
            عند قراءة الحالة بدلاً من تخزين رابط URL.
    CaseAssignee:
      type: object
      nullable: true
      properties:
        uuid:
          type: string
          format: uuid
        full_name:
          type: string
        email:
          type: string
          format: email
    CaseTeamSummary:
      type: object
      nullable: true
      description: >-
        فريق المراجعة المالك للحالة، أو null في حال عدم وجود فريق يملكها. يقوم
        التوجيه بتعيينه عندما تضع قاعدة توجيه الحالة لدى أحد فِرَقها. يمكنك
        تغييره أو مسحه باستخدام `PATCH .../cases/{case_uuid}/` (`team`).
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
    CaseBlueprintSummary:
      type: object
      nullable: true
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
          maxLength: 24
  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.