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

# Add Message Sync

<Warning>The API Reference is under active development. Request and response schemas may change before a stable release.</Warning>


## OpenAPI

````yaml /openapi.json post /open/v1/memory/sync/add-message
openapi: 3.1.0
info:
  title: Memind Server API
  description: HTTP API for Memind memory ingestion, retrieval, and administration.
  version: v1
servers: []
security: []
tags:
  - name: memory
    description: Runtime memory ingestion, retrieval, and health endpoints.
    x-group: memory
  - name: admin
    description: Administrative endpoints for memory operations.
    x-group: admin
paths:
  /open/v1/memory/sync/add-message:
    post:
      tags:
        - memory
      summary: Add Message Sync
      operationId: addMessageSync
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddMessageRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ErrorResult'
                  - $ref: '#/components/schemas/SuccessResult'
components:
  schemas:
    AddMessageRequest:
      type: object
      properties:
        userId:
          type: string
          minLength: 1
        agentId:
          type: string
          minLength: 1
        message:
          $ref: '#/components/schemas/Message'
        sourceClient:
          type: string
      required:
        - agentId
        - message
        - userId
    ErrorResult:
      allOf:
        - $ref: '#/components/schemas/ApiResultObject'
        - type: object
          properties:
            error:
              $ref: '#/components/schemas/ApiErrorObject'
    SuccessResult:
      allOf:
        - $ref: '#/components/schemas/ApiResultObject'
        - type: object
          properties:
            data: {}
    Message:
      type: object
      properties:
        role:
          type: string
          enum:
            - USER
            - ASSISTANT
        content:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/ContentBlock'
              - $ref: '#/components/schemas/AudioBlock'
              - $ref: '#/components/schemas/ImageBlock'
              - $ref: '#/components/schemas/TextBlock'
              - $ref: '#/components/schemas/VideoBlock'
        timestamp:
          type: string
          format: date-time
        userName:
          type: string
        sourceClient:
          type: string
    ApiResultObject: {}
    ApiErrorObject:
      type: object
      properties:
        code:
          type: string
          enum:
            - bad_request
            - validation_failed
            - malformed_json
            - not_found
            - version_conflict
            - runtime_unavailable
            - dependency_unavailable
            - internal_error
        message:
          type: string
        details: {}
    ContentBlock:
      discriminator:
        propertyName: type
      properties:
        type:
          type: string
      required:
        - type
    AudioBlock:
      allOf:
        - $ref: '#/components/schemas/ContentBlock'
        - type: object
          properties:
            source:
              oneOf:
                - $ref: '#/components/schemas/Base64Source'
                - $ref: '#/components/schemas/URLSource'
    ImageBlock:
      allOf:
        - $ref: '#/components/schemas/ContentBlock'
        - type: object
          properties:
            source:
              oneOf:
                - $ref: '#/components/schemas/Base64Source'
                - $ref: '#/components/schemas/URLSource'
    TextBlock:
      allOf:
        - $ref: '#/components/schemas/ContentBlock'
        - type: object
          properties:
            text:
              type: string
    VideoBlock:
      allOf:
        - $ref: '#/components/schemas/ContentBlock'
        - type: object
          properties:
            source:
              oneOf:
                - $ref: '#/components/schemas/Base64Source'
                - $ref: '#/components/schemas/URLSource'
    Base64Source:
      allOf:
        - $ref: '#/components/schemas/Source'
        - type: object
          properties:
            media_type:
              type: string
            data:
              type: string
    URLSource:
      allOf:
        - $ref: '#/components/schemas/Source'
        - type: object
          properties:
            url:
              type: string
    Source:
      type: object
      discriminator:
        propertyName: type
      properties:
        contentId:
          type: string
        type:
          type: string
      required:
        - type

````