> ## Documentation Index
> Fetch the complete documentation index at: https://docs.case.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Add memory

> Store memories from conversation messages. Automatically extracts facts and handles deduplication.

Use tag_1 through tag_12 for filtering - these are generic indexed fields you can use for any purpose:
- Legal app: tag_1=client_id, tag_2=matter_id
- Healthcare: tag_1=patient_id, tag_2=encounter_id
- E-commerce: tag_1=customer_id, tag_2=order_id



## OpenAPI

````yaml /openapi.json post /memory/v1
openapi: 3.1.0
info:
  title: Case.dev API
  description: >-
    The AI-native platform for legal technology. Build smarter legal
    applications with our suite of AI-powered APIs.
  version: 1.0.0
  contact:
    name: Case.dev Support
    email: support@casemark.com
    url: https://case.dev
  license:
    name: Proprietary
    url: https://case.dev/terms
servers:
  - url: https://api.case.dev
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Vaults
    description: Secure document storage with semantic search and GraphRAG
  - name: Memory
    description: >-
      Persistent memory for AI agents with semantic search and 12 generic
      indexed tag fields
  - name: OCR
    description: Extract text from PDFs, images, and scanned documents
  - name: Voice
    description: Audio transcription and text-to-speech
  - name: LLMs
    description: Access 40+ language models through a unified API
  - name: Search
    description: Web search, AI answers, and deep research
  - name: Mail
    description: Managed inboxes for agent email workflows
  - name: Media
    description: Transcript retrieval and captioned media clip generation
  - name: Legal
    description: Legal research tools including citation verification
  - name: Privilege
    description: Privilege detection for e-discovery and litigation workflows
  - name: Compute
    description: Serverless GPU and CPU infrastructure
  - name: Format
    description: Document formatting and template rendering (MD/JSON to PDF/DOCX)
  - name: SuperDoc
    description: Document conversion and template automation
  - name: Webhooks
    description: Webhook endpoint management
  - name: System
    description: Public system metadata and discovery endpoints
  - name: Usage
    description: Usage reporting and webhook subscriptions
  - name: Database
    description: Serverless PostgreSQL databases with instant branching
  - name: Translation
    description: Language detection and translation for multilingual legal workflows
  - name: Skills
    description: Search and read legal AI skills for agents
  - name: Agents
    description: >-
      Create, manage, and execute AI agents with tool access, sandbox
      environments, and async run workflows
  - name: Matters
    description: Matter-native legal workspaces and orchestration primitives
  - name: Applications Projects
    description: Web application project management
  - name: Applications Deployments
    description: Web application deployment management
  - name: Applications Domains
    description: Custom domain configuration for applications
  - name: Applications Env Vars
    description: Environment variable management for applications
paths:
  /memory/v1:
    post:
      tags:
        - Memory
      summary: Add memory
      description: >-
        Store memories from conversation messages. Automatically extracts facts
        and handles deduplication.


        Use tag_1 through tag_12 for filtering - these are generic indexed
        fields you can use for any purpose:

        - Legal app: tag_1=client_id, tag_2=matter_id

        - Healthcare: tag_1=patient_id, tag_2=encounter_id

        - E-commerce: tag_1=customer_id, tag_2=order_id
      operationId: addMemory
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - messages
              properties:
                messages:
                  type: array
                  description: Conversation messages to extract memories from
                  items:
                    type: object
                    required:
                      - role
                      - content
                    properties:
                      role:
                        type: string
                        enum:
                          - user
                          - assistant
                          - system
                        description: Message role
                      content:
                        type: string
                        description: Message content
                tag_1:
                  type: string
                  description: Generic indexed filter field 1 (you decide what it means)
                tag_2:
                  type: string
                  description: Generic indexed filter field 2
                tag_3:
                  type: string
                  description: Generic indexed filter field 3
                tag_4:
                  type: string
                  description: Generic indexed filter field 4
                tag_5:
                  type: string
                  description: Generic indexed filter field 5
                tag_6:
                  type: string
                  description: Generic indexed filter field 6
                tag_7:
                  type: string
                  description: Generic indexed filter field 7
                tag_8:
                  type: string
                  description: Generic indexed filter field 8
                tag_9:
                  type: string
                  description: Generic indexed filter field 9
                tag_10:
                  type: string
                  description: Generic indexed filter field 10
                tag_11:
                  type: string
                  description: Generic indexed filter field 11
                tag_12:
                  type: string
                  description: Generic indexed filter field 12
                category:
                  type: string
                  description: Custom category (e.g., "fact", "preference", "deadline")
                metadata:
                  type: object
                  description: Additional metadata (not indexed)
                  additionalProperties: true
                infer:
                  type: boolean
                  default: true
                  description: 'Whether to extract facts from messages (default: true)'
                extraction_prompt:
                  type: string
                  description: Optional custom prompt for fact extraction
      responses:
        '200':
          description: Memories added successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Memory ID
                        memory:
                          type: string
                          description: Extracted memory text
                        event:
                          type: string
                          enum:
                            - ADD
                            - UPDATE
                            - DELETE
                            - NONE
                          description: What happened to this memory
        '400':
          description: Invalid request parameters
        '401':
          description: Invalid API key
        '403':
          description: API key does not have access to Memory service
        '500':
          description: Memory service error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key starting with `sk_case_`

````