{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/geniffy-com/json-schema/geniffy-com-file-in-schema.json",
  "title": "FileIn",
  "x-generated": "2026-11-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/geniffy-com-openapi.json#/components/schemas/FileIn",
  "properties": {
    "path": {
      "type": "string",
      "title": "Path",
      "description": "Where the file is kept, such as /memories/notes.md: it starts with \"/\", is up to 255 characters and doesn't end with \"/\", with no empty, \".\" or \"..\" part, backslash or control character"
    },
    "text": {
      "type": "string",
      "maxLength": 2000000,
      "title": "Text",
      "description": "Its whole text, kept exactly as sent: no space or line ending is changed. An empty file is kept too, with nothing learned from it"
    },
    "labels": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Labels",
      "description": "Up to 20 of your own name/value pairs, such as {\"channel\": \"claude-memory\"}, to filter what you recall by. Written again, they replace the old ones; left out, they are kept; {} clears them"
    },
    "space": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 128
        },
        {
          "type": "null"
        }
      ],
      "title": "Space",
      "description": "One of your own users. Leave it out for your own memory; a blank one is refused."
    }
  },
  "type": "object",
  "required": [
    "path",
    "text"
  ]
}