> ## 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/ko/management-api/cases/list-notes.md)
- [케이스 조회](https://docs.didit.me/ko/management-api/cases/get.md)


## OpenAPI

````yaml ko/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: >-
        Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본
        키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며
        특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나
        만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된
        IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를
        벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write
        권한이 없는 키는 세션 링크와 token을 null로 수신합니다.
        https://docs.didit.me/console/api-keys 를 참고하십시오.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.