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

# Store interaction

> Stores one user-facing memory item. `session_id` is overwritten by the proxy with the agent ID.



## OpenAPI

````yaml /neuroadapt-openapi.json post /api/v1/memory/store
openapi: 3.0.3
info:
  title: Neuroadapt API
  version: 1.0.0
  description: >-
    Neuroadapt is a local, non-LLM memory and reasoning API exposed through an
    authenticating go-proxy. It stores session-scoped events, retrieves relevant
    evidence, exposes concept-level reasoning signals, and keeps enough state
    for frontend clients to inspect what the system knows.


    ## Authentication


    Send `Authorization: Bearer <secretToken>`. The proxy looks the token up in
    the MongoDB `agents` collection and **forces `session_id = agentId` on every
    request**. Any `session_id` you put in the body (or in the
    `/memz/memories/{session_id}` path) is overwritten by the proxy, so the
    value you send is a placeholder. A missing or invalid token returns `401`.


    The core memory endpoints do not call an LLM; the OpenAI-compatible chat
    route is present only for compatibility.


    ## API prefix


    The versioned API is served under `/api/v1`. Equivalent bowtie-compatible
    prefixes are also available: `/public/rei-ai-bowtie/v4` and
    `/rei-ai-bowtie/v4`.
servers:
  - url: https://rei-neuroadapt-api.reilabs.org
    description: UAT (proxied, authenticated)
security:
  - BearerAuth: []
tags:
  - name: System
    description: >-
      Health and version checks. Public — no auth required (passed through by
      the proxy).
  - name: Memory
    description: Session-scoped, non-LLM memory and reasoning endpoints (/api/v1/memory/*).
  - name: Domains
    description: >-
      Closed-source expansion surface. Declare schemas, rules, events, queries,
      and feedback over HTTP (/api/v1/domains/*).
  - name: Legacy
    description: Low-level memory API (/memz/*).
  - name: Chat
    description: >-
      OpenAI-compatible chat completion route. Use only when you explicitly want
      the chat pipeline.
paths:
  /api/v1/memory/store:
    post:
      tags:
        - Memory
      summary: Store interaction
      description: >-
        Stores one user-facing memory item. `session_id` is overwritten by the
        proxy with the agent ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - user_message
              properties:
                session_id:
                  type: string
                  description: Placeholder — overwritten by the proxy.
                user_message:
                  type: string
                  description: User-facing content to remember.
                ai_message:
                  type: string
                  description: Optional assistant message paired with the user message.
                context:
                  type: object
                  additionalProperties: true
                  description: Arbitrary metadata stored with the memory.
            example:
              session_id: ignored
              user_message: Alice works at Reilabs and lives in Singapore.
              ai_message: Got it, I'll remember that about Alice.
              context:
                source: http-test
      responses:
        '200':
          description: Memory stored.
          content:
            application/json:
              schema:
                type: object
              example:
                status: success
                session_id: agent-id
                interaction_id: memory-uuid
                concepts_extracted: 0
                extracted_concepts: []
                storage_result:
                  backend: neuroadapt-local
                  memory_id: memory-uuid
                  session_id: agent-id
                  accepted: true
                  action: stored
                timestamp: 1782200000
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            type: object
          example:
            detail: Unauthorized
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Unit API Key mapped to an agent in the `agents` collection. The proxy
        forces `session_id = agentId`.

````