Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,549Letters: 14Defects: 1,323counted 1 min ago
teppi

Server definition

Hash
sha256:e706911c1925c3e59b5bd7a074a68788b68311a3fd64aaef9597e8ab5cfd1a72
What it is
What a remote MCP server returned when asked what it offers: 10 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Fetch the structured asset snapshot JSON for a scenario — the same content rendered in the PDF/Excel exports, in machine-readable form. Includes verdict, drivers, assumptions, evidence summary, and (if available) signed-export hashes pointing to the latest signed artifacts.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "scenario_id": { "description": "UUID of the scenario to fetch the asset snapshot payload for.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "scenario_id" ], "type": "object" }, "name": "get_dossier", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "description": "Structured asset snapshot payload mirroring the PDF/Excel exports. Top-level keys include verdict, drivers, assumptions, evidence, and (when available) signed_export hashes. See get_methodology('evidence-standards') for the full structure." } }, "required": [ "data" ], "type": "object" } }, { "description": "Fetch the evidence register entries for a scenario — the citations, sources, and supporting documents the analyst attached to back the assumptions. Use this when an analysis question references 'what's the evidence for X?'", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "scenario_id": { "description": "UUID of the scenario whose evidence register entries to fetch.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "scenario_id" ], "type": "object" }, "name": "get_evidence", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "description": "Array of evidence-register entries. Each entry has fields like assumption_path, source_url, source_date, excerpt, freshness, confidence — see /methodology/evidence-standards for the canonical schema.", "items": {}, "type": "array" } }, "required": [ "data" ], "type": "object" } }, { "description": "Fetch a PhaseFolio methodology section's full content (rNPV model, backtest, PoS calibration, IRA framework, development paths, deal-term modelling, holding valuation, clinical stage normalization, evidence standards, network benchmarks, COGS benchmark, SG&A benchmark, tax benchmark, SEC EDGAR deal-term extraction). Designed for citation: each section has a stable URL and a methodology version identifier you can reference in analysis output.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "section": { "description": "Which methodology section to fetch. 'rnpv' covers the core risk-adjusted NPV calculation: cumulative PoS, midpoint-discounted risk-adjusted development costs, the S-curve ramp/plateau/LOE revenue lifecycle net of COGS/SG&A/tax, WACC discounting, the rNPV and Unadjusted-NPV equations, Monte Carlo / expected NPV, and one-at-a-time sensitivity; 'backtest' covers the validation methodology and AUC/CI numbers; 'pos-calibration' covers the indication × modality × biomarker matrix, expanded modality normalization into the eight benchmark baselines, the scored multipliers including the model 2.6.0 biomarker_quality drug-specific multiplier (oncology solid tumor, Phase II/III), the Phase 1 ORR extracted-but-not-scored signal with its Phase 0 governance disclosure, and the non-scored drug-specific risk flags; 'ira-framework' covers the Year-9/Year-13 MFP cliff modeling and the separate IRA classification for expanded modalities such as RNA Therapeutics, Protein Degrader, Radioligand, Oncolytic Virus, and Cancer Vaccine; 'development-paths' covers development-path tiers, automatic-effect policy, and the no path-based PoS/default-multiplier rule; 'deal-term-modelling' covers how licensing deal terms map onto a scenario's deal structure (term-model mapping v1): what is modelled, not modelled and refused, the territory restriction and the approximations it names, milestone timing at stage ends, the cost-share rule, and the non-USD conversion-rate refusal; 'holding-valuation' covers how a Workspace holding is valued (scenario, share of asset value, look-through estimate, cost, not valued): each method's inputs, reason codes and completeness, the totals rules (never added across bases or currencies, estimates left out by default) and what the look-through estimate ignores; 'stage-normalization' covers exact clinical labels, work packages, canonical PoS gates, and the no label-only PoS modifier rule for Phase 1b/2a/2b, adaptive, pivotal, expansion, platform, bridging, and related labels; 'evidence-standards' covers source tiers and freshness rules; 'network-benchmarks' covers anonymization and cohort cuts; 'cogs-benchmark' covers the per-modality COGS% default bands and price-sensitivity methodology; 'sga-benchmark' covers the per-commercial-model SG&A% default bands (orphan/specialty/primary-care); 'tax-benchmark' covers the US-statutory-21% default tax rate, effective-rate reality, and the NOL cap; 'sec-deal-terms' is the retirement notice for the SEC EDGAR deal-term source (retired 2026-09-27), with its frozen versions.", "enum": [ "rnpv", "backtest", "pos-calibration", "ira-framework", "development-paths", "deal-term-modelling", "holding-valuation", "stage-normalization", "evidence-standards", "network-benchmarks", "cogs-benchmark", "sga-benchmark", "tax-benchmark", "sec-deal-terms" ], "type": "string" } }, "required": [ "section" ], "type": "object" }, "name": "get_methodology", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "additionalProperties": {}, "properties": { "citation_url": { "description": "Public canonical URL — cite this in analysis output.", "type": "string" }, "last_updated": { "description": "ISO 8601 date of the last meaningful edit.", "type": "string" }, "section_id": { "description": "Stable section identifier — reuse as the citation key.", "enum": [ "rnpv", "backtest", "pos-calibration", "ira-framework", "development-paths", "deal-term-modelling", "holding-valuation", "evidence-standards", "network-benchmarks", "cogs-benchmark", "sga-benchmark", "tax-benchmark", "sec-deal-terms" ], "type": "string" }, "summary": { "description": "Short summary suitable for inline quoting (≤500 chars).", "type": "string" }, "title": { "type": "string" }, "version": { "description": "Versioned identifier for this section's content, e.g. 'methodology@2026-04'.", "type": "string" } }, "required": [ "section_id", "title", "version", "citation_url", "summary" ], "type": "object" } }, "required": [ "data" ], "type": "object" } }, { "description": "Fetch a PhaseFolio project's metadata: indication, sub-indication, modality, biomarker, asset name, and stage at entry. Use this when you need to ground an analysis question in the project's clinical context before fetching scenarios.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "project_id": { "description": "UUID of the PhaseFolio project. Get from the project URL in the dashboard or from a prior list_scenarios call.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "project_id" ], "type": "object" }, "name": "get_project", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "additionalProperties": false, "properties": { "created_at": { "description": "ISO 8601 timestamp of project creation.", "type": "string" }, "current_stage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Current development stage, e.g. 'Phase 2'. Null for unset." }, "id": { "description": "Stable PhaseFolio project UUID.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "indication": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Indication, e.g. 'NSCLC' or 'Rheumatoid Arthritis'. Null for unset." }, "modality": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Modality, e.g. 'Antibody', 'Small Molecule'. Null for unset." }, "name": { "description": "Display name of the project.", "type": "string" }, "updated_at": { "description": "ISO 8601 timestamp of last project metadata update.", "type": "string" } }, "required": [ "id", "name", "indication", "modality", "current_stage", "created_at", "updated_at" ], "type": "object" } }, "required": [ "data" ], "type": "object" } }, { "description": "Fetch a PhaseFolio scenario's complete inputs (stage costs, durations, PoS, commercial assumptions, IRA settings) and computed outputs (eNPV, rNPV, cumulative PoS, per-stage breakdown, top sensitivity drivers). This is the authoritative model output — every signed export ties back to this payload.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "scenario_id": { "description": "UUID of the scenario. Get from list_scenarios or the scenario URL in the dashboard.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "scenario_id" ], "type": "object" }, "name": "get_scenario", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "additionalProperties": false, "properties": { "created_at": { "description": "ISO 8601 timestamp.", "type": "string" }, "id": { "description": "Scenario UUID. Pass to get_scenario, get_evidence, or get_dossier.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "inputs": { "description": "Full scenario inputs blob (stages, costs, durations, PoS, commercial assumptions, IRA settings). Schema mirrors the wizard input model." }, "is_base": { "description": "True if this is the base case scenario for the project.", "type": "boolean" }, "label": { "description": "Human-friendly scenario name, e.g. 'Base Case' or 'Bear Case'.", "type": "string" }, "mfp_discount": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "description": "IRA Maximum Fair Price discount magnitude (0–1) used in this scenario, if applicable." }, "modality": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Modality from inputs_json (echoed for convenience)." }, "model_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Model version that produced `result` (the result's own engine_version key). Null when the scenario has not been computed." }, "project_id": { "description": "UUID of the parent project.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "result": { "description": "Full model output blob: eNPV (USD M), rNPV (USD M), cumulative_pos, per_stage_breakdown[], top sensitivity drivers, optional Monte Carlo percentiles." }, "updated_at": { "description": "ISO 8601 timestamp of last scenario edit.", "type": "string" } }, "required": [ "id", "label", "project_id", "is_base", "created_at", "updated_at", "inputs", "result", "model_version", "modality", "mfp_discount" ], "type": "object" } }, "required": [ "data" ], "type": "object" } }, { "description": "List all scenarios in a PhaseFolio project. Returns scenario IDs, names, created/updated timestamps, and top-line eNPV/rNPV. Use this to discover what scenarios exist before fetching one in detail.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "limit": { "default": 50, "description": "Maximum number of scenarios to return (1–200). Defaults to 50; raise for projects with many what-if branches.", "maximum": 200, "minimum": 1, "type": "integer" }, "project_id": { "description": "UUID of the parent project whose scenarios to list.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "project_id", "limit" ], "type": "object" }, "name": "list_scenarios", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "description": "Scenarios in the project, newest first.", "items": { "additionalProperties": false, "properties": { "created_at": { "description": "ISO 8601 timestamp.", "type": "string" }, "id": { "description": "Scenario UUID. Pass to get_scenario, get_evidence, or get_dossier.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "is_base": { "description": "True if this is the base case scenario for the project.", "type": "boolean" }, "label": { "description": "Human-friendly scenario name, e.g. 'Base Case' or 'Bear Case'.", "type": "string" }, "project_id": { "description": "UUID of the parent project.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "updated_at": { "description": "ISO 8601 timestamp of last scenario edit.", "type": "string" } }, "required": [ "id", "label", "project_id", "is_base", "created_at", "updated_at" ], "type": "object" }, "type": "array" } }, "required": [ "data" ], "type": "object" } }, { "description": "Query PhaseFolio benchmark availability. Source-backed PoS benchmarks are available separately; network cost distributions and duration percentiles are planned but currently return coming_soon with null estimates rather than PhaseFolio's manual planning defaults.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "indication": { "description": "Indication name (e.g. 'NSCLC', 'Rheumatoid Arthritis', 'Atopic Dermatitis'). Free-form; the model fuzz-matches to the canonical indication taxonomy.", "type": "string" }, "metric": { "description": "Which benchmark family to request. Cost and duration network benchmarks are currently coming_soon and return no estimate; manual wizard defaults are not returned as benchmarks.", "enum": [ "pos", "cost", "duration", "all" ], "type": "string" }, "modality": { "description": "Optional modality filter ('Antibody', 'Small Molecule', 'Cell Therapy', 'Gene Therapy', etc.). Omit to return cross-modality stats.", "type": "string" } }, "required": [ "indication", "metric" ], "type": "object" }, "name": "query_benchmarks", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "additionalProperties": false, "description": "L1 (no-auth) returns a versioned headline set; L3 (bearer) will return granular slices once enough orgs are on the network.", "properties": { "available_metrics": { "description": "Network benchmark metric families with published numeric estimates.", "items": { "type": "string" }, "type": "array" }, "coming_soon": { "description": "Set when this metric family hasn't published yet; explains when it will.", "type": "string" }, "headlines": { "description": "Headline aggregates returned at the public tier.", "items": { "additionalProperties": false, "properties": { "metric": { "description": "Metric name, e.g. 'Phase II RA trial cost (median, USD M)'.", "type": "string" }, "n": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "description": "Sample size behind the value; null when status='coming_soon'." }, "status": { "description": "Status, e.g. 'live' or 'coming_soon'.", "type": "string" }, "value": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "description": "Numeric value; null when status='coming_soon'." } }, "required": [ "metric", "value", "n", "status" ], "type": "object" }, "type": "array" }, "methodology_url": { "description": "Path to the methodology section that explains how these were computed.", "type": "string" }, "note": { "description": "Plain-language benchmark-availability and provenance note.", "type": "string" }, "planning_defaults_excluded": { "description": "True when manual PhaseFolio planning defaults are intentionally excluded.", "type": "boolean" }, "version": { "description": "Stable version identifier of this benchmark snapshot, e.g. 'preview-2026-04'.", "type": "string" } }, "required": [ "version", "available_metrics", "planning_defaults_excluded", "note", "methodology_url" ], "type": "object" } }, "required": [ "data" ], "type": "object" } }, { "description": "Fetch human-reviewed drug-specific clinical-risk signals for a project, including biomarker quality, Phase 1 ORR flag-only data, provenance, extractor versions, and pending-review counts. Use this before interpreting model 2.6.0 drug-specific multipliers or flags.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "project_id": { "description": "UUID of the project whose reviewed drug-specific clinical-risk signals should be queried.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "project_id" ], "type": "object" }, "name": "query_drug_risk", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "additionalProperties": false, "description": "Drug-specific clinical-risk substrate for a project. Returns reviewed signals only; pending rows are counted but excluded from scoring.", "properties": { "drug_name": { "description": "Project asset name used to match reviewed drug-specific signal rows.", "type": "string" }, "extractor_versions": { "description": "Recent extractor prompt versions that produced this signal family.", "items": {}, "type": "array" }, "indication": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Project indication, if set." }, "modality": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Project modality, if set." }, "pending_count": { "description": "Number of matching signal rows still waiting for human review.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "phase1_orr_treatment": { "const": "flag_only_engine_2_6_0", "description": "Phase 1 ORR is surfaced but not scored in model 2.6.0.", "type": "string" }, "project_id": { "description": "Project UUID used to anchor the lookup.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "reviewed_count": { "description": "Number of reviewed approved/amended signals returned.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "scoring_gate": { "const": "reviewed_at_not_null", "description": "Human-review gate required before a signal can score.", "type": "string" }, "scoring_review_decisions": { "description": "Review decisions eligible for scoring or surfacing.", "items": { "type": "string" }, "type": "array" }, "signals": { "description": "Reviewed signal rows with provenance, extracted values, review state, and OR metadata.", "items": {}, "type": "array" } }, "required": [ "project_id", "drug_name", "indication", "modality", "reviewed_count", "pending_count", "scoring_gate", "scoring_review_decisions", "phase1_orr_treatment", "signals", "extractor_versions" ], "type": "object" } }, "required": [ "data" ], "type": "object" } }, { "description": "Produce a transparent, provenance-linked CONDITIONAL READ on a drug asset for deal triage. Pass either `text` (a teaser/abstract — fields are machine-extracted and the result is marked inputs_unconfirmed) or pre-confirmed `fields`. Returns a reasoning chain (each claim grounded or marked insufficient_evidence), mechanism-plausibility flags, PoS metrics, and a meta block with model/methodology/synthesis versions. Does NOT compute rNPV. Not an autonomous verdict.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "fields": { "additionalProperties": false, "description": "Pre-confirmed structured fields.", "properties": { "biomarker_strategy": { "default": "none", "type": "string" }, "comparators": { "default": [], "items": { "type": "string" }, "type": "array" }, "indication": { "type": "string" }, "modality": { "type": "string" }, "stage": { "type": "string" }, "target": { "type": "string" } }, "required": [ "modality", "target", "indication", "stage", "comparators", "biomarker_strategy" ], "type": "object" }, "text": { "description": "Unstructured asset text; triggers extraction (inputs_unconfirmed=true).", "type": "string" } }, "type": "object" }, "name": "triage_asset", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": {} }, "required": [ "data" ], "type": "object" } }, { "description": "Verify a signed PhaseFolio export by content hash. Returns verification status (valid/tampered/unknown), issued timestamp, methodology version, and an anonymized originating-org identifier. Use this when a user shares a PhaseFolio asset snapshot and you want to confirm it's authentic before citing the analysis.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "hash": { "description": "64-character hex SHA-256 of the signed artifact's content. Embedded in every signed PhaseFolio PDF (footer) and Excel (cover tab).", "pattern": "^[a-f0-9]{64}$", "type": "string" } }, "required": [ "hash" ], "type": "object" }, "name": "verify_export", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "description": "Canonical PhaseFolio envelope. Substantive payload is in `data`.", "properties": { "data": { "oneOf": [ { "additionalProperties": false, "properties": { "benchmark_dataset_versions": { "description": "Array of benchmark dataset versions used; '[]' for legacy rows." }, "content_hash": { "type": "string" }, "engine_version": { "description": "Deprecated alias of model_version, kept for existing clients.", "type": "string" }, "evidence_count": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "format": { "description": "Export format: 'pdf' or 'xlsx'.", "type": "string" }, "indication": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "methodology_version": { "description": "Methodology version stamp at signing time, e.g. 'methodology@2026-04'.", "type": "string" }, "modality": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "model_version": { "description": "Model version stamp at signing time. Sentinel 'unknown (pre-2026-05)' for legacy rows.", "type": "string" }, "org": { "description": "Anonymized originating-org identifier, or display name if the org opted into public attribution.", "type": "string" }, "signals_used": { "description": "Reviewed drug-specific signal provenance included in the signed content hash; [] for none or legacy rows." }, "signed_at": { "description": "ISO 8601 timestamp the artifact was signed at.", "type": "string" }, "status": { "const": "valid", "type": "string" } }, "required": [ "status", "content_hash", "signed_at", "methodology_version", "model_version", "engine_version", "benchmark_dataset_versions", "signals_used", "format", "org", "indication", "modality", "evidence_count" ], "type": "object" }, { "additionalProperties": false, "properties": { "message": { "type": "string" }, "status": { "const": "unknown", "type": "string" } }, "required": [ "status", "message" ], "type": "object" } ] } }, "required": [ "data" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e706911c1925c3e59b5bd7a074a68788b68311a3fd64aaef9597e8ab5cfd1a72 | sha256sum