{
  "openapi": "3.1.0",
  "x-comment": "GENERATED by the Citarium compiler — do not edit",
  "x-citarium-framework": "0.8.0",
  "info": {
    "title": "MythosData — read API",
    "description": "the source agents and humans cite for who a god is, what the primary texts actually say, and how one pantheon maps onto another. Every path here is emitted as a static file by the same build that wrote this document.",
    "version": "2026.903.201",
    "license": {
      "name": "CC-BY-4.0",
      "identifier": "CC-BY-4.0"
    }
  },
  "servers": [
    {
      "url": "https://mythosdata.dev"
    }
  ],
  "tags": [
    {
      "name": "Corpus",
      "description": "The knowledge itself: objects, their index and the evidence behind them."
    },
    {
      "name": "Deployment",
      "description": "What this deployment is and what it serves: manifests, versions, this document."
    }
  ],
  "paths": {
    "/llms-full/index.json": {
      "get": {
        "operationId": "getLlmsFullShards",
        "summary": "Index of the full corpus's pieces",
        "description": "Where each piece of llms-full.txt lives and how big it is. Join them in order with newlines and you have the whole file, byte for byte; the whole file is still served at /llms-full.txt for anyone who wants it in one request.",
        "tags": [
          "Corpus"
        ],
        "responses": {
          "200": {
            "description": "Index of the full corpus's pieces",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "whole",
                    "total_bytes",
                    "shard_bytes",
                    "join",
                    "shards"
                  ],
                  "properties": {
                    "whole": {
                      "type": "string",
                      "format": "uri"
                    },
                    "total_bytes": {
                      "type": "integer"
                    },
                    "shard_bytes": {
                      "type": "integer"
                    },
                    "join": {
                      "type": "string",
                      "description": "The separator to join the pieces with."
                    },
                    "shards": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "url",
                          "bytes"
                        ],
                        "properties": {
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "bytes": {
                            "type": "integer"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/feed.json": {
      "get": {
        "operationId": "getFeedJson",
        "summary": "JSON Feed of recent changes",
        "description": "JSON Feed 1.1. Its shape is that specification's, not ours.",
        "tags": [
          "Corpus"
        ],
        "responses": {
          "200": {
            "description": "JSON Feed of recent changes",
            "content": {
              "application/feed+json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/graph.json": {
      "get": {
        "operationId": "getGraph",
        "summary": "The relation graph",
        "description": "Nodes and edges between knowledge objects. Shape not specified here; read `nodes` and `edges`.",
        "tags": [
          "Corpus"
        ],
        "responses": {
          "200": {
            "description": "The relation graph",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/api/index.json": {
      "get": {
        "operationId": "getEntityIndex",
        "summary": "Every knowledge object, as cards",
        "description": "One entry per object with its identity, summary, tags and both URLs. This is the list to read before requesting any single object.",
        "tags": [
          "Corpus"
        ],
        "responses": {
          "200": {
            "description": "Every knowledge object, as cards",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/api/sources.json": {
      "get": {
        "operationId": "getSourceRegistry",
        "summary": "The evidence layer",
        "description": "Every source a claim in this corpus rests on, with its tier, reliability and licence.",
        "tags": [
          "Corpus"
        ],
        "responses": {
          "200": {
            "description": "The evidence layer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$schema": "https://json-schema.org/draft/2020-12/schema",
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
                        "description": "Stable source id, referenced by claims"
                      },
                      "title": {
                        "type": "string",
                        "minLength": 1
                      },
                      "url": {
                        "description": "Omit only for offline sources (books, interviews)",
                        "type": "string",
                        "format": "uri"
                      },
                      "publisher": {
                        "type": "string",
                        "minLength": 1
                      },
                      "tier": {
                        "type": "string",
                        "enum": [
                          "primary",
                          "secondary",
                          "derived"
                        ]
                      },
                      "reliability": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1,
                        "description": "Editorial judgement of the source's reliability, 0–1"
                      },
                      "license": {
                        "description": "SPDX id or human note; machine-readable when possible",
                        "type": "string",
                        "minLength": 1
                      },
                      "accessed": {
                        "type": "string",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "description": "Date the source was last accessed/verified"
                      },
                      "notes": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title",
                      "tier",
                      "reliability",
                      "accessed"
                    ],
                    "additionalProperties": false
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "getOpenapi",
        "summary": "This document",
        "description": "The generated OpenAPI 3.1 description of these paths. Regenerated by every build, so it cannot describe an API this instance no longer serves.",
        "tags": [
          "Deployment"
        ],
        "responses": {
          "200": {
            "description": "This document",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/status.json": {
      "get": {
        "operationId": "getStatus",
        "summary": "What this deployment is running",
        "description": "Runtime SemVer, corpus snapshot version, object count, corpus hash and the date the knowledge last moved — plus the MCP endpoint and the protocol revisions it answers. Answering 'which version am I talking to' used to require reading four surfaces and guessing which number meant what.",
        "tags": [
          "Deployment"
        ],
        "responses": {
          "200": {
            "description": "What this deployment is running",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "live",
                    "instance",
                    "runtime_version",
                    "corpus_version",
                    "corpus_hash"
                  ],
                  "properties": {
                    "live": {
                      "type": "boolean"
                    },
                    "instance": {
                      "type": "string"
                    },
                    "runtime_version": {
                      "type": "string",
                      "description": "SemVer of the software and the tool contract."
                    },
                    "corpus_version": {
                      "type": "string",
                      "description": "Corpus snapshot, YYYY.MMDD.OBJECTS (ADR-017)."
                    },
                    "corpus_objects": {
                      "type": "integer"
                    },
                    "corpus_hash": {
                      "type": "string",
                      "description": "Digest of the knowledge, independent of when it was built."
                    },
                    "corpus_updated": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/.well-known/mcp/server.json": {
      "get": {
        "operationId": "getMcpManifest",
        "summary": "MCP server manifest",
        "description": "Where this instance's MCP server lives and what it declares.",
        "tags": [
          "Deployment"
        ],
        "responses": {
          "200": {
            "description": "MCP server manifest",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/skill.json": {
      "get": {
        "operationId": "getSkillManifest",
        "summary": "Skill manifest",
        "description": "The agent skill this instance publishes.",
        "tags": [
          "Deployment"
        ],
        "responses": {
          "200": {
            "description": "Skill manifest",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": "Not served by this deployment — the manifest at /ai-index.json lists what is."
          }
        }
      }
    },
    "/api/k/{id}.json": {
      "get": {
        "operationId": "getKnowledgeObject",
        "tags": [
          "Corpus"
        ],
        "summary": "One knowledge object",
        "description": "The full object as served: everything its author wrote, plus the URLs and the schema.org projection the compiler adds.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The object's id. The complete list is at /api/index.json — it is not repeated here.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The knowledge object",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                    },
                    "type": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "entity",
                            "guide",
                            "comparison",
                            "faq",
                            "glossary"
                          ]
                        },
                        {
                          "type": "string",
                          "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                        }
                      ]
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "summary": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 500
                    },
                    "locale": {
                      "type": "string",
                      "const": "en",
                      "description": "v0.1 is single-locale by scope; declaring a locale is a contract (pt-BR incident)"
                    },
                    "tags": {
                      "minItems": 1,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                      }
                    },
                    "relations": {
                      "default": [],
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rel": {
                            "type": "string",
                            "pattern": "^[a-z][a-z0-9_]*$"
                          },
                          "target": {
                            "type": "string",
                            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
                            "description": "id of another knowledge object in this instance"
                          }
                        },
                        "required": [
                          "rel",
                          "target"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "questions": {
                      "default": [],
                      "description": "Real questions this object answers (feeds FAQ/AAR intents)",
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "claims": {
                      "minItems": 1,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^c\\d+$"
                          },
                          "text": {
                            "type": "string",
                            "minLength": 1,
                            "description": "The assertion, as published"
                          },
                          "sources": {
                            "minItems": 1,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                            },
                            "description": "Source ids backing this claim. No sources → compiler refuses to publish."
                          },
                          "confidence": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1
                          }
                        },
                        "required": [
                          "id",
                          "text",
                          "sources",
                          "confidence"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "takeaways": {
                      "default": [],
                      "description": "The 2-5 things a reader/agent should retain. Guides and comparisons want these.",
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "faqs": {
                      "default": [],
                      "description": "Question→claim bindings; the compiler projects them as FAQPage JSON-LD",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "q": {
                            "type": "string",
                            "minLength": 5
                          },
                          "claim": {
                            "type": "string",
                            "pattern": "^c\\d+$"
                          }
                        },
                        "required": [
                          "q",
                          "claim"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "evidence_tier": {
                      "type": "string",
                      "enum": [
                        "primary",
                        "secondary",
                        "derived"
                      ],
                      "description": "Contract: the weakest tier among this object's claims' sources"
                    },
                    "evidence": {
                      "type": "object",
                      "properties": {
                        "level": {
                          "type": "string",
                          "enum": [
                            "production",
                            "simulation",
                            "benchmark",
                            "industry_observation",
                            "theoretical"
                          ]
                        },
                        "source_types": {
                          "minItems": 1,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "personal_experience",
                              "production_system",
                              "benchmark",
                              "paper",
                              "industry_observation"
                            ]
                          },
                          "description": "One or more provenance sources, strongest first"
                        }
                      },
                      "required": [
                        "level",
                        "source_types"
                      ],
                      "additionalProperties": false
                    },
                    "moat_flag": {
                      "default": false,
                      "description": "True if this object carries proprietary evidence (the moat)",
                      "type": "boolean"
                    },
                    "winning_edge": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Why this piece wins its intent vs. the best existing source (v2.3 §1)"
                    },
                    "confidence": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "last_verified": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                    },
                    "body": {
                      "description": "Markdown prose (from .md body). Optional for pure-data objects.",
                      "type": "string"
                    },
                    "media": {
                      "default": [],
                      "description": "ADR-025: imágenes como unidades citables, atribuidas y licenciadas",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
                            "description": "La imagen tiene que ser citable por sí misma"
                          },
                          "file": {
                            "description": "Ruta relativa a la raíz de la instancia. Excluyente con `url`.",
                            "type": "string",
                            "minLength": 1
                          },
                          "url": {
                            "description": "URL del MISMO origen que canonical_base_url. Excluyente con `file`.",
                            "type": "string",
                            "format": "uri"
                          },
                          "variants": {
                            "default": [],
                            "description": "Rutas de la misma imagen a otros tamaños; el ancho se mide del fichero",
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "alt": {
                            "type": "string",
                            "minLength": 1,
                            "description": "Obligatorio: lo único que lee un agente sin visión"
                          },
                          "license_spdx": {
                            "type": "string",
                            "minLength": 1,
                            "description": "Obligatorio: sin licencia, nadie puede reutilizarla"
                          },
                          "license_grant": {
                            "description": "ADR-028: qué se puede hacer con esta imagen, acción por acción",
                            "type": "object",
                            "properties": {
                              "subject_type": {
                                "type": "string",
                                "enum": [
                                  "public",
                                  "personal_agent",
                                  "enterprise_agent",
                                  "organization"
                                ]
                              },
                              "actions": {
                                "minItems": 1,
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "read",
                                    "display",
                                    "analyze",
                                    "embed",
                                    "cache",
                                    "cite",
                                    "derive",
                                    "redistribute",
                                    "sublicense",
                                    "train",
                                    "commercial_use",
                                    "resell"
                                  ]
                                },
                                "description": "Lo que se concede. Lo que no está aquí, no está concedido"
                              },
                              "purposes": {
                                "default": [],
                                "description": "Para qué. Vacío = sin restricción de propósito",
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "minLength": 1
                                }
                              },
                              "territories": {
                                "default": [],
                                "description": "Dónde. Vacío = sin restricción territorial",
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "pattern": "^[A-Z]{2}$"
                                }
                              },
                              "valid_until": {
                                "description": "Hasta cuándo. Ausente = sin caducidad declarada",
                                "type": "string",
                                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                              },
                              "attribution_required": {
                                "default": true,
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "subject_type",
                              "actions",
                              "purposes",
                              "territories",
                              "attribution_required"
                            ],
                            "additionalProperties": false
                          },
                          "permissions": {
                            "description": "ADR-029: qué usos autoriza esta imagen. Ausente = solo mostrarla a personas",
                            "type": "object",
                            "properties": {
                              "humanDisplay": {
                                "type": "boolean"
                              },
                              "machineDisplay": {
                                "type": "boolean"
                              },
                              "machineAnalysis": {
                                "type": "boolean"
                              },
                              "embedding": {
                                "type": "boolean"
                              },
                              "derivativeCreation": {
                                "type": "boolean"
                              },
                              "redistribution": {
                                "type": "boolean"
                              },
                              "commercialReuse": {
                                "type": "boolean"
                              },
                              "modelTraining": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          },
                          "credit": {
                            "type": "string",
                            "minLength": 1,
                            "description": "Quién la hizo; sin esto no hay atribución posible"
                          },
                          "caption": {
                            "description": "Prosa para humanos",
                            "type": "string",
                            "minLength": 1
                          },
                          "depicts": {
                            "default": [],
                            "description": "Qué muestra, en términos del dominio",
                            "type": "array",
                            "items": {
                              "type": "string",
                              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                            }
                          },
                          "captured": {
                            "description": "Cuándo — en viajes, una foto de hace ocho años miente",
                            "type": "string",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                          },
                          "supports": {
                            "description": "La claim que evidencia, si evidencia alguna",
                            "type": "string",
                            "pattern": "^c\\d+$"
                          }
                        },
                        "required": [
                          "id",
                          "variants",
                          "alt",
                          "license_spdx",
                          "credit",
                          "depicts"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "x": {
                      "default": {},
                      "description": "ADR-027: campos declarados por la instancia en `extensions`",
                      "type": "object",
                      "propertyNames": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                      },
                      "additionalProperties": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      }
                    },
                    "canonical_url": {
                      "type": "string",
                      "format": "uri",
                      "description": "The human page for this object. Added by the compiler; not authored."
                    },
                    "api_url": {
                      "type": "string",
                      "format": "uri",
                      "description": "This document's own URL, so a copy of it can be traced back. Added by the compiler."
                    },
                    "jsonld": {
                      "type": "object",
                      "description": "schema.org projection of this object, the same one embedded in the page."
                    }
                  },
                  "required": [
                    "id",
                    "type",
                    "name",
                    "summary",
                    "locale",
                    "tags",
                    "relations",
                    "questions",
                    "claims",
                    "takeaways",
                    "faqs",
                    "evidence_tier",
                    "evidence",
                    "moat_flag",
                    "winning_edge",
                    "confidence",
                    "last_verified",
                    "media",
                    "x",
                    "canonical_url",
                    "api_url",
                    "jsonld"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "404": {
            "description": "No object with that id in this corpus"
          }
        }
      }
    }
  }
}
