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

# Create Case Note

> Post a plain-text note, optionally mentioning teammates, tagging it, or attaching files uploaded via notes/presign/.

export const AgentPromptAccordion = ({prompt, title = "AI Agent Integration Prompt"}) => {
  const [copied, setCopied] = React.useState(false);
  const handleCopy = e => {
    e.stopPropagation();
    if (!prompt) return;
    navigator.clipboard.writeText(prompt.trim()).then(() => {
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    });
  };
  const agents = ["Claude Code", "Codex", "Cursor", "Devin", "Windsurf", "GitHub Copilot"];
  return <div className="didit-agent-card">
      {}
      <div className="didit-agent-titlebar">
        <div className="didit-agent-dots" aria-hidden="true">
          <span className="didit-agent-dot didit-agent-dot-red"></span>
          <span className="didit-agent-dot didit-agent-dot-yellow"></span>
          <span className="didit-agent-dot didit-agent-dot-green"></span>
        </div>
        <span className="didit-agent-filename">{title}</span>
        <button type="button" className={`didit-agent-copy ${copied ? "didit-agent-copy-copied" : ""}`} onClick={handleCopy} title="Copy prompt to clipboard" aria-label={copied ? "Copied!" : "Copy prompt to clipboard"}>
          {copied ? <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <path d="M3 8.5l3.5 3.5L13 4" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
              </svg>
              <span>Copied</span>
            </> : <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <rect x="5" y="5" width="9" height="9" rx="1.5" stroke="currentColor" strokeWidth="1.5" />
                <path d="M11 5V3.5A1.5 1.5 0 0 0 9.5 2h-6A1.5 1.5 0 0 0 2 3.5v6A1.5 1.5 0 0 0 3.5 11H5" stroke="currentColor" strokeWidth="1.5" />
              </svg>
              <span>Copy</span>
            </>}
        </button>
      </div>

      {}
      <pre className="didit-agent-body"><code>{prompt.trim()}</code></pre>

      {}
      <div className="didit-agent-footer">
        <span className="didit-agent-footer-label">Paste into</span>
        <div className="didit-agent-chips">
          {agents.map(name => <span key={name} className="didit-agent-chip">{name}</span>)}
        </div>
      </div>
    </div>;
};

<AgentPromptAccordion
  title="Create Case Note API Prompt"
  prompt={`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.`}
/>

Post a plain-text note. To attach a file, first upload it with `POST .../notes/presign/` and pass the returned `s3_key` in `attachments`.

## Related

* [List case notes](/management-api/cases/list-notes)
* [Get case](/management-api/cases/get)


## OpenAPI

````yaml 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: Identity verification API. Authenticate with x-api-key header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/notes/:
    post:
      tags:
        - Cases
      summary: Create case note
      description: >-
        Post a plain-text note, optionally mentioning teammates, tagging it, or
        attaching files uploaded via notes/presign/.
      operationId: create_case_note
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Organization UUID.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Application UUID.
        - name: case_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            example: c1a5e000-0000-4000-8000-000000000001
          description: Case UUID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - comment
              properties:
                comment:
                  type: string
                mentioned_emails:
                  type: array
                  items:
                    type: string
                    format: email
                is_internal:
                  type: boolean
                  default: false
                attachments:
                  type: array
                  description: >-
                    s3_key values returned by POST notes/presign/; each must
                    belong to this case.
                  items:
                    type: object
                    properties:
                      s3_key:
                        type: string
                      filename:
                        type: string
                      file_size:
                        type: integer
                tags:
                  type: array
                  items:
                    type: string
      responses:
        '201':
          description: Note created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseNote'
      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/c1a5e000-0000-4000-8000-000000000001/notes/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"comment": "Called the customer, awaiting a reply with supporting documents.", "tags": ["follow-up"]}'
components:
  schemas:
    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

````