{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cathedral-ai-com/json-schema/cathedral-ai-com-source-create-schema.json",
  "title": "SourceCreate",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cathedral-ai-com-openapi.json#/components/schemas/SourceCreate",
  "properties": {
    "source_type": {
      "type": "string",
      "title": "Source Type",
      "description": "One of: url, document, api, file, manual"
    },
    "source_identifier": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 1,
      "title": "Source Identifier",
      "description": "URL, file path, API endpoint, or other identifier for the source."
    },
    "content_hash": {
      "type": "string",
      "maxLength": 64,
      "minLength": 64,
      "title": "Content Hash",
      "description": "SHA256 hex digest of the source content at ingestion time. Compute this yourself before calling: hashlib.sha256(content.encode()).hexdigest()"
    },
    "memory_ids": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Memory Ids",
      "description": "Optional list of memory IDs that were created from this source."
    }
  },
  "type": "object",
  "required": [
    "source_type",
    "source_identifier",
    "content_hash"
  ]
}