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

\`Post a note to a case through the Management API.

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

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

Request body:
\{
"comment": "Called the customer, awaiting a reply.",  // required
"mentioned_emails": ["teammate@company.com"],           // optional
"is_internal": false,                                    // optional, default false
"attachments": [{"s3_key": "case-notes/<case_uuid>/<uuid>-file.pdf"}],  // optional - upload first via notes/presign/
"tags": ["follow-up"]                                     // optional
}

Behavior:
\- Each attachment's s3_key must be under this case's own case-notes/{case_uuid}/ prefix (returned by the upload endpoint) - otherwise 400.
\- Logs a NOTE_ADDED event and creates mention notifications for mentioned_emails.

Example call:
curl -X POST "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"comment": "Called the customer, awaiting a reply.", "tags": ["follow-up"]}'

Response 201: CaseNote.

Failure modes:
\- 400 - an attachment does not belong to this case.
\- 401/403 - auth/permission errors.

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

\</pre>



      
      

الصق في

أرسل ملاحظة نصية عادية. لإرفاق ملف، ارفعه أولاً باستخدام `POST .../notes/presign/`، ثم مرّر `s3_key` المُعاد في الحقل `attachments`.## ذات صلة- [عرض ملاحظات الحالة](https://docs.didit.me/ar/management-api/cases/list-notes.md)
- [جلب الحالة](https://docs.didit.me/ar/management-api/cases/get.md)


## OpenAPI

````yaml ar/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/
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/{case_uuid}/notes/:
    post:
      tags:
        - Case Management
      description: >-
        إضافة ملاحظة على مستوى الحالة. تجعل القيمة الاختيارية client_reference
        إعادة المحاولة غير المتغيرة تُعيد الملاحظة نفسها دون تكرار النشاط أو
        الإشعارات. يجب أن يحدد reply_to ملاحظة نشطة في هذه الحالة. تتضمن
        الاستجابة مقتطفاً محدوداً من الملاحظة الأصلية دون نسخ ذلك المقتطف إلى
        الرد المحفوظ.
      operationId: create_case_note
      parameters:
        - in: path
          name: organization_id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: application_id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: case_uuid
          schema:
            type: string
            format: uuid
          required: true
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CaseCollaborationCaseNoteCreateRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/CaseCollaborationCaseNoteCreateRequest'
            example:
              comment: Proof of address matches the ID document.
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CaseCollaborationCaseNoteCreateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseCollaborationCaseNote'
          description: ''
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseCollaborationCaseNote'
          description: ''
        '403':
          description: تفتقر الجهة المستدعية إلى إذن الحالات المطلوب.
        '404':
          description: الحالة أو الملاحظة غير متاحة لجهة الاتصال هذه.
        '409':
          description: تم استخدام مرجع العميل هذا بالفعل لملاحظة أخرى أو لملاحظة تم حذفها.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - 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.notes.create(
                "11111111-2222-3333-4444-555555555555",
                comment="Proof of address matches the ID document.",
            )
            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.notes.create("11111111-2222-3333-4444-555555555555", {
              comment: "Proof of address matches the ID document.",
            });

            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.Notes.Create(ctx, \"11111111-2222-3333-4444-555555555555\", didit.CaseCollaborationCaseNoteCreateRequest{\n\tComment: \"Proof of address matches the ID document.\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.CaseCollaborationCaseNoteCreateRequest;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            var result =
            client.cases().notes().create("11111111-2222-3333-4444-555555555555",
            CaseCollaborationCaseNoteCreateRequest.builder()
                    .comment("Proof of address matches the ID document.")
                    .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->notes->create('11111111-2222-3333-4444-555555555555',
            [
                'comment' => 'Proof of address matches the ID document.',
            ]);

            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.notes.create(
              "11111111-2222-3333-4444-555555555555",
              comment: "Proof of address matches the ID document."
            )
            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.Notes.CreateAsync("11111111-2222-3333-4444-555555555555",
            new CaseCollaborationCaseNoteCreateRequest

            {
                Comment = "Proof of address matches the ID document.",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    CaseCollaborationCaseNoteCreateRequest:
      type: object
      properties:
        comment:
          type: string
          minLength: 1
          maxLength: 10000
        reply_to:
          type: string
          format: uuid
          nullable: true
        client_reference:
          type: string
          format: uuid
          nullable: true
        mentioned_emails:
          type: array
          items:
            type: string
            format: email
            minLength: 1
        is_internal:
          type: boolean
          default: false
        attachments:
          type: array
          items:
            type: object
            additionalProperties: {}
        tags:
          type: array
          items:
            type: string
            minLength: 1
      required:
        - comment
    CaseCollaborationCaseNote:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        comment:
          type: string
        actor_email:
          type: string
          format: email
          nullable: true
          maxLength: 255
        actor_name:
          type: string
          nullable: true
          maxLength: 255
        mentioned_emails: {}
        is_internal:
          type: boolean
        attachments: {}
        tags: {}
        created_at:
          type: string
          format: date-time
          readOnly: true
        reply_to:
          allOf:
            - $ref: '#/components/schemas/CaseCollaborationCaseNoteReply'
          nullable: true
          readOnly: true
        is_pinned:
          type: boolean
        client_reference:
          type: string
          format: uuid
          nullable: true
      required:
        - comment
        - created_at
        - reply_to
        - uuid
    CaseCollaborationCaseNoteReply:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        actor_name:
          type: string
          nullable: true
        actor_email:
          type: string
          format: email
          nullable: true
        comment:
          type: string
          maxLength: 300
      required:
        - actor_email
        - actor_name
        - comment
        - uuid
  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.