{
  "openapi": "3.0.0",
  "info": {
    "title": "OligoVigil release API",
    "version": "20260604-core-validation-v45"
  },
  "servers": [
    {
      "url": "/"
    }
  ],
  "paths": {
    "/api/health": {
      "get": {
        "operationId": "get_api_health",
        "summary": "Service health and database presence.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/metadata": {
      "get": {
        "operationId": "get_api_metadata",
        "summary": "Release metadata, active manifest, access policy, and scope.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/stats": {
      "get": {
        "operationId": "get_api_stats",
        "summary": "Core table counts and evidence-grade counts.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/summary": {
      "get": {
        "operationId": "get_api_summary",
        "summary": "Aggregated source, modality, candidate, and evidence summaries.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/facets": {
      "get": {
        "operationId": "get_api_facets",
        "summary": "Facet values for UI filters and API clients.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/quality": {
      "get": {
        "operationId": "get_api_quality",
        "summary": "Access, curation, and release-quality checks.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/coverage": {
      "get": {
        "operationId": "get_api_coverage",
        "summary": "Coverage summaries across source years, journals, domains, and curation gaps.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/examples": {
      "get": {
        "operationId": "get_api_examples",
        "summary": "Reusable query and download examples for portal users.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/ask": {
      "get": {
        "operationId": "get_api_ask",
        "summary": "Grounded read-only natural-language query assistant over verified release evidence.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/help": {
      "get": {
        "operationId": "get_api_help",
        "summary": "Chaptered help guide for users, curators, benchmark reusers, and submitters.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/curation_protocol": {
      "get": {
        "operationId": "get_api_curation_protocol",
        "summary": "Curation protocol, provenance coverage, audit gate, and redistribution policy.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/data_availability": {
      "get": {
        "operationId": "get_api_data_availability",
        "summary": "Data availability statement, formats, archive status, and redistribution boundaries.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/release_status": {
      "get": {
        "operationId": "get_api_release_status",
        "summary": "Release gates, batch status, access policy, and public URL readiness.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/submission_pack": {
      "get": {
        "operationId": "get_api_submission_pack",
        "summary": "Release snapshot, adoption-readiness, blockers, and reuse-risk packet.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/field_completeness": {
      "get": {
        "operationId": "get_api_field_completeness",
        "summary": "Release evidence field completeness and structured-data upgrade queue.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/core_oligo_fields": {
      "get": {
        "operationId": "get_api_core_oligo_fields",
        "summary": "Prioritized sequence, modification, delivery, dose, exposure, and model curation gaps for release records.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/independent_validation": {
      "get": {
        "operationId": "get_api_independent_validation",
        "summary": "Independent second-review sampling frame, completion status, agreement metrics, and error-rate readiness.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/novelty_position": {
      "get": {
        "operationId": "get_api_novelty_position",
        "summary": "Closest-work novelty boundary and duplicate-resource red-warning status.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/archive_readiness": {
      "get": {
        "operationId": "get_api_archive_readiness",
        "summary": "DOI/archive upload checklist, Zenodo metadata draft, required files, and redistribution rules.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/adoption_packet": {
      "get": {
        "operationId": "get_api_adoption_packet",
        "summary": "Post-deployment usage-evidence plan, user groups, shareable workflows, and privacy-preserving event schema.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent_access": {
      "get": {
        "operationId": "get_api_agent_access",
        "summary": "Agent-ready access metadata, OpenAPI/MCP/Skill/SDK artifacts, guardrails, and workflow entry points.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent_connect": {
      "get": {
        "operationId": "get_api_agent_connect",
        "summary": "Tool-agnostic connection profiles for agentic clients, OpenAPI importers, MCP clients, and web-fetch agents.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/agent.json": {
      "get": {
        "operationId": "get_agent_json",
        "summary": "Universal OligoVigil agent discovery manifest.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/oligovigil-agent.json": {
      "get": {
        "operationId": "get_well_known_oligovigil_agent_json",
        "summary": "Well-known OligoVigil agent discovery manifest.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/ai-plugin.json": {
      "get": {
        "operationId": "get_well_known_ai_plugin_json",
        "summary": "OpenAPI action/plugin-style manifest for tools that support REST action import.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/mcp.json": {
      "get": {
        "operationId": "get_mcp_json",
        "summary": "Generic MCP client configuration for the bundled OligoVigil MCP server.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "get_llms_txt",
        "summary": "Concise machine-readable instructions for AI agents.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "operationId": "get_llms_full_txt",
        "summary": "Detailed machine-readable instructions for AI agents.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/citation": {
      "get": {
        "operationId": "get_api_citation",
        "summary": "Global resource citation, BibTeX, record citation, and benchmark citation policy.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/use_cases": {
      "get": {
        "operationId": "get_api_use_cases",
        "summary": "Task-oriented user workflows for safety lookup, benchmark reuse, and curation.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/case_workflows": {
      "get": {
        "operationId": "get_api_case_workflows",
        "summary": "Reusable case workflows with endpoints and release counts.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/sequence_coverage": {
      "get": {
        "operationId": "get_api_sequence_coverage",
        "summary": "Release-grade sequence/modification curation coverage and template link.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/offtarget_taxonomy": {
      "get": {
        "operationId": "get_api_offtarget_taxonomy",
        "summary": "Off-target mechanism taxonomy, release counts, benchmark counts, and caveats.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/sequence_search": {
      "get": {
        "operationId": "get_api_sequence_search",
        "summary": "Sequence parsing plus seed/off-target/modification evidence lookup.",
        "parameters": [
          {
            "name": "sequence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endpoint",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/safety_triage": {
      "get": {
        "operationId": "get_api_safety_triage",
        "summary": "Source-grounded safety triage report for sequence, target, chemistry, delivery, endpoint, and curation gaps.",
        "parameters": [
          {
            "name": "sequence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "helm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "delivery",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endpoint",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "species",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cell_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/safety_dossier": {
      "get": {
        "operationId": "get_api_safety_dossier",
        "summary": "Dossier-form export of source-grounded safety triage, evidence graph, risk matrix, and provenance links.",
        "parameters": [
          {
            "name": "sequence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "helm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "delivery",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endpoint",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "species",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cell_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/evidence_graph": {
      "get": {
        "operationId": "get_api_evidence_graph",
        "summary": "Design-to-evidence graph connecting design context, safety concerns, release records, source documents, and candidate gaps.",
        "parameters": [
          {
            "name": "sequence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "helm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "delivery",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endpoint",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "species",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cell_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/prov_graph": {
      "get": {
        "operationId": "get_api_prov_graph",
        "summary": "W3C PROV-compatible JSON profile for dossier derivation and source provenance.",
        "parameters": [
          {
            "name": "sequence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "helm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modification",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "delivery",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endpoint",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "species",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cell_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/bioschemas.json": {
      "get": {
        "operationId": "get_bioschemas_json",
        "summary": "Schema.org/Bioschemas-oriented Dataset JSON-LD metadata for discovery by search engines and AI agents.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/nlweb.json": {
      "get": {
        "operationId": "get_nlweb_json",
        "summary": "NLWeb-style natural-language tool discovery manifest for agentic and vibe-coding clients.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/nlweb.json": {
      "get": {
        "operationId": "get_well_known_nlweb_json",
        "summary": "Well-known NLWeb-style discovery manifest.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/modification_profile": {
      "get": {
        "operationId": "get_api_modification_profile",
        "summary": "Safety/off-target profiles grouped by modification, modality, and delivery terms.",
        "parameters": [
          {
            "name": "term",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/client_examples": {
      "get": {
        "operationId": "get_api_client_examples",
        "summary": "Copy-ready Python, R, and shell client snippets.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/submission_schema": {
      "get": {
        "operationId": "get_api_submission_schema",
        "summary": "Contribution/correction packet schema for curator-reviewed submissions.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/openapi.json": {
      "get": {
        "operationId": "get_api_openapi_json",
        "summary": "Machine-readable API index for lightweight client generation.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/download_manifest": {
      "get": {
        "operationId": "get_api_download_manifest",
        "summary": "Versioned download manifest with rows, bytes, SHA256, schema, and reuse policy.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/downloads": {
      "get": {
        "operationId": "get_api_downloads",
        "summary": "Alias for /api/download_manifest for users and tools expecting a downloads catalog.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/search": {
      "get": {
        "operationId": "get_api_search",
        "summary": "Unified text search across sources, molecules, candidates, and evidence.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/source_detail": {
      "get": {
        "operationId": "get_api_source_detail",
        "summary": "Source-level provenance packet by PMID, DOI, ID, or title query.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/evidence_records": {
      "get": {
        "operationId": "get_api_evidence_records",
        "summary": "Unified toxicity/off-target release evidence with provenance fields.",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "grade",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "modality",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/evidence_detail": {
      "get": {
        "operationId": "get_api_evidence_detail",
        "summary": "Citable single-record page payload with audit trail and source metadata.",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "entity_table",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entity_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/benchmark": {
      "get": {
        "operationId": "get_api_benchmark",
        "summary": "Reference benchmark tasks, split policy, eligibility, and baseline metric guidance.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/benchmark_baseline_results": {
      "get": {
        "operationId": "get_api_benchmark_baseline_results",
        "summary": "Deterministic reference baseline results for fixed benchmark splits.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/benchmark_tasks": {
      "get": {
        "operationId": "get_api_benchmark_tasks",
        "summary": "CSV-backed benchmark task cards for reusable ML benchmark citation.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/audit": {
      "get": {
        "operationId": "get_api_audit",
        "summary": "Curation audit trail.",
        "parameters": [
          {
            "name": "entity_table",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "validation_status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/sources": {
      "get": {
        "operationId": "get_api_sources",
        "summary": "Source records with q/source_type/year filters.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/curation_candidates": {
      "get": {
        "operationId": "get_api_curation_candidates",
        "summary": "Derived candidate annotations with domain/confidence/q filters.",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "confidence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/curation_queue": {
      "get": {
        "operationId": "get_api_curation_queue",
        "summary": "Candidate curation tasks with domain/priority/q filters.",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/evidence_release.csv": {
      "get": {
        "operationId": "get_api_download_evidence_release_csv",
        "summary": "Unified release evidence CSV.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/benchmark_reference_splits.csv": {
      "get": {
        "operationId": "get_api_download_benchmark_reference_splits_csv",
        "summary": "Deterministic Grade A/B reference benchmark splits.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/benchmark_baseline_results.csv": {
      "get": {
        "operationId": "get_api_download_benchmark_baseline_results_csv",
        "summary": "Deterministic reference baseline CSV for benchmark split sanity checks.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/benchmark_task_cards.csv": {
      "get": {
        "operationId": "get_api_download_benchmark_task_cards_csv",
        "summary": "Benchmark task-card CSV for citation and reuse.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/sequence_modification_curation_template.csv": {
      "get": {
        "operationId": "get_api_download_sequence_modification_curation_template_csv",
        "summary": "Molecule-level sequence/modification curation template.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/core_oligo_field_curation_packet.csv": {
      "get": {
        "operationId": "get_api_download_core_oligo_field_curation_packet_csv",
        "summary": "Prioritized core oligo field curation packet.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/independent_curation_validation_template.csv": {
      "get": {
        "operationId": "get_api_download_independent_curation_validation_template_csv",
        "summary": "Independent second-review validation template.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/curation_candidates_filtered.csv": {
      "get": {
        "operationId": "get_api_download_curation_candidates_filtered_csv",
        "summary": "Filtered candidate evidence CSV.",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "confidence",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/all_tables.zip": {
      "get": {
        "operationId": "get_api_download_all_tables_zip",
        "summary": "Bulk ZIP containing all core CSV tables.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/zip": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/download/oligovigil_agent_pack.zip": {
      "get": {
        "operationId": "get_api_download_oligovigil_agent_pack_zip",
        "summary": "ZIP containing universal manifests, MCP server, optional skill, clients, prompt pack, llms files, and starter templates.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/zip": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/manifest/{filename}": {
      "get": {
        "operationId": "get_api_manifest_filename",
        "summary": "Versioned manifest CSV by filename.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  }
}