{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stormmcp/json-schema/stormmcp-organic-memory-admin-request-schema.json",
  "title": "OrganicMemoryAdminRequest",
  "description": "Admin write for the tenant organic memory setting. Enabling requires both slots.\nDisabling with the slots omitted keeps the stored references.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stormmcp-organicmemoryadmin-api-openapi.yml#/components/schemas/OrganicMemoryAdminRequest",
  "required": [
    "enabled"
  ],
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean",
      "description": "Gets or sets a value indicating whether organic memory is enabled for the tenant."
    },
    "llm": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Gets or sets the language-model slot. Null on a disable keeps the stored slot.",
          "$ref": "#/$defs/OrganicMemorySlotRequest"
        }
      ]
    },
    "embedding": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Gets or sets the embedding slot. Null on a disable keeps the stored slot.",
          "$ref": "#/$defs/OrganicMemorySlotRequest"
        }
      ]
    },
    "aiGatewayBinderId": {
      "type": [
        "null",
        "string"
      ],
      "description": "Gets or sets the tenant ApiKey binder that holds the AI Gateway key.\nNull keeps the stored id. A supplied id is stored after it resolves as a Ready tenant ApiKey binder.",
      "format": "uuid"
    }
  },
  "$defs": {
    "OrganicMemoryProviderSlotMode": {
      "enum": [
        "Unset",
        "UseAiriaApiKey",
        "Binder"
      ],
      "description": "How one organic memory provider slot is filled. OrganicMemoryProviderSlotMode.Unset is the zero value\nso an omitted choice cannot become a live key. The wire value is the member name."
    },
    "OrganicMemorySlotRequest": {
      "required": [
        "mode"
      ],
      "type": "object",
      "properties": {
        "mode": {
          "description": "Gets or sets the slot mode. A present slot accepts OrganicMemoryProviderSlotMode.UseAiriaApiKey\nor OrganicMemoryProviderSlotMode.Binder.",
          "$ref": "#/$defs/OrganicMemoryProviderSlotMode"
        },
        "binderId": {
          "type": [
            "null",
            "string"
          ],
          "description": "Gets or sets the tenant ApiKey binder id when OrganicMemoryProviderSlotMode OrganicMemorySlotRequest.Mode is `Binder`.",
          "format": "uuid"
        }
      },
      "description": "One provider slot on an organic memory admin write. The body carries a mode\nname and, for a binder, the binder id. It never carries the key."
    }
  }
}