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

\`Create a compliance case for my Didit application through the Management API.

Endpoint:
POST 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:
\- Open an investigation case. Every case is anchored to exactly one subject (a user or a business) - set it directly with "subject", or attach a session/transaction via "links" and let the subject be derived from its owner.

Request body (application/json):
\{
"title": "Manual - Jane Doe",                 // required
"blueprint": "<case-blueprint-uuid>",          // optional but recommended - drives content/routing
"priority": "HIGH",                             // optional, LOW|MEDIUM|HIGH, default MEDIUM
"due_at": "2026-08-01T00:00:00Z",              // optional
"tags": ["review"],                             // optional
"subject": {"type": "user", "uuid": "<vendor-user-uuid>"},  // required unless links is given
"links": [{"entity_type": "transaction", "entity_uuid": "<transaction-uuid>"}],  // optional
"assigned_to": "<user-uuid>"                    // optional
}

Validation:
\- At least one of subject or links is required - a 400 with a clear message is returned otherwise.
\- Source is always "MANUAL" for API-created cases.

Example call:
curl -X POST "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"title": "Manual - Jane Doe", "blueprint": "<uuid>", "subject": {"type": "user", "uuid": "<uuid>"}}'

Response 201: the full CaseDetail object (uuid, case_number, status "OPEN", subject, blueprint, notes, events, links, checklist_items).

Failure modes:
\- 400 - neither subject nor links provided; subject/blueprint/assignee not found.
\- 401/403 - auth/permission errors.

Side effects: creates the case, seeds its checklist from the blueprint (if any), and logs a CREATED event.

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

\</pre>



      
      

الصق في

أنشئ حالة مرتبطة بموضوع واحد فقط. مرّر `subject` مباشرة، أو زوّد `links` ودع Didit يشتق الموضوع من مالك الكيان المرتبط الأول.> [!TIP]
>
> مرّر `blueprint` كلما توفر لديك. فهو يحدد أقسام صفحة الحالة التي تظهر، وهل يتطلب الحل ملاحظة، وإلى أين تُوجَّه الحالة عند التصعيد أو النقل.## ذات صلة- [عرض الحالات](https://docs.didit.me/ar/management-api/cases/list.md)
- [حل الحالة](https://docs.didit.me/ar/management-api/cases/resolve.md)
- [إنشاء الحالات (وحدة التحكم)](https://docs.didit.me/ar/console/case-management/creating-cases.md)


## OpenAPI

````yaml ar/openapi-25.json POST /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/:
    post:
      tags:
        - Cases
      summary: إنشاء حالة
      description: >-
        أنشئ حالة مرتبطة بموضوع واحد بالضبط (مستخدم أو شركة)، إما مباشرة أو عن
        طريق استخلاص الموضوع من رابط جلسة/معاملة مرفق. يكون المصدر دائماً
        `MANUAL` للحالات المُنشأة عبر API.
      operationId: create_case
      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 للتطبيق.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - title
              properties:
                title:
                  type: string
                  maxLength: 255
                blueprint:
                  type: string
                  format: uuid
                  nullable: true
                  description: معرّف CaseBlueprint UUID. اتركه فارغاً لعدم استخدام أي مخطط.
                priority:
                  type: string
                  enum:
                    - LOW
                    - MEDIUM
                    - HIGH
                  default: MEDIUM
                due_at:
                  type: string
                  format: date-time
                  nullable: true
                tags:
                  type: array
                  items:
                    type: string
                subject:
                  type: object
                  description: مطلوب ما لم يتم توفير links؛ الموضوع الوحيد للحالة.
                  properties:
                    type:
                      type: string
                      enum:
                        - user
                        - business
                    uuid:
                      type: string
                      format: uuid
                links:
                  type: array
                  description: >-
                    الجلسات/جلسات الشركات/المعاملات المطلوب إرفاقها عند الإنشاء،
                    مثل [{"entity_type": "transaction", "entity_uuid": "..."}].
                    عند إغفال الموضوع (subject)، يُشتق الموضوع من مالك الرابط
                    الأول.
                  items:
                    type: object
                assigned_to:
                  type: string
                  format: uuid
                  nullable: true
                  description: معرّف UUID للمستخدم للتعيين الفوري.
                review_duplicates:
                  type: boolean
                  default: false
                  description: >-
                    إعادة التحقق من التحقيقات الحالية قبل إنشاء الحالة. عند
                    تعيينه على true، يتطلب الخاضع للتحقق الذي لديه حالات سابقة
                    قيمة غير فارغة لـ separate_incident_reason. تُفعّل لوحة
                    التحكم هذه الحماية دائماً. يؤدي حذفه إلى الاحتفاظ بسلوك API
                    الحالي.
                separate_incident_reason:
                  type: string
                  maxLength: 1000
                source_context:
                  $ref: >-
                    #/components/schemas/CaseDuplicateCaseFraudSourceContextRequest
            example:
              title: Manual - Jane Doe
              blueprint: b1de0000-0000-4000-8000-000000000002
              priority: HIGH
              subject:
                type: user
                uuid: 5b9a0000-0000-4000-8000-00000000f00d
              tags:
                - review
      responses:
        '201':
          description: تم إنشاء الحالة.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseDetail'
        '400':
          description: >-
            لم يتم تقديم subject ولا links، أو تعذر العثور على
            الموضوع/المخطط/الشخص المعيّن.
          content:
            application/json:
              schema:
                type: object
        '409':
          description: >-
            تم تفعيل مراجعة التكرار وعُثر على حالة موجودة بدون سبب لحادث منفصل.
            لم يتم إنشاء أي حالة.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"title": "Manual - Jane Doe", "blueprint": "b1de0000-0000-4000-8000-000000000002", "priority": "HIGH", "subject": {"type": "user", "uuid": "5b9a0000-0000-4000-8000-00000000f00d"}, "tags": ["review"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

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

            result = client.cases.create(
                title="Manual - Jane Doe",
                blueprint="b1de0000-0000-4000-8000-000000000002",
                priority="HIGH",
                tags=["review"],
                subject={
                    "type": "user",
                    "uuid": "5b9a0000-0000-4000-8000-00000000f00d",
                },
            )
            print(result)
        - 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();

            const result = await didit.cases.create({
              title: "Manual - Jane Doe",
              blueprint: "b1de0000-0000-4000-8000-000000000002",
              priority: "HIGH",
              tags: ["review"],
              subject: {
                type: "user",
                uuid: "5b9a0000-0000-4000-8000-00000000f00d",
              },
            });
            console.log(result);
        - 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\nresult, err := client.Cases.Create(ctx, didit.CasesCreateParams{\n\tTitle:     \"Manual - Jane Doe\",\n\tBlueprint: didit.String(\"b1de0000-0000-4000-8000-000000000002\"),\n\tPriority:  didit.Some(didit.CasesCreateParamsPriority(\"HIGH\")),\n\tTags:      didit.Some([]string{\"review\"}),\n\tSubject: didit.Some(didit.CasesCreateParamsSubject{\n\t\tType: didit.Some(didit.CasesCreateParamsSubjectType(\"user\")),\n\t\tUUID: didit.String(\"5b9a0000-0000-4000-8000-00000000f00d\"),\n\t}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: |-
            import java.util.List;
            import me.didit.Didit;
            import me.didit.types.CasesCreateParams;

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

            var result = client.cases().create(CasesCreateParams.builder()
                    .title("Manual - Jane Doe")
                    .blueprint("b1de0000-0000-4000-8000-000000000002")
                    .priority(CasesCreateParams.Priority.of("HIGH"))
                    .tags(List.of("review"))
                    .subject(CasesCreateParams.Subject.builder()
                            .type(CasesCreateParams.Subject.Type.of("user"))
                            .uuid("5b9a0000-0000-4000-8000-00000000f00d")
                            .build())
                    .build());
            System.out.println(result);
        - 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();

            $result = $didit->cases->create([
                'title' => 'Manual - Jane Doe',
                'blueprint' => 'b1de0000-0000-4000-8000-000000000002',
                'priority' => 'HIGH',
                'tags' => ['review'],
                'subject' => [
                    'type' => 'user',
                    'uuid' => '5b9a0000-0000-4000-8000-00000000f00d',
                ],
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.cases.create(
              title: "Manual - Jane Doe",
              blueprint: "b1de0000-0000-4000-8000-000000000002",
              priority: "HIGH",
              tags: ["review"],
              subject: {
                type: "user",
                uuid: "5b9a0000-0000-4000-8000-00000000f00d",
              }
            )
            puts result.to_h
        - 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();

            var result = await client.Cases.CreateAsync(new CasesCreateParams
            {
                Title = "Manual - Jane Doe",
                Blueprint = "b1de0000-0000-4000-8000-000000000002",
                Priority = new CasesCreateParamsPriority("HIGH"),
                Tags = new string[] { "review" },
                Subject = new CasesCreateParamsSubject
                {
                    Type = new CasesCreateParamsSubjectType("user"),
                    Uuid = "5b9a0000-0000-4000-8000-00000000f00d",
                },
            });
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    CaseDuplicateCaseFraudSourceContextRequest:
      type: object
      properties:
        check_id:
          type: string
          format: uuid
        request_id:
          type: string
          format: uuid
        source_section:
          type: string
          minLength: 1
          pattern: ^[A-Z][A-Z0-9_:-]{0,63}$
      required:
        - check_id
        - request_id
        - source_section
    CaseDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        case_number:
          type: string
          nullable: true
        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
        resolution_notes:
          type: string
          nullable: true
        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
        resolved_by_email:
          type: string
          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'
        metadata:
          type: object
        blueprint:
          $ref: '#/components/schemas/CaseBlueprintDetail'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/CaseNote'
          description: أحدث 50 ملاحظة.
        events:
          type: array
          items:
            $ref: '#/components/schemas/CaseEvent'
          description: أحدث 100 حدث.
        links:
          type: array
          items:
            $ref: '#/components/schemas/CaseLink'
        links_count:
          type: integer
        notes_count:
          type: integer
        checklist_items:
          type: array
          items:
            $ref: '#/components/schemas/CaseChecklistItem'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    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
    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
    CaseBlueprintDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
          maxLength: 24
        description:
          type: string
          nullable: true
        assignment_method:
          type: string
          enum:
            - MANUAL
            - AUTOMATIC
        assignee_pool:
          type: array
          items:
            type: string
            format: uuid
        max_active_cases:
          type: integer
          nullable: true
        escalation_enabled:
          type: boolean
        transfer_enabled:
          type: boolean
        require_resolution_note:
          type: boolean
        is_active:
          type: boolean
        preset_key:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        escalation_blueprint:
          type: string
          format: uuid
          nullable: true
        escalation_blueprint_name:
          type: string
          nullable: true
        four_eyes_checker_blueprint:
          type: string
          format: uuid
          nullable: true
        four_eyes_checker_blueprint_name:
          type: string
          nullable: true
        content_config:
          type: object
          description: >-
            الأقسام الستة القابلة للتبديل التي تحدد علامات التبويب والحقول التي
            تظهر في صفحة الحالة. يتم رفض الأقسام أو المفاتيح غير المعروفة.
          properties:
            checklist:
              type: object
              properties:
                enabled:
                  type: boolean
                optional:
                  type: boolean
                  description: >-
                    عند التعيين على true، يمكن حل الحالة مع وجود عناصر غير
                    مكتملة في قائمة التحقق.
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        maxLength: 255
                      order:
                        type: integer
            aml_control:
              type: object
              properties:
                enabled:
                  type: boolean
                financial:
                  type: boolean
                identity:
                  type: boolean
            identity:
              type: object
              properties:
                enabled:
                  type: boolean
                personal_information:
                  type: boolean
                applicant_tags:
                  type: boolean
                contact_information:
                  type: boolean
                risk_overview:
                  type: boolean
                poi_documents:
                  type: boolean
                poa_documents:
                  type: boolean
            verifications:
              type: object
              properties:
                enabled:
                  type: boolean
                summary:
                  type: boolean
            reporting:
              type: object
              properties:
                enabled:
                  type: boolean
                fiu_reports:
                  type: boolean
            financial:
              type: object
              properties:
                enabled:
                  type: boolean
                payment_methods:
                  type: boolean
                transactions:
                  type: boolean
        creation_sources:
          type: array
          description: الموصلات التي توجّه حالياً حالات جديدة إلى هذا المخطط.
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - aml
                  - rule
                  - workflow
              id:
                type: string
              name:
                type: string
        receives_escalation_from:
          type: array
          description: المخططات الأخرى التي يشير هدف التصعيد الخاص بها إلى هذا المخطط.
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
        updated_at:
          type: string
          format: date-time
        version:
          type: integer
          readOnly: true
        default_deadline_hours:
          type: integer
          nullable: true
          minimum: 1
          maximum: 8760
    CaseNote:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        comment:
          type: string
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        mentioned_emails:
          type: array
          items:
            type: string
            format: email
        is_internal:
          type: boolean
        attachments:
          type: array
          items:
            type: object
            properties:
              s3_key:
                type: string
              filename:
                type: string
              file_size:
                type: integer
              url:
                type: string
                format: uri
        tags:
          type: array
          items:
            type: string
        created_at:
          type: string
          format: date-time
    CaseEvent:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        event_type:
          type: string
          enum:
            - CREATED
            - STATUS_CHANGED
            - ASSIGNED
            - UNASSIGNED
            - RESOLVED
            - REOPENED
            - LINK_ADDED
            - LINK_REMOVED
            - NOTE_ADDED
            - NOTE_PINNED
            - NOTE_UNPINNED
            - PRIORITY_CHANGED
            - DUE_DATE_CHANGED
            - TAG_ADDED
            - TAG_REMOVED
            - ESCALATED
            - TRANSFERRED
            - CHECKLIST_COMPLETED
            - REPORT_CREATED
            - REPORT_FINALIZED
            - SUBMITTED_FOR_APPROVAL
            - APPROVAL_GRANTED
            - APPROVAL_REJECTED
            - ENTITY_ACTION
            - APPROVAL_INVALIDATED
            - CUSTOMER_REQUEST
            - STAGE_CHANGED
            - TEAM_CHANGED
            - CHECKER_ASSIGNED
            - CHECKER_UNASSIGNED
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        previous_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        new_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        metadata:
          type: object
        created_at:
          type: string
          format: date-time
    CaseLink:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        linked_entity_type:
          type: string
          enum:
            - session
            - business_session
            - transaction
          nullable: true
        linked_entity_uuid:
          type: string
          format: uuid
          nullable: true
        linked_entity_summary:
          type: object
          nullable: true
          description: >-
            session_id/session_number/status لروابط session وbusiness_session؛
            وuuid/txn_id/status لروابط transaction.
        created_at:
          type: string
          format: date-time
    CaseChecklistItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        label:
          type: string
          maxLength: 255
        is_completed:
          type: boolean
        completed_by:
          type: string
          format: email
          nullable: true
        completed_at:
          type: string
          format: date-time
          nullable: true
        order:
          type: integer
  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.